Необходимость скрыть ссылку от индексации поисковыми системами вызвана различными SEO задачами. Во-первых, скрытие маловажных ссылок от индексации позволяет организовать правильную перелинковку в пределах сайта, передать вес нужным разделам и страницам, а не распылить вес страницы по вторичным, не требующим внимания закоулкам сайта.
Во-вторых, скрывая отдельные ссылки от поисковых систем, «ссылочный сок» страницы делится только между открытыми ссылками.
В третьих, часто приходится скрывать от индексации внешние ссылки, не заслуживающие прямой и честной ссылки (например реферальные ссылки).
В целом, задача надежного сокрытия ссылки от поисковых систем не имела до сих пор однозначного решения.
1. Как закрывают ссылки от индексации
Первым способом, запрещающим роботу ПС переходить по ссылке, является добавление к ней атрибута nofollow. Способ хорош своей простотой, но при этом ссылочный вес, выделяемый на ссылку с nofollow утекает в никуда, тем самым, после нескольких иттераций переиндексирования, снижая общий вес сайта в целом.
Почему это происходит?
Предположим есть страница с 3 внутренними ссылками. Есть определенный вес (ссылочный бюджет), который эта страница может передать в сумме для всех ссылок. Передаваемый вес по ссылке для каждой страницы равен ссылочному бюджету, деленному на число ссылок ( a href= ).
Если одна ссылка будет закрыта Nofollow, то выделяемый на неё вес не будет перераспределяться на две оставшиеся ссылки, а будет утерян. То есть 2 оставшиеся страницы получают не по 1/2 ссылочного бюджета, а по 1/3.
Вторым способом является закрытие ссылки Java скриптом. Разработаны десятки модификаций таких скриптов и я, традиционно, на протяжении многих лет, отправляю всех к Алаичу, в своего рода репозиторий способов закрытия ссылок от индексации.
Недостатков у такого способа ровно два:
- Часть скриптов не работает. Google научился их «разбирать» и понимать что там скрыто.
- При выключенных в браузере Java скриптах, ссылки становятся недоступными.
Ну и третьим, наиболее бестолковым способом является закрытие конечных страниц от индексации (в robots.txt или метатегами robots). При этом полностью теряется ссылочный вес, передаваемый на страницу.
Таким образом, для надежной организации перелинковки требуется иной, более надежный метод. И он существует.
2. Post Redirect Get для закрытия ссылки от индексации
PRG Pattern (Post — Redirect — Get) — это старая технология, но применение её в целях SEO до сих пор не было распространено. Вот что говорит об этой технике Wikipedia:
Post/Redirect/Get (PRG) — модель поведения веб-приложений, используемая разработчиками для защиты от повторной отправки данных веб-форм (от т. н. double submit problem). Модель PRG обеспечивает интуитивно понятное поведение веб-приложений при обновлении страниц в браузере и при использовании закладок в браузере.
Суть проблемы повторной отправки веб-формы заключается в том, что после первой отправки и получения результата пользователь может нажать в браузере кнопку «Обновить», в результате чего данные могут быть отправлены повторно, а это может привести к нежелательным последствиям, как, например, повторная покупка в интернет-магазине, повторный перевод денег с банковского счета и т. д. Повторная отправка может произойти и без кнопки «Обновить», если браузер настроен автоматически «восстанавливать вкладки» после его закрытия и открытия. В этом случае, если пользователь закроет браузер после первой отправки формы, не закрыв вкладку с результатом, а затем вновь откроет браузер, то браузер запросит повторно все страницы прошлой сессии, включая отправку формы.
Суть решения проблемы при использовании модели PRG заключается в том, что в ответ на отправку данных веб-формы, сервер не просто генерирует HTML-страницу с результатом, а возвращает браузеру заголовок перенаправления «Location» (при этом используются коды состояния HTTP 302, HTTP 303, иногда HTTP 301) ведущий на страницу с результатом, но уже вызываемым обычным методом GET, а не POST, и без данных веб-формы, конечно. При обновлении такой страницы с результатом нежелательных действий не произойдет, её даже можно использовать в качестве закладки в браузере.
Немного непонятно, при чем тут закрытие ссылок от индексации и отправка форм? Как все это взаимосвязано? Сейчас поясню.
Итак, POST-запросы используются для отправки форм на сервер, например, в контактных формах, логинах на сайт, в форме заказов и т.д. Поисковые роботы никогда не переходят и никогда самостоятельно не отправляют запросы POST, так как они, например, не знают учетных данных пользователей. При этом отправка таких запросов поисковыми краулерами (роботами, пауками) можно приравнять к спаму (генерация бесчисленного количества данных), чем ни одна ПС не будет заниматься.
Использование POST-запросов — идеальный способ для создания ссылок на определенные части сайта или интернет-магазина, при этом ссылки являются полностью недоступными для ботов поисковых систем.
Мы можем организовать какие — угодно фильтры в магазинах, при этом ссылки на страницы полученных данных не будут отъедать ссылочный бюджет страницы. Нет никакой нужды как то прятать или скрывать эти фильтры товаров, чтобы правильно организовать перелинковку и развесовку страниц.
3. Техническая реализация Post Redirect Get
Вместо ссылки мы создаем форму, которая передает на сервер данные с помощью метода POST. В качестве данных будет передаваться необходимый URL.
Как только форма отправит ссылку на сервер, мы сможем прочитать её и переадресовать на новый URL.
С помощью редиректа мы уведомим браузер, что он должен получить данные новой страницы через GET и отобразить страницу.
Таким образом мы заменяем классическую ссылку на кнопку, находящуюся в форме.
Поскольку ссылки, как таковой нет, то ссылочный бюджет страницы не тратится на неё, при этом мы не зависим от Java скриптов и данная модель закрытия ссылки от индексации работает в любом браузере.
Нам осталось только привести внешний вид кнопки формы к классическому виду обычной ссылки с помощью CSS.
3.1. Пример реализации Post Redirect Get метода в WordPress
Давайте реализуем на практике ссылки, которые никогда не будут индексироваться поисковыми системами. За основу возьмем код Тобби Келлера, немного модифицируем его и добавим следующий код в function.php активной темы WordPress.
Далее, используем в тексте редактируемой страницы шорткоды:
Верхний шорткод — для внешних ссылок. В нем прописываем полный URL внешнего ресурса и указываем что extern=»true»
Нижний шорткод — для внутренних ресурсов. В качестве URL нужно прописать слаг, и указываем что extern=»false».
На выходе получаем ссылки в виде кнопок, вот такого вида:
Теперь нам осталось прописать CSS код для класса .noLink и мы получаем 2 вот такие рабочие ссылки (можете нажимать):
Если мы заглянем в исходный код, то увидим там именно формы и никаких a href ссылок.
Передаваемую методом POST ссылку при желании можно закодировать либо вообще передавать только индекс, выбирая на стороне сервера данные из базы по индексу и возвращая Redirect с уже рабочим URL.
Таким образом можно будет окончательно избавится от любого упоминания какого либо адреса в исходном коде. Но это уже для особо мнительных.
И напоследок, пример CSS:
4. Сфера применения закрытых от индексации ссылок
Создание ссылок методом Post Redirect Get снимает проблему с наличием на сайтах электронной коммерции однотипных страниц, генерируемых фильтрами. При этом мы можем довольно точно перераспределять веса (и важность) страниц.
Кроме того, используя PRG шаблоны следует закрыть все второстепенные страницы: «Контакты», «О компании», «пользовательские соглашения», «политику конфиденциальности», «порядок доставки и оплаты», да и ту же «корзину» и другие маловажные страницы (с точки зрения SEO и перераспределения веса) из меню.
Обратите внимание, чтобы не было «висячих» страниц, у которых нет родителей, но при этом они присутствуют в карте сайта, необходимо все-же построить по одной ссылке на все эти вторичные страницы. Например в меню на главной оставить нормальную ссылку на страницу «О компании», а уж оттуда организовать обычные ссылки на все вторичные страницы. При этом в меню для этих страниц использовать метод Post Redirect Get.
Ноя
2018
Об авторе:
DrMax. Занимаюсь аудитами, оценкой качества YMYL проектов и SEO сайтов более 20 лет. В настоящее время провожу аудиты и реанимирую трафик сайтов, восстанавливаю позиции в органической выдаче сайтов, помогаю снять алгоритмические и ручные штрафы Google. В портфолио - продвижение несколько десятков проектов как региональных частников, так и крупнейших мировых компаний. Владелец SEO блога Drmax.su. Автор 22 книг по продвижению и аудиту сайтов.