Суббота , 20 Апрель 2024
ДомойПубликацииЧто делает Disallow в robots.txt?

Что делает Disallow в robots.txt?

На прошлой неделе по работе случилась небольшая неожиданность. По «историческим» соображениям поиск на сайтах фирмы осуществляется с помощью Яндекс XML.
Поставь задачу «реализовать поиск своими средствами», и выход пришлось бы искать среди открытого/свободного ПО — думаю, на уровне технологий Apache Solr + Sphinx. Но этого не произошло.
Так получилось, что в программировании меня интересовала прежде всего графика. В своё время доходили руки и до музыки, и до «общения» с CD-ROM и «верхей» памятью, и всё на win 95/98. Но работа со словоформами обошла стороной.
Поэтому, прикинув трудоёмкость, высказал убедительные доводы на тему «почему я сделаю это скорее плохо».

Поиск не работает

Так вот, поиск перестал работать. Случалось подобное не раз, но все проблемы были вызваны изменениями в API Яндекса. На этот раз ситуация оказалась несколько прозаичнее: исчерпались имеющиеся лимиты.

Яндекс всячески противится адекватному использованию своих данных. Чтобы сеошники зря не нагружали поиск сделали специальный сервис, который «законно» отдаёт те же данные, а чтобы и тут не было злоупотребления, придумали лимиты на число запросов. Быстро выяснилось, что данные, получаемые по новому API, с поиском контрастируют слабо — первое и четвёртое место разделяет дикое количество получаемого сайтом трафика, не говоря про первую и вторую страницу. В итоге, для точной оценки до сих пор используется реальная выдача, в то время, как удел XML — грубая оценка ситуации.

Не всё так плохо К счастью, запросы логгируются. Статистика показала, что за текущие сутки было произведено более 9к запросов, львиная часть — с 8 IP адресов. И принадлежали они… ботам Яндекс и Google. Зверюги накинулись аж на 4 сайта и, по какому-то странному стечению обстоятельств, оптом. Российская ПС кошмарила сайты с 5 разных IP, но под одним User Agent:

Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)

Гугл оказался скромнее и использовал всего 3 адреса, все под одним User Agent:

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Чтобы было чуть понятнее, что из себя представляет страница — это выдача, а-ля ПС. Выводится малая часть вариантов + ссылки на прочие страницы (пагинация). Тут Яндекс и залип — 8300+ запросов его.

Естественное предложение забанить IP на поиск по странице натолкнулось на мысль, вдалбливаемую (?) на курсах: «нужно запретить страницу в robots.txt». Мои слова о том, что боты интерпретируют Disallow несколько иначе, и проблемы это не решит, встретились фразой: «В интернет-агентствах делают через роботс».

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

В итоге, ситуацию пришлось показывать на пальцах. Для этого разместил скрытую ссылку на странице сайта — благо, быстроботы тусят — и сослал её на страницу, запрещённую к индексации в robots.txt, а с этой страницы поставил ещё одну ссылку на запрещённую к индексации страницу. Фактически, проэмулировал состояние на поиске.

Естественно, боты охотно перешли и на первую, и на вторую страницу, а скрипт записал их посещение (IP + время + UA). На случай обострения даже приготовился запросить логи у администраторов сервера и заручиться их поддержкой на факт честности эксперимента. К счатью, этого не понадобилось. В итоге, реальная ситуация показана. Поисковых ботов же решил заблокировать на поиск по странице, но не по IP адресу, а по содержанию в юзер агенте слов YandexBot и Googlebot, так надёжнее.

После столь долго объяснения, совсем кратко приведу несколько постулатов.

Всё не так, как кажется Запрет индексирования страницы в robots.txt не запрещает ботам её исследовать. Это правило — простая рекомендация, или просьба веб-мастера, если угодно, не включать ресурс в выдачу. Содержимое страницы при этом анализируется, ссылки парсятся и боты по ним переходят.

В справке Яндекса чёрным по белому написано: «Чтобы запретить доступ робота к сайту или некоторым его разделам, используйте директиву Disallow». Это ложь! Роботы охотно исследуют запрещённые страницы. Поэтому действительно важные данные лучше прятать под пароль — регистрация на сайте в помощь.

Со страницами решайте по факту. Не важно, как подгружаются данные, с помощью Аякса или обычных запросов. Яндекс уверяет, что начал исполнять JS. Google делает это уже давно. Следовательно, страница «будет» видна так же, как и посетителем. Но, если для юзера результаты поиска — информация значимая, то для поисковиков ценности в ней мало — по сути, это выжимки с других страниц сайта.

Рейтинг: 0

Автор публикации

2 070
не в сети 12 месяцев

x64 (aka andi)

Комментарии: 2893Публикации: 405Регистрация: 02-04-2009
Так себеНеплохоХорошоЗамечательноСупер! (2 голосов, в среднем: 5,00 из 5)
Загрузка...

2 комментария

  1. Надежда Давыдова

    Я вообще все разрешаю роботам: ходите куда хотите. Но дубли все пометила метатегами ноиндекс или убрала редиректами. Все, сайт чистенький и никаких лишних страниц роботы не скачивают.

    Рейтинг: 1

Оставить комментарий

Политика конфиденциальности

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

Принять