DataLife Engine > --- > Обработка записей в robots.txt

Обработка записей в robots.txt


26 февраля 2008. Разместил: Rain
Barry Schwartz дает ссылки на обсуждения приоритета выбора записей в robots.txt роботами поисковых систем.
Меня всегда удивляло, как можно делать такие разные и вычурные ошибки в таком простом файле исключений с четким и однозначным форматом. Можно, конечно, грешить на большое количество расширений, которые добавляет в стандарт каждая значимая система с широко известными в узких кругах именами роботов: Google, Yahoo, MSN, Yandex. Но в таком случае и вопросы по robots.txt возникали бы прежде всего именно по расширениям.

Вернемся к приоритетам. Как известно, записи в robots.txt разделяются пустыми строками, каждая запись — это инструкция для одного или нескольких роботов. Пусть мы имеем следующее содержание файла исключений:

User-agent: *
Disallow: /dir/file

User-agent: Yandex
Disallow: /reports

User-agent: Googlebot
Disallow: /users
Allow: /best-page.html

Вопрос заключался в том, какими директивами в данном случае будет руководствоваться робот Гугля, что для него будет запрещено? Можно подумать, что робот наткнется в первую очередь на секцию для всех роботов и именно ее правила примет к рассмотрению.

Это неверное предположение. Робот при парсинге файла работает примерно по следующему алгоритму:


Получает полностью файл

Выделяет в файле корректные секции

Ищет "свою" секцию

Если своя секция найдена принимает к руководству ее инструкции.

Если своей секции не обнаружено, ищет секцию для всех роботов

Если обнаружена секция для всех роботов, принимает к руководству ее инструкции

Если общая секция не найдена, робот считает, что индексировать можно все без исключения.


Отсюда делаем сразу несколько выводов:

Порядок секций в файле значения не имеет.

Если будет найдена "своя секция", то робот будет руководствоваться только ее инструкциями, игнорируя все остальные, поэтому в нашем примере робот Гугл абсолютно справедливо будет индексировать /dir/file.

Отсутствие общей секции — разрешение индексировать весь сайт роботам, не упомянутым ни в одной секции.