Файл robots txt лежит в корне сайта и говорит поисковым роботам, какие адреса обходить не нужно. Это единственный файл, где одной строкой можно закрыть от поиска весь сайт целиком, — поэтому ошибки в нём стоят дороже, чем в любом другом месте технической части.
Что робот читает и в каком порядке
Правила группируются по User-agent — имени робота. Группа для Yandex, группа для Googlebot, группа со звёздочкой для всех остальных. Робот выбирает одну группу, самую подходящую именно ему, и остальные не читает вовсе. Отсюда типовой промах: правила дописали в общую секцию, а у Яндекса своя выше — и новых строк он просто не увидел.
Внутри группы Disallow запрещает обход, Allow разрешает исключение из запрета. Побеждает не порядок строк, а длина правила: более длинное и конкретное перекрывает более короткое.
Чего этот файл не делает
Здесь путаются чаще всего. Запрет обхода — это не запрет показа. Страница, закрытая в robots.txt, может попасть в выдачу без текста и описания: система знает адрес по ссылкам с других сайтов, но зайти и прочитать не может. Убирать страницу из поиска нужно мета-тегом noindex, а для этого робот обязан страницу прочитать — то есть в файле robots txt она закрыта быть не должна.
Отсюда вечная ловушка: закрыли раздел от обхода, чтобы он ушёл из поиска, — и он остался там навсегда, потому что робот больше не видит запрета внутри страницы.
Закрыли в robots.txt
- 1Робот не заходит на страницу
- 2Содержимое не прочитано
- 3Запрет внутри страницы не виден
Страница может остаться в выдаче — без описания, по ссылкам с других сайтов
Оставили открытой, поставили noindex
- 1Робот заходит на страницу
- 2Читает содержимое
- 3Видит запрет индексации
Страница уходит из выдачи — именно так, как и требовалось
Ещё файл robots txt не защищает данные. Файл открыт всем, и перечислять в нём адреса административных разделов — значит выкладывать их список публично.
Директивы, о которых забывают
Sitemap — полный адрес карты сайта, пишется отдельной строкой вне групп и относится ко всем роботам сразу. Без неё робот найдёт карту не сразу или не найдёт вовсе.
Clean-param — только для Яндекса, и это самое полезное, что есть в файле для интернет-магазина. Она сообщает, какие параметры адреса не меняют содержимое: метки рекламных кампаний, идентификаторы сессий, сортировки. Без неё один товар попадает в индекс десятком адресов и размывает релевантность.
Crawl-delay давно не поддерживается ни Яндексом, ни Google — скорость обхода настраивается в панели вебмастера. Строка в файле остаётся, но ни на что не влияет.
Что обычно находится при проверке
Полный запрет всего сайта, оставшийся с разработки, — самая дорогая ошибка: сайт неделями не в индексе, а внешне всё исправно. Дальше по частоте: отсутствие строки с картой сайта; закрытые от обхода папки со стилями и скриптами, из-за чего система видит страницу нерабочей на телефоне; правила для несуществующего робота из-за опечатки в имени.
Отдельный случай — файл, отдающий не тот код ответа. Если по адресу вместо файла приходит страница ошибки с кодом 200, робот считает её содержимым и пытается разобрать как правила.
Как ведётся проверка robots txt
Проверка robots txt у нас показывает, что в файле есть, какие разделы закрыты и не закрыто ли лишнее, — сразу по адресу сайта. Дальше стоит свериться с валидаторами поисковых систем: у Яндекса и Google свои особенности разбора, и файл имеет смысл прогнать в обоих. Заодно посмотрите карту сайта в паре с robots txt: эти два файла работают вместе, и толку от одного без другого мало. Что ещё мешает индексации, показывает аудит, куда входит и robots txt.