robots.txt: что это за файл и как им не закрыть сайт целиком
Ещё говорят: robots txt, файл robots, директивы robots
robots.txt — текстовый файл в корне сайта, который говорит поисковым роботам, какие разделы обходить, а какие нет. Это рекомендация, а не запрет доступа: файл управляет обходом, но не скрывает страницу от людей и не гарантирует, что её не окажется в выдаче. Формат одинаковый для Яндекса и Google, отдельные директивы различаются.
Самая дорогая ошибка в SEO живёт именно здесь: строка Disallow: / закрывает от обхода весь сайт целиком, и обнаруживается это обычно через месяц по упавшему трафику.
Что он делает и чего не делает
| Делает | Не делает |
|---|---|
| Просит робота не обходить раздел | Не закрывает страницу от людей — она открыта по прямой ссылке |
| Экономит обход на служебных адресах | Не гарантирует отсутствия в выдаче: адрес может попасть туда по внешним ссылкам |
| Указывает адрес карты сайта | Не удаляет уже проиндексированное — для этого нужен noindex или удаление страницы |
| Работает для послушных роботов | Не защищает от сканеров, которые правила игнорируют |
Отсюда важное следствие: чтобы убрать страницу из поиска, закрывать её в robots.txt бесполезно и даже вредно — робот перестанет заходить и не увидит noindex. Разница между обходом и индексацией тут решает всё.
Из чего состоит файл
User-agent:— для какого робота правила.*— для всех,YandexиGooglebot— для конкретных.Disallow:— что не обходить. Пустое значение разрешает всё.Allow:— исключение внутри закрытого раздела.Sitemap:— полный адрес карты сайта. Указывается один раз, вне блоков.Clean-param:— директива Яндекса: какие параметры в адресе не влияют на содержимое.
Директива Crawl-delay устарела: Яндекс перестал её учитывать, скорость обхода настраивается в Вебмастере. Host тоже больше не нужна — главное зеркало определяется редиректами.
User-agent: *
Disallow: /wp-admin/
Disallow: /*?s=
Disallow: /cart/
Disallow: /*?add-to-cart=
Allow: /wp-admin/admin-ajax.php
Clean-param: utm_source&utm_medium&utm_campaign&yclid&gclid
Sitemap: https://site.ru/sitemap.xml
Ошибки, которые встречаются чаще всего
-
Закрыт весь сайт
Disallow: /уезжает с тестового сервера на боевой вместе с остальными файлами. Проверять первым делом после каждого переезда. - Закрыты скрипты и стили робот видит страницу без оформления и считает её неудобной для мобильных. Папки с CSS и JS закрывать нельзя.
- Страница закрыта, но нужна в поиске частый случай с разделами фильтров, под которые есть спрос.
-
Закрытием пытаются убрать из индекса
не работает: нужен
noindexпри открытом обходе. - Забыли `Sitemap:` робот найдёт карту и сам, но медленнее.
- Файл отдаёт 404 или редирект в этом случае ограничений нет вовсе — обходится всё подряд.
Краулеры нейросетей
Модели обходят сайты своими роботами: GPTBot у OpenAI, ClaudeBot у Anthropic, PerplexityBot, Google-Extended и другие. Их тоже можно закрыть в robots.txt — и здесь стоит подумать дважды.
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: PerplexityBot
Disallow: /
Для большинства компаний такой запрет вреден: он убирает ваш сайт из источников ответа, но не убирает конкурентов и не мешает пересказывать вас по чужим публикациям. Смысл появляется, когда контент — сам товар: платная база, курс, уникальная методика. Подробнее про механику — в статьях AI-поиск и GEO-оптимизация.
Как проверить
- Открыть
site.ru/robots.txtв браузере — файл должен отдаваться текстом и кодом 200. - Прогнать список адресов через анализатор robots.txt в Яндекс.Вебмастере.
- Сверить с отчётом «Страницы в поиске»: если нужные разделы помечены как исключённые по robots.txt, причина найдена.
Частые вопросы
Обязателен ли robots.txt?
Формально нет: без него обходится всё подряд, и для маленького сайта это иногда даже нормально. Практически файл нужен — хотя бы чтобы закрыть служебные адреса и указать карту сайта.
Как убрать страницу из поиска?
Метатегом noindex при открытом для робота обходе, либо удалением страницы с ответом 404 или 410. Закрытие в robots.txt для этого не подходит: робот перестанет заходить и не увидит запрет.
Нужны ли отдельные правила для Яндекса и Google?
Обычно нет: хватает блока User-agent: *. Отдельный блок для Яндекса имеет смысл ради Clean-param, которую Google не понимает.
Что будет, если закрыть сайт целиком?
Обход прекратится, страницы начнут выпадать из индекса, трафик упадёт. Восстановление занимает недели: сначала переобход, потом возврат в выдачу. Поэтому robots.txt проверяют сразу после каждой выкатки.