Как закрыть ссылку от индексации при помощи javascript
О том как закрыть внешние ссылки от индексации оптимизаторы думают ежедневно. Есть множество способов, о многих из них, думаю вы знаете.
В этой статье пойдет речь о нестандартном способе закрытия ссылок при помощи javascript, а именно jQuery. Пройдемся по всем известным способам закрытия ссылок и в конеце соатновимся подробнее на самом эффективном.
Как закрыть внешнюю ссылку при помощи noindex и nofollow
Это классический и общедоступный способ. Можно запретить индексацию ссылки при помощи атрибута nofollow. Делается это так:
<a href="site.ru" rel="nofollow">Текст ссылки</a>
Вроде бы мы "сказали" поисковикам, что по этой ссылке не нужно переходить. Но алгоритмы давно поменялись и вес сайта все равно перетекает по этой ссылке. Но вместо того чтобы попасть на сайт, который указан в этой ссылке, просто уходит вникуда. Ни себе ни людям)
Получается что наш сайт все равно потеряет вес из-за этой незакрытой внешней ссылки.
Есть и другое мнение, что вес все таки доходит до конечного сайта, но думаю, нас это не должно сильно радовать.
Для пущей уверенности мы можем закрыть ссылку вот так:
<noindex><a href="site.ru" rel="nofollow">Текст ссылки</a></noindex>
Тут мы говорим поисковикам, что не нужно индексировать текст между этими тегами. Что же происходит на самом деле? Робот поисковика все равно пройдется по этой ссылке и прочтет текст внутри нее, но эта ссылка не будет участвовать в сниппете и ранжировании. К тому же в итоге из-за ссылки закрытой в noindex мы получаем невалидный код на выходе. Такой способ конечно имеет место быть... но он не идеален.
Наконец мы подошли к еще одному простейшему способу закрытия ссылок, при помощи javascript.
Как закрыть ссылку при помощи javascript (jQuery)
Раньше, когда оптимизаторы говорили о закрытии внешних ссылок при помощи js, мне казалось это чем-то нереальным. На деле же все просто и эффективно.
Я представлю код написанный на jQuery, поэтому если будете его использовать, убедитесь что у вас подключена эта библиотека (обычно она есть на всех движка).
$(document).ready(function(){
$("a[data-href]").each(function(){
$(this).attr('href', $(this).attr('data-href'));
});
});
Что делают эти волшебные три строчки?
Пока ничего. Теперь нужно при добавлении очередной внешней ссылке прописывать ее вот так:
<a href="#" data-href="site.ru">Текст ссылки</a>
Как видите никаких ноуфоллоу и ноуиндекс. В адресе внешней ссылки мы указываем просто вот этот знак #, он служит заглушкой. А в атрибуте data-href указываем уже адрес сайта. Благо HTML5 наградил нас возожностью использовать новый атрибут data.
Что делает скрипт?
Он находит все ссылки с атрибутом data-href и содержимое атрибута вставляет в классический атрибут href нашей ссылки. Т.е. для пользователя это самая обычная ссылка, с адресом. Для робота же это ссылка с адресом #, т.е. никуда не видущая. Все работает на уровне javascript.
Мне кажется это идеальным красивым вариантом. Можно быть уверенным что ваша ссылка закрыта от индексации и размещать на странице ссылки на внешние сайты не боясь за последствия.