Файл robots.txt: как составить и проверить
Файл 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 в Яндекс Вебмастере
Если сайт еще не добавлен в панель, начните с инструкции «Как добавить сайт в Яндекс Вебмастер» .
- Откройте «Инструменты» → «Анализ robots.txt».
- Вебмастер подгрузит текущую версию файла с сайта. Под текстом появится список ошибок разбора, если они есть.
- В поле со списком адресов вставьте страницы, которые хотите проверить: главную, пару страниц услуг, статью, служебный раздел.
- Нажмите «Проверить». Напротив каждого адреса будет указано, разрешен он или запрещен, и каким правилом.
Удобная особенность инструмента — текст файла можно отредактировать прямо в окне и проверить адреса до того, как заливать новую версию на сайт. Так правки тестируются без риска.
Как проверить robots.txt в Google Search Console
Отдельного инструмента для тестирования правил в Search Console больше нет: Google убрал его в конце 2023 года. Вместо него есть два способа.
Отчет о файле robots.txt. Он находится в настройках ресурса. Отчет показывает, какие файлы robots.txt Google нашел для сайта, когда последний раз их загружал, с каким результатом и какие строки не смог разобрать. Если вы только что исправили файл, там же можно запросить повторную загрузку.
Проверка URL. Вставьте адрес страницы в строку поиска вверху Search Console. Если страница закрыта в robots.txt, в отчете о сканировании будет об этом сказано. Это самый надежный способ убедиться, что важная страница доступна роботу Google.
Описание синтаксиса с примерами есть в справке Google о robots.txt .
Порядок действий при правке файла
- Сохраните копию текущего файла.
- Внесите правки и проверьте адреса в Вебмастере, вставив новый текст в окно анализа.
- Залейте файл на сайт и откройте
https://example.ru/robots.txtв браузере, чтобы убедиться, что изменения на месте. - Запросите повторную загрузку в Search Console.
- Через несколько дней проверьте раздел индексирования в обеих панелях: не появились ли важные страницы среди исключенных из-за 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 или канонический адрес, чтобы робот продолжал ходить по ссылкам с них.