Все статьи

robots.txt: как поисковые боты решают, что можно сканировать

robots.txt — текстовый файл в корне сайта, который поисковые роботы читают перед обходом, чтобы понять, какие разделы им разрешено, а какие запрещено сканировать. Для рунета особенно важно проверять не только Googlebot, но и YandexBot — Яндекс исторически по-своему трактовал часть директив.

User-agent, Disallow и Allow

Файл состоит из блоков, каждый начинается с User-agent:, за которым следуют Disallow и Allow — запрещённые и разрешённые пути. Бот применяет правила из первого блока, чей User-agent совпадает с его именем, а если такого блока нет — берёт блок с User-agent: *.

Директива Host: зачем она была и почему её больше нет смысла писать

Долгое время в рунете в robots.txt добавляли нестандартную директиву Host:, чтобы указать Яндексу главное зеркало сайта (с www или без). Это расширение поддерживал только Яндекс — Google его никогда не читал. В 2018 году сам Яндекс объявил Host устаревшей и перешёл на определение зеркала через redirect и настройки в Яндекс.Вебмастере, так что сегодня эта директива — просто игнорируемый мусор в файле.

Sitemap как подсказка роботу

Директива Sitemap: указывает поисковику расположение файла sitemap.xml. Это не обязательно, но удобно: боту не нужно угадывать путь к карте сайта или полагаться только на её регистрацию в Яндекс.Вебмастере и Google Search Console.

Зачем это нужно

  • Проверить синтаксис robots.txt перед публикацией, чтобы случайная опечатка не закрыла весь сайт от индексации.
  • Убедиться, что правила для YandexBot и Googlebot не противоречат друг другу.
  • Проверить конкретную пару user-agent и путь через встроенный тестер, не дожидаясь переобхода роботом.

Почему Disallow не убирает страницу из выдачи

Частая путаница: Disallow запрещает боту сканировать содержимое страницы, но не запрещает знать о её существовании. Если на закрытую страницу ведёт ссылка с другого проиндексированного сайта, Google может показать её URL в выдаче без описания — просто потому, что содержимое не сканировалось.

Попробовать инструмент