Простой метод скрыть внешние ссылки от индексации поисковыми роботами

Вопрос скрытия внешних ссылок от индексации Гуглом или Яндексом очень актуальный. На эту тему были проведены множества экспериментов, и все они приходили к тому, что скрытие ссылки с помощью JavaScript работает. Но есть 1 условие — сам скрипт подмены любого блочного тега на тег ссылки необходимо прописывать во внешнем файле, который должен быть закрыт от индексации для поисковых роботов.

Т.е., алгоритм такой:

  • вы вставляете скрипт, который я дам ниже, в внешний файл .js и подключаете его к сайту
  • все ссылки, которые должны быть скрыты, вы заменяете на тег <span class="data-link" data-href="http://www.site.com/"> .. </span>, где, как видно, в дата-параметре вы указываете адрес будущей ссылки и добавляете специальный класс, по которому и будут отбираться эти теги — class="data-link".
  • в файле robots.txt сайта прописываете запрет индексации внешнего файла скрипта следующим образом: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, подмена ссылки не произойдет, и пользователи увидят обычный текст в месте ссылки.