Как закрыть ссылку от индексации

Как закрыть ссылку от индексации
Автор блога
Андрей WPM

Андрей WPM

Исходящие ссылки – как закрывать?

Привет всем, уважаемые веб-мастера! В этой статье, я расскажу, какими способами можно закрыть внешние ссылки от индексации в 2019 году. А так же, какие способы уже перестали работать.

Наверняка, вы уже наткнулись на большинство представленных в интернете способов закрыть ссылку от индексации. И каждый из этих способов, прекрасно работал, до недавнего времени. Но, уже не работают! smile Правда вы об этом ещё не знаете. Ну ничего, сейчас всё объясню.

Для начала, давайте напомню, что можно сделать,  чтобы запретить индексацию ссылок:

  1. Запрет индексации ссылок с помощью js. Это когда вы создаёте специальный span с параметрами и с помощью js налету заменяете его на обычную ссылку после загрузки страницы.
  2. Скрыть ссылку от индексации с помощью редиректа. Этот способ кажется более солидным и "безопасным", так как редирект происходит на специальной странице (прокладке).
  3. Не индексировать ссылку превращая её в кнопку. Способ достаточно действенный, даже можно сказать один из самых лучших, но требует не мало трудозатрат для реализации.

В принципе, существует всего три способа, которые вы сможете найти в интернете. А все другие способы, так или иначе базируются на одном из них. Так что, смысла не вижу перечислять остальные. Ну а теперь, давайте я расскажу, какими способами стоит пользоваться в 2019 году.

. Скрытие от индексации с помощью js скрипта уже не работает! Поисковые роботы научились воспроизводить скрипты на сайте. Поэтому все ссылки, которые делаются с помощью js успешно индексируются. В статье, я покажу наглядное доказательство.

. Запрет индексации с помощью прокладки и редиректа работает, но имеет большие проблемы с безопасностью. Не рекомендую данный метод. Рано или поздно, можете пожалеть. Об этом я тоже расскажу ниже.

. Замена обычных ссылок на кнопки, живет и будет жить скорее всего всегда. Но не каждый ВМ будет этим пользоваться, так как сделать подобные ссылки в большом количестве трудновато. Как можно реализовать данный способ я расскажу далее.


 

Доказательство, что js ссылки индексируются.

До недавнего времени, я как и многие из вас, свято верил в этот метод. Естественно начитавшись статей спецов из интернета. И находя такие статьи, мы обычно не смотрим на дату публикации и внимаем эту информацию в надежде, что она до сих пор работает. Но не в этом случае.

Я как порядочный веб-мастер, мониторю свои сайты через вебмастера Яндекс и Google. И однажды, я заметил ссылку с сайта моего коллеги по цеху, на котором я уверен, что ссылки закрыты js скриптом. Речь идёт о блоге Павла Коновалова. Ссылка появилась из комментария, где я его оставил.

Ссылки в Яндексе
Проиндексированные ссылки в Яндексе

Я сначала подумал, что он убрал этот скрипт и оставил простые ссылки в комментариях. Но когда я зашел на его блог и выключил javascript, то увидел тот самый span без ссылки. Из этого делаю вывод: что js ссылки индексируются Яндексом. А что же с Гуглом?

Ссылки в Гугле
Проиндексированные ссылки в Google

Здесь мы видим, 8 ссылок на статью (это я покупал рекламное место в сайдбаре) и 2 ссылки на домен. Как раз эти 2 ссылки с комментариев которые "закрыты" js скриптом. Кстати, рекламный баннер тоже был сделан через редирект (не знаю какой плагин). Отсюда делаю вывод, Google тоже без проблем индексирует эти ссылки.

Вывод по блоку.

Данный метод закрытия ссылок от индексации, торжественно можно считать мёртвым. Всплакнем, помянем и переходим к следующему способу – php редиректы.


 

Редирект php через прокладку = Дыра!

Большинство рекомендаций в интернете направлены в две стороны. Одни рекомендуют ставить специальные плагины, вторые делают это в ручную. И как известно, из-за бытующего мнения, что плагины это "зло", люди стараются прибегать к способам ручного характера. Но зачастую, эти способы разработаны крайне не обдумано, что в свою очередь, может привести к плачевным последствиям. Сейчас объясню, почему я так в этом уверен.

Возьму пример реализации из того же топа по запросу "редирект внешних ссылок php". Там предлагается создать промежуточный файл и в него поместить код такого вида:

<? 
$site = $_GET['site']; 
sleep(5); // задержать выполнение сценария на 5 секунд
Header ("Location:".$site.""); 
exit();
?>

А в ссылку передавать адрес этого файла и к нему ещё добавлять GET параметр с адресом, на который нужно сделать редирект. Выглядит это примерно так:

<a href="https://wpmaster.kz/goto.php?site=http://www.google.com/" target="_blank" class="link_a">Ссылка на Google</a>

Этим же способом пользуются и плагины. Только в отличии от этого кода, некоторые плагины ещё и делают проверку, но далеко не все. Так в чём же дыра, спросите вы? А дыра заключается в том, что ваш сайт с таким редиректом, сможет использовать любой веб-мастер в качестве прокладки. Вот несколько примеров использования не защищенного редиректа через прокладку:

  • У любой рекламной сети, есть черный список доменов, на которые нельзя запускать рекламу. Но это можно легко обойти. Взять ссылку вашего домена https://wpmaster.kz/goto.php?site=*** и подставить вместо звёздочек нужный адрес сайта. РС скорее всего пропустит ваш домен, так как его нет в черном списке, а по факту, ваш сайт будет вести на какое-нибудь гавно, запрещенное для рекламы.
  • Этим же способом, можно манипулировать для любых целей, связанные с черными списками доменов. Например для обхода блокировок на каких-то сервисах и так далее.

В общем, это огромная дыра в безопасности сайта, о которой владельцы даже не задумываются. Вычислить то, что вашим редиректом кто-то пользуется, не так то просто, но можно. Если вы вдруг увидели резкий скачок посещений с отказами, значит скорее всего ваш редирект кто-то начал окучивать. Арбитражников море, может это сделать кто угодно. Или же в открытую один из вебмастеров Яндекс или Google напишет, что вы словили какой нибудь фильтр или ещё какую-то "бяку".

Как обезопасить php редирект с прокладкой?

Самый рабочий способ, это использовать так называемые белые и черные списки. То есть, данные скрипты нужно переписать так, чтобы они проверяли какой домен идет на редирект и если этого домена нет в белом списке – редирект не производить. В таком случае, левые адреса уже не пролезут и вы обезопасите свой сайт. Но за этими списками придется постоянно следить и обновлять. То ещё занятие, если честно. Кстати, очень не плохой способ в 2 этапа предоставил автор блога Tod's Blog, почитайте если интересно.

Вывод по блоку.

Данный способ имеет право на существование, но не в таком виде, в каком он сейчас представлен. Но если вы доработаете этот способ до ума, то в этом случае пользоваться можно. А пока что, я бы не рекомендовал его использовать на своих сайтах.


 

Закрыть индексацию заменой ссылок на кнопки.

Суть данного способа довольно проста. Вместо обычных ссылок нужно использовать формы, а точнее кнопку. Предварительно её стилизовать с помощью css чтобы кнопка была похожа на обычную ссылку. Внедрить такой способ можно в статью вручную, а вот чтобы внедрить этот способ в шаблон, придется "помудохаться". Я пока не решился на такой эксперимент, хотя уверен, что он пройдет успешно.

Сам процесс происходит в два этапа. На первом этапе, вы посылаете запрос на сервер с нужным параметром, в котором содержится адрес нужной ссылки. Сервер обрабатывает эту ссылку и посылает ответ, который перенаправляет пользователя на нужную страницу. Этот способ так же не без изъянов. Он не может открывать ссылку в новой вкладке, так как редирект происходит на стороне сервера, а php не может манипулировать браузерами. Да и если хорошенько проанализировать, то ещё можно найти несколько существенных недостатков.

Данный способ полностью исключает возможность индексации ссылки, так как поисковые роботы никогда не посылают никакие запросы. Формы для них представляются в не рабочем состоянии. Как закрыть индексацию ссылок с помощью данного метода хорошо описано на блоге DrMax.

Вывод по блоку.

Достаточно не плохой способ, но он скорее подходит для внутренней изоляции ссылок, так как не умеет открывать в новом окне. Но если это вас не смущает, то использовать его конечно же можно. На сегодняшний день, это чуть ли не единственный 100% вариант закрыть ссылку от индексации.


 

Как же закрыть внешние ссылки от индексации?

Судя по тенденциям на 2019 год, скоро и php редиректы будут успешно индексироваться. Это совсем не за горами. Остается 100% вариант, использовать формы вместо ссылок. Но это муторно капец.

От себя могу предложить следующий вариант. Прочитайте пояснение внимательно и вы поймёте логику, которая меня на этот вариант подтолкнула.

Смысл прост. Берем js скрипт который превращает span в ссылку и ставим ему таймаут в 20 или даже 30 секунд. В этом случае, ссылка появиться только после этого времени. А если логически подумать, то поисковый робот не станет проводить по 20 секунд на одной странице сайта, он за это время обойдет 10 страниц (это к примеру). Логика такая, что ссылка будет появляться только для пользователей, которые будут находится на странице больше 20 секунд. До этого времени, ссылки физически не будет, а будет span.

Честно говоря, не знаю пока ещё точно, сработает ли эта манипуляция или нет. Я только недавно начал это тестировать, и пока сказать что-то рано. Если вы хотите проверить этот метод, то напишите какой-нибудь коммент к этой статье и в поле укажите свой сайт. И подождите некоторое время. Если ссылка появиться в вебмастере, то значит метод с задержкой не работает. В этом случае, буду очень признателен, если вы об этом сообщите.

Мой метод скрытия ссылок от индексации (BETA).

Метод достаточно прост. Берём скрипт, который превращает определенный span с параметрами в ссылку и добавляем к нему функцию таймаута на 20-30 секунд. В конечном итоге скрипт будет выглядеть вот так:

<script>
+function($){
  $(document).ready(setTimeout(function(){
    $('.span-link').replaceWith (function (){return'<a href="'+$(this).data('link')+'" rel="nofollow" target="_blank" class="link_a">'+$(this).html()+'</a>';});
  }, 20000));
}(jQuery);
</script>

Берём данный скрипт и вставляем его в конце документа прямо перед закрывающим тегом </body>. Он находится в файле footer.php. Не забудьте сохранить изменения. Далее, заменяем нужные ссылки на такую конструкцию:

<span class='span-link' data-link='адрес-ссылки'>Анкор ссылки</span>

После этого сбрасываем кэш в плагине, если он есть и браузере клавишами CTRL+F5 и проверяем работу скрипта. Ссылка должна появиться спустя 20 секунд после полной загрузки страницы. Временем можно поиграть и подстроить так, как вам нужно. Я установил 20 секунд, думаю этого будет достаточно. Ну а помочь проверить сможет каждый из вас. Для этого просто оставьте комментарий и укажите в поле свой сайт. А через некоторое время проверьте в вебмастере ссылку с wpmaster.kz, если она есть, значит метод не сработал. Хотя я придерживаюсь мнения, что всё-таки сработает. По крайней мере это логично.

А на этом у меня сегодня всё, увидимся на страницах блога.

Андрей WPM
Опубликовал - Андрей WPM

Друзья, блогу нужна ваша поддержка. Если вам понравилась статья или она вам помогла решить задачу, поделитесь ею в одной из соцсетей. Этим вы поможете дальнейшему развитию. Всем активистам - спасибо!


CTRL+D

Бонус для читателей WPMaster.kz. Предлагаю познакомиться с новым разделом на блоге - Промокоды. Только самые лучшие и нужные промокоды для покупок плагинов, тем, обучения, сервисов и т.д.



11
Вопросы не по теме статьи, задавайте в разделе "Флудилка".

avatar
1000
  Подписаться  
новее старее
Уведомление о
Павел Коновалов
30 комм.
Павел ( konovalovpavel.ru )

Андрей, привет. Как эксперимент? Обнаружил, чт плагин которым пользовался для закрытия ссылок, перестал работать. И вот каким образом. Текст на сайте (анкор) не является ссылкой, а просто текст. И это во всех статьях. А я думаю что у меня случилось?
Написал в саппорт, но пока молчок.
В статье про нужные плагины ты пишешь про WP-External link. Сам пользовался им? Он по ходу закрывает абсолютно все исходящие ссылки, а мне бы этого не хотелось. Я некоторые оставляю открытые.
Не знаешь такой, чтобы закрывать самостоятельно? Искал сам, но не нашел. Если не знаешь - не парься.

Сергей
1 комм.
Сергей

Всем добра.
А кто знает, как тут wpnull точка org/themes/jupiter-1-9-1 реализована внешняя ссылка?
Вот жмите сюда https://prntscr.com/p2ma1o для проверки