Хорошие SEOшники сообщество

robots.txt: что он умеет, чего не умеет и как не закрыть лишнее

Автор: Дмитрий ШейнкманПроверил: Роман Романенков

robots.txt управляет обходом, а не показом в поиске. Закрытая в нём страница может остаться в выдаче — Яндекс пишет об этом прямо, Google добавляет, что она покажется без описания. Чтобы убрать страницу из поиска, нужен noindex, и тогда запрещать её в robots.txt нельзя: робот не увидит указание.

Ниже — поддерживаемые директивы обеих систем, разбор живых споров из чата сообщества, устаревшие советы, которые до сих пор повторяют, и чек-лист проверки.

Главное недоразумение

В чате это обсуждали сорока одним сообщением за один день, и формулировки участников точнее любого учебника:

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

Так и есть, и обе системы пишут об этом в справке.

Яндекс: «Ограниченные в robots.txt страницы могут участвовать в поиске Яндекса. Чтобы удалить страницы из поиска, укажите директиву noindex в HTML-коде страницы или настройте HTTP-заголовок. Не ограничивайте такие страницы в robots.txt, чтобы робот Яндекса смог их проиндексировать и обнаружить ваши указания».

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

Вывод, который экономит месяцы: запрет в robots.txt и удаление из поиска — разные операции. Первое про то, куда робот ходит. Второе про то, что он показывает.

Что поддерживает Яндекс

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

Требования к самому файлу: размер не больше 500 КБ, имя robots.txt, расположение в корне сайта, сервер отвечает кодом 200. И важная строчка из справки: если файл не соответствует требованиям, сайт считается открытым для индексирования. То есть ошибка в robots.txt никогда не «закрывает» сайт на всякий случай — она его открывает.

Ещё две детали, на которых спотыкаются:

Чем Google отличается

Набор директив у Google уже: User-agent, Disallow, Allow, Sitemap. Директивы Clean-param у него нет — ту же задачу решает канонический адрес.

И отдельно: Google не рекомендует использовать robots.txt для нормализации, то есть для выбора главной версии страницы из дублей. Логика та же, что и выше: закрытая страница не исчезает, а становится страницей, про которую поисковик ничего не знает.

Для исключения страницы из поиска Google называет два способа: пароль или noindex.

Clean-param: зачем он и почему его зря хоронят

Директива говорит роботу Яндекса, что параметр в адресе не влияет на содержимое. Классический случай — метки источника:


Clean-param: ref /some_dir/get_book.pl
Clean-param: utm_source&utm_medium&utm_campaign

Почему это лучше запрета: в справке сказано прямо, что для закрытия таких страниц иногда используют Disallow, но рекомендуется именно Clean-param, потому что он позволяет передавать основному адресу или сайту некоторые накопленные показатели. Запрет просто выкидывает адрес из обхода, склейка — переносит сигналы на нужный.

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

Полезное дополнение оттуда же: если доступа к robots.txt нет — сайт на конструкторе, самопис или просто нет доступа к хостингу, — те же параметры можно задать в интерфейсе Яндекс Вебмастера.

Устаревшие советы, которые всё ещё повторяют

Crawl-delay. Яндекс перестал её учитывать 22 февраля 2018 года. Скорость обхода настраивается в Вебмастере, в разделе «Скорость обхода» — и это не то же самое, что скорость загрузки. Тем не менее совет «поставьте Crawl-delay» встречается до сих пор — он встретился и в нашем чате в сентябре 2026-го, в ответе человеку, у которого сторонний бот создавал нагрузку на сервер.

Host. Директива главного зеркала не используется — её полностью заменил 301-редирект.

Закрывать «мусор» вместо того, чтобы его не создавать. robots.txt не чинит структуру: если сайт плодит тысячи адресов с параметрами, правильнее убрать причину, а директивы оставить как страховку.

Закрывать /wp-admin/ и прочие служебные разделы и считать это настройкой. Это гигиена, а не оптимизация: на видимость она не влияет.

Живые случаи из чата

«Закрыл весь сайт и открыл отдельные страницы — Вебмастер ругается». Схема Disallow: / плюс точечные Allow вызывает в Яндекс Вебмастере критическую ошибку «Сайт закрыт от индексации»: робот видит запрет на всё, включая главную. Технически Allow работает, но сигнал системе отправляется плохой, а любая ошибка в порядке правил выключает весь сайт. Если задача — отдавать в индекс только проработанные страницы, надёжнее идти от обратного: открыть сайт и закрывать noindex то, что не готово.

«Страницы под контекстную рекламу: robots или noindex?» Вопрос из чата, и ответ следует из справки: если страница не должна быть в поиске — noindex, и не закрывать её в robots.txt, иначе робот не увидит метатег. Запрет в robots.txt подойдёт, только если вам всё равно, попадёт ли адрес в выдачу без описания.

«Использовать всё сразу: robots, noindex и 403 для ботов». Совет из чата, с которым стоит быть осторожным. Отдавать поисковым роботам 403 — это не «усиленное закрытие», а сигнал о недоступности сайта; в сочетании с ошибкой в настройке так теряют индексацию целиком. Достаточно одного инструмента, выбранного под задачу.

«Пагинацию закрывать в robots?» В чате отвечали: не закрывать, канонический адрес на саму себя, чтобы робот ходил по страницам и видел карточки товаров. Это совпадает с тем, что мы писали в разборе дублей: пагинация — не дубли.

«Сторонний бот создаёт нагрузку». Блокировка в robots.txt помогает только с теми, кто её соблюдает. Для остальных это уровень сервера: ограничения в конфигурации или у хостинг-провайдера. Отдельная история — роботы нейросетей: там у запрета есть смысл, но и последствия свои.

Что писать в файле

Минимальный рабочий вариант для обычного сайта:


User-agent: *
Disallow: /admin/
Disallow: /cart/
Disallow: /search/
Clean-param: utm_source&utm_medium&utm_campaign&utm_term&utm_content
Sitemap: https://example.com/sitemap.xml

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

Что закрывать не нужно: страницы пагинации, фильтры, по которым есть спрос, CSS и JS-файлы (без них робот не увидит страницу так, как видит человек), изображения, если вы хотите трафик из поиска по картинкам.

Чек-лист проверки

  1. Файл открывается по адресу site.ru/robots.txt и отдаёт код 200.
  2. В нём нет кириллицы, размер меньше 500 КБ.
  3. Нет случайного Disallow: / — самая дорогая опечатка в SEO.
  4. Разрешены CSS и JS.
  5. Указан Sitemap с полным адресом, карта открывается.
  6. Прописан Clean-param для меток и сортировок.
  7. Нет Crawl-delay и Host — они больше ничего не делают.
  8. Страницы, которые должны уйти из поиска, закрыты noindex и не закрыты в robots.txt.
  9. Файл проверен в анализаторе Яндекс Вебмастера и в инструменте Google.
  10. После релиза проверено ещё раз: на тестовом сервере robots.txt обычно закрывает всё, и этот файл регулярно уезжает в продакшен.

Последний пункт — самая частая авария в этой теме. Сайт переехал, трафик рухнул через неделю, причина — одна строка, приехавшая со стенда.

Частые вопросы

Удаляет ли robots.txt страницу из поиска?

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

Что надёжнее: robots.txt или meta noindex?

Это разные инструменты. Disallow экономит обход и не пускает робота на служебные разделы. noindex убирает страницу из поиска. Если цель — чтобы страницы не было в выдаче, ставится noindex, и тогда запрещать адрес в robots.txt нельзя: робот не сможет зайти и увидеть указание.

Можно ли закрыть сайт целиком через Disallow: / и открыть нужное через Allow?

Технически можно, но Яндекс Вебмастер покажет критическую ошибку «Сайт закрыт от индексации», потому что робот видит запрет на всё, включая главную. Любая неточность в правилах при такой схеме выключает сайт целиком. Безопаснее держать сайт открытым и закрывать noindex то, что не готово.

Учитывает ли Яндекс Clean-param?

Да. Директива описана в действующей справке, у неё есть отдельная страница с примерами, и там же сказано, что её рекомендуют вместо Disallow — потому что она позволяет передавать основному адресу накопленные показатели. Утверждение «Clean-param давно не работает» — миф, который кочует по блогам.

Работает ли Crawl-delay?

У Яндекса — нет: директива не учитывается с 22 февраля 2018 года, скорость обхода задаётся в Вебмастере. Совет «пропишите Crawl-delay» при проблемах с нагрузкой устарел на восемь лет, хотя встречается до сих пор.

Нужна ли директива Host?

Нет. Главное зеркало определяется 301-редиректом, директива больше не используется.

Можно ли через robots.txt убрать дубли?

Нет, и Google пишет об этом прямо: для нормализации файл использовать не нужно. Дубли закрываются 301-редиректом, каноническим адресом или Clean-param в Яндексе — разбор по типам. Запрет обхода лишь лишает поисковик возможности увидеть ваш canonical или редирект.

Что будет, если в robots.txt ошибка?

Если файл не соответствует требованиям Яндекса — например, недоступен или слишком большой, — сайт считается открытым для индексирования. Опасна обратная ситуация: синтаксически верный файл с лишним Disallow: /. Он работает идеально и закрывает всё.

Нужно ли закрывать CSS и JS?

Нет, наоборот. Без них робот увидит страницу не так, как видит человек, и это ухудшает оценку. Закрывать стили и скрипты — совет из середины десятых, который давно вреден.

Как закрыть сайт от ботов нейросетей?

Отдельными директивами для их роботов: у Яндекса это YandexAdditionalBot для ответов Алисы AI, у OpenAI — GPTBot для обучения и OAI-SearchBot для показа в поиске ChatGPT. Это разные настройки с разными последствиями, разобраны в статье про ответы нейросетей.

Поможет ли robots.txt против парсеров и лишней нагрузки?

Только против тех, кто его соблюдает. Поисковые роботы соблюдают, сомнительные парсеры — нет. Если бот создаёт нагрузку, вопрос решается на уровне сервера или хостинга, а не текстовым файлом.

Где проверить файл?

В анализаторе robots.txt в Яндекс Вебмастере: туда можно вставить список адресов и увидеть, какие из них разрешены, а какие запрещены. У Google аналогичная проверка в Search Console. Проверять стоит не абстрактно, а по конкретным адресам, которые должны быть в поиске.

Спросите в чате сообщества

Самое интересное всплывает в обсуждении: в чате отвечают практикующие специалисты, те, кто занимается продвижением каждый день. Приносите свои случаи и спорьте — вступление бесплатное, в том числе для заказчиков.

← Все материалы