Robots.txt

Файл указаний для поисковых ботов

Указания, какие разделы сайта индексировать, а какие нет.

Robots.txt — текстовый файл в корне сайта (site.ru/robots.txt), который сообщает поисковым ботам правила обхода: что можно индексировать, что нельзя. Поддерживает директивы Disallow, Allow, Sitemap, Host.

robots.txt не запрещает индексацию — только сканирование. Если на запрещённую в robots.txt страницу ведут внешние ссылки, она всё равно попадёт в индекс (с пустым сниппетом). Для запрета индексации — meta robots noindex или X-Robots-Tag.

/robots.txt
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /cart/
Disallow: /*?utm_*

User-agent: Yandex
Clean-param: utm_source&utm_medium

Sitemap: https://pawetta.com/sitemap.xml
Файл /robots.txt: правила обхода для всех роботов + специфика Яндекса

Как делать правильно

× Опасно
  • Disallow: / — закрыли весь сайт от индекса
  • блокировка JS / CSS — Google не видит layout
  • robots.txt вместо noindex для разделов
  • Disallow для UTM = потеря данных аналитики
Безопасно
  • Disallow: /admin/ — только служебные разделы
  • Allow CSS / JS / шрифтов для корректного рендера
  • noindex meta вместо robots.txt для конкретных страниц
  • Sitemap: ссылка в файле
Пример из практики

Сайт случайно поставил Disallow: / в продакшен (тестовая настройка осталась). Через 2 недели — минус 95% органики, сайт исчез из индекса. Откатили robots.txt, отправили на переобход в Search Console. Восстановление позиций — 6 недель.

Яндекс и Google читают robots.txt по-разному. Директиву Host Яндекс уже не использует с 2018 года — главное зеркало определяется через 301-редирект, и оставшаяся строка Host просто игнорируется. Директиву Crawl-delay Google никогда не поддерживал (скорость обхода задаётся в Search Console), а Яндекс перестал учитывать её в robots.txt — теперь это настройка в Вебмастере. Зато Google понимает шаблоны с * и $ (например, Disallow: /*?sort=$), а Яндекс трактует пустой Disallow: как «можно всё».

Главная ловушка: robots.txt и noindex конфликтуют. Если страница закрыта в Disallow, робот не зайдёт на неё и не увидит мета-тег noindex внутри — поэтому страница с внешними ссылками так и висит в индексе с пустым сниппетом «описание недоступно из-за robots.txt». Чтобы выкинуть URL из индекса, путь должен быть открыт для сканирования, а запрет задан через meta robots или X-Robots-Tag. Проверяйте файл в анализаторе robots.txt Яндекс.Вебмастера и в инструменте проверки URL Google — оба показывают, какое правило применилось к конкретному адресу.

Что делает
Правила сканирования

Сообщает боту, какие пути обходить, а какие пропускать — через Disallow, Allow и Sitemap.

Чего не делает
Не прячет из индекса

Запрещённая страница с внешними ссылками всё равно попадёт в выдачу — с пустым сниппетом.

Риск
Цена опечатки

Один лишний слеш в Disallow: / закрывает весь сайт; восстановление в индексе занимает недели.

Robots.txt управляет обходом, а не индексацией — три грани, которые путают чаще всего.
Пример

Интернет-магазин на 80 000 товаров жёг краулинговый бюджет на бесконечных URL фильтров (?color=&size=&page=). Закрыли в robots.txt Disallow: /*?, оставив Allow для CSS/JS. За месяц Googlebot переключился с мусорных комбинаций на карточки: глубина обхода каталога выросла, в индекс вошли 12 000 ранее не сканированных товаров, а трафик по товарным запросам прибавил 22%.