Вот некоторые проблемы, которые я вижу:
- В фрагменте кода нет ajax
- Вы передаете элемент привязки-тега в link (), а не в href
- Это не повлияет на сканеры страниц, поскольку сканеры не выполняют JS
- # и все, что после него не будет передано на ваш сервер
Если я предполагаю, что у вас где-то есть ajax, то это все равно не сработает по причинам 2 и 3 (при условии, что ваш запрос ajax должен быть отправлен в корень)
Изменить это:
$('a').attr('href', link(this));
к этому:
$(this).attr('href', link($(this).attr('href')));
Это немного сумбурно, но это единственный способ изменить только выбранный элемент, используя только jQuery-isms.
Я не вижу смысла делать это так, как вы. Если вы ищете это , я не думаю, что веб-сканеры Google интерпретируют JS (это займет слишком много времени в том масштабе, в котором они сканируют). Вам нужно будет поместить это в сам HTML.