Вопрос скрытия внешних ссылок от индексации Гуглом или Яндексом очень актуальный. На эту тему были проведены множества экспериментов, и все они приходили к тому, что скрытие ссылки с помощью JavaScript работает. Но есть 1 условие — сам скрипт подмены любого блочного тега на тег ссылки необходимо прописывать во внешнем файле, который должен быть закрыт от индексации для поисковых роботов.
Т.е., алгоритм такой:
<span class="data-link" data-href="http://www.site.com/"> .. </span>
, где, как видно, в дата-параметре вы указываете адрес будущей ссылки и добавляете специальный класс, по которому и будут отбираться эти теги — class="data-link"
.Disallow: /path-to-script-folder/script-name.js
И сам скрипт, который заменяет любые дата-параметры на аттрибуты ссылки. К примеру — <span class="data-link" data-class="my-class" data-title="Ссылка на внешний сайт">..</span>
после работы скрипта станет ссылкой <a class="my-class" title="Ссылка на внешний сайт">..</a>
.
$(document).ready(function() { $('.data-link').replaceWith(function() { var _a0 = document.createElement('a'); var ds = $(this).data(); for (var p0 in ds) { if (p0 !== 'gaq') { _a0.setAttribute(p0, ds[p0]); } else { var _data = ds[p0].split(','); $(_a0).bind('click', function() { if (window._gaq) window._gaq.push(_data); }); } } $(_a0).html($(this).html()); return _a0; }); });
Скрипт проверен на рабочих сайтах, продвигаемых глобально, в Штатах и в Украине. Работает как нужно, санкций или пессимизации сайта не замечено, рост позиций происходит прогнозируемо и ожидаемо.
Есть, конечно-же, и обратная сторона медали. Замена ссылки происходит после загрузки страницы (точнее, после document.ready) и поэтому сам процесс замены может быть виден пользователю. Поэтому стоит дать и ссылке, и тегу <span> одинаковые стили, чтоб подмена тегов не прошла визуально заметной.
Также, при выключенном javascript, подмена ссылки не произойдет, и пользователи увидят обычный текст в месте ссылки.