Файл robots.txt: как составить и проверить

Редакция SEOap · · 8 мин чтения

Файл robots.txt — это текстовый файл в корне сайта, в котором владелец указывает поисковым роботам, какие разделы обходить не нужно. Для небольшого сайта он состоит из пяти-десяти строк: группа правил для всех роботов, запреты на служебные разделы вроде админки и поиска по сайту и строка с адресом карты сайта. После правки файл проверяют в Яндекс Вебмастере и в Google Search Console — обе панели показывают, как робот прочитал правила и не закрыта ли случайно нужная страница.

Интерфейс проверен: ноябрь 2026 года. Названия разделов в панелях иногда меняются — если пункт называется иначе, ищите его по смыслу.

Что robots.txt умеет, а чего нет

Robots.txt управляет обходом, а не индексацией. Это главное, что нужно понять до того, как писать правила.

Файл говорит роботу: «по этим адресам не ходи». Он не говорит «не показывай эту страницу в поиске». Google прямо пишет в своей справке, что адрес, закрытый в robots.txt, может попасть в выдачу без описания, если на него ведут ссылки. Яндекс закрытые страницы обычно из поиска исключает, но полагаться на это как на способ удаления страниц не стоит.

Что из этого следует:

  • Чтобы убрать страницу из поиска, используйте мета-тег <meta name="robots" content="noindex"> или заголовок X-Robots-Tag. При этом страница должна быть открыта в robots.txt, иначе робот не зайдет на нее и не увидит запрет.
  • Robots.txt — не защита. Файл публичный, его может открыть любой. Если в нем перечислены «секретные» разделы, вы просто показали к ним дорогу. Закрытые данные защищают паролем.
  • Правила — рекомендация. Поисковые роботы Яндекса и Google их соблюдают, а парсеры и спам-боты — как захотят.

Где лежит файл и как он устроен

Файл называется строго robots.txt (строчными буквами) и лежит в корне домена: https://example.ru/robots.txt. В подпапке он не работает. Для каждого поддомена и каждого протокола нужен свой файл: shop.example.ru правила с example.ru не наследует.

Требования к самому файлу:

  • обычный текст в кодировке UTF-8;
  • сервер отдает его с кодом 200;
  • размер разумный — Google, например, читает только первые 500 КиБ, для небольшого сайта это недостижимый объем.

Файл состоит из групп. Каждая группа начинается со строки User-agent, за ней идут правила для этого робота. Пустая строка разделяет группы, всё после символа # — комментарий.

# Правила для всех роботов
User-agent: *
Disallow: /admin/

Sitemap: https://example.ru/sitemap.xml

Основные директивы

ДирективаЧто делаетКто понимает
User-agentУказывает, к какому роботу относится группа. * — все роботыЯндекс, Google
DisallowЗапрещает обход адресов, которые начинаются с указанного путиЯндекс, Google
AllowРазрешает обход внутри запрещенного разделаЯндекс, Google
SitemapАдрес карты сайта, полный, с протоколомЯндекс, Google
Clean-paramГоворит, что параметр в адресе не меняет содержимое страницыТолько Яндекс

Как робот выбирает группу

Робот ищет группу со своим именем, а если не находит — использует группу User-agent: *. Важная деталь: если для робота есть своя группа, общую он игнорирует полностью. Написали отдельный блок для User-agent: Yandex — повторите в нем все запреты из общего блока, иначе Яндекс про них не узнает.

Как читаются пути

  • Путь сравнивается с началом адреса: Disallow: /blog закроет и /blog/, и /blog-old/, и /blog.html.
  • Регистр важен: /Admin/ и /admin/ — разные пути.
  • * означает любую последовательность символов, $ — конец адреса.
  • Пустое значение Disallow: ничего не запрещает.
Disallow: /*?sort=     # любые адреса с параметром сортировки
Disallow: /*.pdf$      # файлы, которые заканчиваются на .pdf
Disallow: /search      # поиск по сайту и всё, что начинается с /search

Если правила противоречат друг другу

И Яндекс, и Google применяют самое длинное, то есть самое конкретное правило, которое подходит к адресу. Порядок строк в группе значения не имеет. Если длина совпадает, побеждает Allow.

User-agent: *
Disallow: /catalog/
Allow: /catalog/sale/

Здесь раздел /catalog/ закрыт, а подраздел /catalog/sale/ открыт: правило Allow длиннее.

Директивы только для Яндекса

Clean-param. Полезна, если одна и та же страница открывается по десятку адресов с разными параметрами: метками рекламных кампаний, идентификаторами сессий, параметрами сортировки. Директива сообщает Яндексу, что эти параметры можно отбросить, и робот не тратит время на дубли.

User-agent: Yandex
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term
Clean-param: sort /catalog/

Первая строка действует на весь сайт, вторая — только на адреса, начинающиеся с /catalog/. Параметры перечисляются через &. Что такое метки и откуда они в адресах, разобрано в статье «UTM-метки: что это и как их составить» .

Host и Crawl-delay. Обе директивы встречаются в старых файлах и шаблонах, но Яндекс перестал их учитывать еще в 2018 году. Главное зеркало теперь определяется по 301-перенаправлению, а скорость обхода при необходимости настраивается в Вебмастере. Google эти директивы не поддерживал никогда. Строки можно удалить — вреда от них нет, пользы тоже.

Пример robots.txt для небольшого сайта

Сайт услуг или небольшой блог: есть админка, поиск по сайту, страницы с сортировкой и метки в рекламных ссылках.

User-agent: *
Disallow: /admin/
Disallow: /search/
Disallow: /*?sort=
Disallow: /cart/

User-agent: Yandex
Disallow: /admin/
Disallow: /search/
Disallow: /*?sort=
Disallow: /cart/
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term

Sitemap: https://example.ru/sitemap.xml

Для сайта на WordPress типичная основа выглядит так: закрыта админка, но открыт файл, через который работают формы и часть функций темы.

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.ru/sitemap.xml

Чего в примере нет и почему:

  • Запрета на CSS, JavaScript и картинки. Роботы должны видеть страницу так же, как посетитель. Закрытые стили и скрипты мешают понять, как выглядит страница на телефоне.
  • Перечня всех служебных страниц. Если раздела нет в поиске и на него не ведут ссылки, закрывать его необязательно.
  • Директив Host и Crawl-delay — по причинам выше.

Типичные ошибки

Disallow: / после разработки. Тестовую версию закрывают от роботов целиком, а при запуске забывают убрать запрет. Это самая частая причина, по которой новый сайт не попадает в поиск. Остальные проверки перед запуском собраны в чек-листе индексации нового сайта .

Закрытая страница с noindex. Страницу закрыли и в robots.txt, и мета-тегом. Робот не заходит на нее, мета-тег не видит, и адрес остается в выдаче. Выберите что-то одно: для удаления из поиска — noindex при открытом обходе.

Директива noindex в самом файле. Строку Noindex: в robots.txt Google не поддерживает с 2019 года, Яндекс — тоже не поддерживает.

Слишком широкий путь. Disallow: /p закроет не только /p/, но и /price/, /portfolio/, /privacy/. Заканчивайте путь к разделу слешем.

Отдельная группа для Яндекса без общих правил. Робот Яндекса читает только свою группу. Запреты из User-agent: * до него не доходят.

Относительный адрес в Sitemap. Sitemap: /sitemap.xml — ошибка, нужен полный адрес с https://.

Файл отдает не тот код. Если по адресу /robots.txt сервер возвращает страницу 404, роботы считают, что ограничений нет. Если отдает ошибку 5xx, Google временно прекращает обход сайта. Проверить код ответа можно в любом инструменте для просмотра заголовков; подробнее о кодах — в статье «Ошибка 404: что значит и что с ней делать» .

Невидимые символы в начале. Некоторые редакторы сохраняют файл в UTF-8 с меткой BOM, и первая строка читается с мусором. Сохраняйте файл в UTF-8 без BOM и проверяйте результат в панелях.

Как проверить robots.txt в Яндекс Вебмастере

Если сайт еще не добавлен в панель, начните с инструкции «Как добавить сайт в Яндекс Вебмастер» .

  1. Откройте «Инструменты» → «Анализ robots.txt».
  2. Вебмастер подгрузит текущую версию файла с сайта. Под текстом появится список ошибок разбора, если они есть.
  3. В поле со списком адресов вставьте страницы, которые хотите проверить: главную, пару страниц услуг, статью, служебный раздел.
  4. Нажмите «Проверить». Напротив каждого адреса будет указано, разрешен он или запрещен, и каким правилом.

Удобная особенность инструмента — текст файла можно отредактировать прямо в окне и проверить адреса до того, как заливать новую версию на сайт. Так правки тестируются без риска.

Как проверить robots.txt в Google Search Console

Отдельного инструмента для тестирования правил в Search Console больше нет: Google убрал его в конце 2023 года. Вместо него есть два способа.

Отчет о файле robots.txt. Он находится в настройках ресурса. Отчет показывает, какие файлы robots.txt Google нашел для сайта, когда последний раз их загружал, с каким результатом и какие строки не смог разобрать. Если вы только что исправили файл, там же можно запросить повторную загрузку.

Проверка URL. Вставьте адрес страницы в строку поиска вверху Search Console. Если страница закрыта в robots.txt, в отчете о сканировании будет об этом сказано. Это самый надежный способ убедиться, что важная страница доступна роботу Google.

Описание синтаксиса с примерами есть в справке Google о robots.txt .

Порядок действий при правке файла

  1. Сохраните копию текущего файла.
  2. Внесите правки и проверьте адреса в Вебмастере, вставив новый текст в окно анализа.
  3. Залейте файл на сайт и откройте https://example.ru/robots.txt в браузере, чтобы убедиться, что изменения на месте.
  4. Запросите повторную загрузку в Search Console.
  5. Через несколько дней проверьте раздел индексирования в обеих панелях: не появились ли важные страницы среди исключенных из-за robots.txt.

Коротко

  • Robots.txt управляет обходом, а не индексацией. Для удаления страниц из поиска нужен noindex на открытой странице.
  • Файл лежит в корне каждого домена и поддомена, называется строчными буквами, отдается с кодом 200.
  • Робот применяет самое длинное подходящее правило. Своя группа для робота отменяет общую.
  • Clean-param понимает только Яндекс. Host и Crawl-delay можно удалить.
  • Не закрывайте CSS и JavaScript и не забывайте снимать Disallow: / после разработки.
  • Проверка: «Анализ robots.txt» в Вебмастере, отчет о robots.txt и проверка URL в Search Console.

Вопросы и ответы

Нужен ли robots.txt, если закрывать нечего? Строго говоря, нет: без файла роботы считают, что разрешено всё. Но минимальный файл с User-agent: * и строкой Sitemap полезен — по нему роботы находят карту сайта, а запросы к несуществующему файлу не засоряют журналы сервера ошибками 404.

Как быстро роботы видят изменения? Поисковые системы перечитывают файл регулярно, обычно в течение суток. Google хранит копию до 24 часов; ускорить загрузку можно через отчет о robots.txt в Search Console.

Можно ли закрыть сайт от Google, но оставить для Яндекса? Да, через отдельные группы User-agent: Googlebot и User-agent: Yandex. Но если цель — убрать сайт из выдачи Google, надежнее noindex: закрытые адреса Google все равно может показывать без описания.

Нужно ли закрывать страницы пагинации и тегов? Через robots.txt — обычно нет. Если такие страницы не нужны в поиске, лучше управлять ими через noindex или канонический адрес, чтобы робот продолжал ходить по ссылкам с них.