Файл robots.txt — четыре строки текста, из-за которых я видел и потерю всего трафика за неделю, и годами висящие в выдаче страницы, которые пытались спрятать именно им. Синтаксис здесь предельно прост; беда в том, что от файла ждут не той работы, которую он умеет выполнять. Это файл управления обходом, а не индексацией, и разница между этими понятиями стоит бизнесу денег. В SEO с 2005 года; за это время из файла ушли директивы, которые все считали обязательными, зато появилась новая задача — решать, пускать ли на сайт краулеры нейросетей. Ниже — что файл делает и чего не делает, полная таблица директив в актуальном виде, чем robots.txt отличается от noindex и canonical, как правильно работать с параметрами через Clean-param, какие ошибки встречаются чаще всего и как проверять результат.

Что robots.txt делает и чего он не делает
Robots.txt — текстовый файл в корне сайта, доступный по адресу вида https://site.ru/robots.txt. Он содержит рекомендации для поисковых роботов: какие разделы обходить, а какие нет. Слово «рекомендации» здесь ключевое — это не запрет на уровне сервера, а соглашение, которое добросовестные роботы соблюдают, а недобросовестные игнорируют.
Что файл делает.
- Экономит краулинговый бюджет: робот не тратит обходы на служебные разделы, дубли, результаты поиска по сайту.
- Снижает нагрузку на сервер от обхода тяжёлых разделов.
- Указывает путь к карте сайта через директиву Sitemap.
- Позволяет Яндексу правильно склеивать адреса с незначащими параметрами через Clean-param.
- Управляет доступом отдельных краулеров, включая роботы нейросетевых сервисов.
Чего файл не делает.
- Не удаляет страницу из индекса. Закрытая в robots.txt страница может попасть в выдачу, если на неё есть внешние ссылки. Google в такой ситуации показывает адрес без описания; Яндекс тоже способен держать такие адреса в базе.
- Не скрывает информацию. Файл общедоступен: любой человек открывает его и видит адреса ваших админок и «секретных» разделов. Закрывать в robots.txt то, что нельзя показывать, — прямая уязвимость.
- Не защищает от парсеров и ботов-сборщиков. Они его просто не читают.
- Не ускоряет индексацию нужных страниц. Разрешающие директивы не заставляют робота приходить чаще.
Отсюда главное правило: robots.txt управляет обходом, а мета-теги и заголовки — индексацией. Все типовые катастрофы возникают из-за путаницы между этими двумя вещами.
Директивы: полная таблица на 2026 год
| Директива | Назначение | Яндекс | Комментарий | |
|---|---|---|---|---|
| User-agent | Кому адресован блок правил | Да | Да | Обязательна; блоки разделяются пустой строкой |
| Disallow | Запрет обхода пути | Да | Да | Пустое значение означает «разрешено всё» |
| Allow | Исключение из запрета | Да | Да | Позволяет открыть подраздел внутри закрытого |
| Sitemap | Адрес карты сайта | Да | Да | Указывается полным URL, действует для всех роботов независимо от блоков |
| Clean-param | Незначащие GET-параметры | Да | Нет | Только Яндекс; лучший способ борьбы с параметрическими дублями |
| Crawl-delay | Пауза между запросами | Не учитывается | Никогда не поддерживалась | Устарела; скорость обхода настраивается в Яндекс Вебмастере |
| Host | Главное зеркало | Не учитывается | Нет | Устарела; зеркало определяется 301-редиректом и canonical |
Про Host и Crawl-delay стоит сказать отдельно, потому что их до сих пор копируют из старых инструкций. Обе директивы Яндекс перестал учитывать ещё в конце 2010-х. Наличие Host в файле не вредит — он просто игнорируется, — но говорит о том, что файл не пересматривали годами. Главное зеркало сегодня задаётся постоянным редиректом с ненужных вариантов (с www на без www или наоборот, с http на https) и атрибутом canonical.
Спецсимволы. Обе системы поддерживают * — любая последовательность символов, и $ — конец адреса. По умолчанию в конце любого правила подразумевается *: запись Disallow: /admin закроет и /admin, и /administrator-panel. Если нужен только точный адрес, ставьте $.
Приоритет правил. И Яндекс, и Google выбирают наиболее конкретное правило: побеждает то, чей путь длиннее. При равной длине приоритет у Allow. Это значит, что порядок строк в файле значения не имеет — вопреки распространённому мнению.

robots.txt против noindex, canonical и X-Robots-Tag
Самая полезная таблица во всей статье. Инструменты решают разные задачи, и подмена одного другим — источник большинства проблем.
| Задача | Правильный инструмент | Почему не robots.txt |
|---|---|---|
| Убрать страницу из выдачи | Мета-тег <meta name="robots" content="noindex"> |
Закрытие в robots.txt мешает роботу увидеть noindex — страница останется в базе |
| Убрать из выдачи файл (PDF, DOC) | HTTP-заголовок X-Robots-Tag: noindex |
В файл нельзя вставить мета-тег |
| Склеить дубли с параметрами | Clean-param для Яндекса, canonical для обеих систем | Disallow оставит дубли в базе и не передаст их сигналы основному адресу |
| Выбрать основной адрес среди похожих | Атрибут canonical | robots.txt не умеет указывать на предпочтительный вариант |
| Закрыть личный кабинет от посторонних | Авторизация на сервере | Файл публичный, он показывает адрес всем желающим |
| Снизить нагрузку от обхода | Настройка скорости в Яндекс Вебмастере, Disallow тяжёлых разделов | Здесь robots.txt как раз уместен |
| Не тратить обход на бесконечные фильтры | Disallow по маске параметров | Здесь robots.txt тоже уместен |
| Срочно убрать страницу из выдачи | Инструмент удаления в панели вебмастера плюс noindex или 410 | robots.txt даёт медленный и ненадёжный результат |
Механизм, который надо запомнить: чтобы робот выполнил noindex, он должен эту страницу скачать. Если вы одновременно закрыли раздел в robots.txt и поставили в нём noindex, робот не придёт, не увидит указания и оставит адрес в базе. Правильная последовательность при удалении раздела: сначала открыть его для обхода и поставить noindex, дождаться выпадения из выдачи, и только потом, если это нужно, закрывать в robots.txt.
Clean-param: как правильно работать с параметрами
Параметрические дубли — самая частая техническая проблема интернет-магазинов. Один товар доступен по десяткам адресов: с меткой рекламной кампании, с идентификатором сессии, с сортировкой, с фильтром. Для Яндекса лучший инструмент — Clean-param.
Синтаксис: Clean-param: параметр1&параметр2 [префикс_пути]. Путь необязателен: без него правило действует на весь сайт. Директива работает независимо от того, в каком блоке User-agent она указана.
Типовой набор для магазина:
Clean-param: utm_source&utm_medium&utm_campaign&utm_term&utm_content
Clean-param: yclid&gclid&ymclid&from&openstat
Clean-param: sort&order&view&per_page /catalog/
Что даёт Clean-param в отличие от Disallow: робот понимает, что адреса с этими параметрами и без них — одна и та же страница, и объединяет их сигналы на основном адресе. Disallow просто запрещает обход, дубли при этом могут оставаться в базе, а накопленные ими сигналы теряются.
Для Google аналога нет — инструмент управления параметрами был отключён. Там задача решается атрибутом canonical на основной адрес, что нужно делать в любом случае, потому что canonical понимают обе системы.
Важное различие. Параметры, которые меняют содержимое страницы (например, значение фильтра, формирующее отдельную посадочную), в Clean-param добавлять нельзя — вы склеите разные страницы в одну и потеряете трафик. Туда идут только те параметры, которые на содержимое не влияют.
Что закрывать и что закрывать нельзя
Обычно закрывают: служебные каталоги CMS и админку, страницы результатов внутреннего поиска, корзину и оформление заказа, страницы сравнения и избранного, личный кабинет, страницы с идентификаторами сессий, версии для печати, тестовые поддомены целиком.
Никогда не закрывают:
- CSS и JavaScript. Классическая ошибка, тянущаяся с давних инструкций. Поисковые системы отрисовывают страницу; без стилей и скриптов они видят сломанную вёрстку и могут счесть её неудобной для мобильных.
- Изображения, которые должны быть в поиске по картинкам. Для магазинов это заметный источник трафика.
- Страницы пагинации. Через них робот добирается до карточек. Закрытие пагинации регулярно приводит к тому, что часть каталога вообще не индексируется.
- Страницы, которые нужно удалить из индекса. Причина описана выше: робот не увидит noindex.
- Разделы с полезными фильтрами. Если по фильтрам есть спрос, они должны быть открыты и оформлены как посадочные, а не спрятаны.
Общий принцип: закрывайте то, что не должно тратить ресурс обхода и никогда не будет нужно в поиске. Всё, что имеет хотя бы гипотетическую ценность для пользователя, оставляйте открытым и управляйте им через мета-теги.
Краулеры нейросетей: закрывать или нет
Новая задача последних лет. Роботы, собирающие данные для обучения моделей и для ответов чат-ботов, обращаются к сайтам так же, как поисковые, и так же читают robots.txt. Решение о доступе стоит принимать осознанно, потому что оно влияет на видимость.
| User-agent | Кто это | Что даёт закрытие |
|---|---|---|
| GPTBot | Сбор данных OpenAI для обучения | Материалы не используются для обучения; на ответы в чате влияет косвенно |
| OAI-SearchBot | Поисковая часть OpenAI | Сайт перестаёт попадать в ответы с ссылками — обычно нежелательно |
| ChatGPT-User | Переход по ссылке по запросу пользователя | Пользователь не сможет открыть вашу страницу через чат |
| Google-Extended | Использование контента моделями Google | Не влияет на обычное ранжирование в поиске |
| ClaudeBot, Claude-User, Claude-SearchBot | Роботы Anthropic: обучение, переходы, поиск | Аналогично OpenAI: обучение и цитирование разделены |
| PerplexityBot | Поисковый сервис с генеративными ответами | Уход из ответов сервиса вместе со ссылкой на вас |
| CCBot | Common Crawl, открытый архив веба | Ваши данные не попадают в общедоступные наборы |
| Bytespider, Amazonbot, meta-externalagent | Краулеры соответствующих компаний | Обычно закрывают ради экономии ресурсов сервера |
Главная ошибка при закрытии от ИИ. Люди пишут одно правило, закрывающее всё разом, и вместе с обучающими роботами отрезают поисковые и «пользовательские». Результат: сайт перестаёт цитироваться в генеративных ответах и терять начинает больше, чем защищает. Разделяйте: закрывайте обучающих (GPTBot, CCBot, Google-Extended), оставляйте открытыми поисковых (OAI-SearchBot, Claude-SearchBot, PerplexityBot), если хотите, чтобы на вас ссылались.
Вторая ошибка — закрывать Googlebot или YandexBot «заодно», под маской правила с * в имени агента. Имена агентов сопоставляются по подстроке, и небрежное правило может задеть основные поисковые роботы. Всегда перечисляйте агентов явно.
Третье. Robots.txt для этих роботов — тоже рекомендация. Часть сборщиков его игнорирует. Если задача — реально закрыть контент, нужны серверные меры: блокировка по User-agent на уровне веб-сервера, ограничение частоты запросов, авторизация.
Частые ошибки и их последствия
| Ошибка | Как выглядит | Последствие |
|---|---|---|
| Забыли снять запрет после разработки | User-agent: * и Disallow: / |
Сайт полностью выпадает из поиска; самая дорогая ошибка отрасли |
| Закрыли стили и скрипты | Disallow: /wp-content/, Disallow: /assets/ |
Робот видит сломанную страницу, страдает оценка мобильной версии |
| Пытаются удалить страницу через Disallow | Закрытие вместо noindex | Страница остаётся в выдаче, часто без описания |
| Пропущен слеш в начале пути | Disallow: catalog |
Правило не работает: путь должен начинаться со слеша |
| Неверный регистр | Disallow: /Catalog/ при реальном /catalog/ |
Правило не срабатывает: пути чувствительны к регистру |
| Нет пустой строки между блоками | Блоки User-agent слиты | Правила читаются не тем роботом, которому предназначены |
| Файл не в корне или отдаёт не 200 | /files/robots.txt, редирект, 403 |
Файл не учитывается; при устойчивой ошибке 5xx Google временно прекращает обход сайта |
| Кодировка с BOM или не UTF-8 | Файл сохранён в Word | Первая строка не распознаётся, весь файл может не примениться |
| Оставлена директива Host | Host: www.site.ru |
Игнорируется; признак устаревшего файла и, часто, нерешённой проблемы зеркал |
| Разные файлы на www и без www | Забыли про зеркала и поддомены | Роботы получают противоречивые указания; у каждого поддомена свой robots.txt |
| Закрыли пагинацию | Disallow: /*page= |
Часть каталога недоступна для обхода и не индексируется |
| Закрыли параметры вместо Clean-param | Disallow: /*?utm |
Дубли остаются в базе, сигналы не склеиваются с основным адресом |
| Указали в Sitemap относительный путь | Sitemap: /sitemap.xml |
Директива не работает: нужен полный URL |
| Файл больше допустимого размера | Тысячи правил | Google учитывает первые 500 КБ, остальное отбрасывается |
Файл действует только на тот хост, где лежит: у каждого регионального поддомена должен быть свой robots.txt.
Проверка, внедрение и чеклист
Ошибка в robots.txt стоит дороже, чем любая другая правка такого объёма, поэтому порядок внедрения должен быть жёстким.
- Сделайте копию текущего файла с датой в имени, прежде чем что-либо менять.
- Проверьте новый файл в инструментах. В Яндекс Вебмастере есть анализ robots.txt с проверкой конкретных адресов, у Google — отчёт robots.txt в Search Console. Проверяйте не синтаксис, а список реальных URL: 10–20 открытых адресов и 10 закрытых.
- Отдельно проверьте главную, категории, карточки, пагинацию, стили и скрипты. Их закрытие — самые дорогие ошибки.
- Выложите файл и убедитесь, что он отдаётся с кодом 200 и с типом
text/plain, кодировка UTF-8 без BOM. - Проверьте все зеркала и поддомены — каждый хост отдельно.
- Через 7–14 дней сверьте число страниц в индексе в обеих панелях вебмастера. Резкое падение означает, что вы закрыли лишнее.
- Проверяйте файл после каждого обновления CMS и переноса сайта. Половина случаев «сайт исчез из поиска» — это восстановившийся из дистрибутива или тестового окружения robots.txt с полным запретом.
Финальный чеклист для проверки уже работающего сайта: файл доступен по корневому адресу и отдаёт 200; нет строки Disallow: / в блоке для всех роботов; стили, скрипты и изображения открыты; пагинация открыта; указан полный URL карты сайта; параметры обработаны через Clean-param и canonical, а не только через Disallow; директив Host и Crawl-delay нет; правила для ИИ-краулеров разделены на обучающих и поисковых; у каждого поддомена свой корректный файл; в файле нет адресов, которые вы не хотели бы показывать посторонним.
Ошибки в robots.txt и индексации входят в техническую доработку сайта. Проверить свой файл и увидеть остальные проблемы можно через бесплатный аудит.
Коротко
- robots.txt управляет обходом, а не индексацией: закрытая в нём страница может остаться в выдаче, если на неё ведут ссылки.
- Удалять страницы из поиска нужно мета-тегом noindex или заголовком X-Robots-Tag, и для этого страница обязана быть открыта для обхода.
- Host и Crawl-delay устарели и не учитываются: зеркало задаётся 301-редиректом и canonical, скорость обхода — настройкой в Яндекс Вебмастере.
- Параметрические дубли для Яндекса решаются Clean-param, для Google — атрибутом canonical; Disallow здесь работает хуже, так как теряет накопленные сигналы.
- Никогда не закрывайте CSS, JavaScript, изображения и пагинацию — это прямой ущерб индексации и оценке мобильной версии.
- Приоритет имеет самое конкретное правило (длиннее путь), при равенстве выигрывает Allow; порядок строк роли не играет.
- При закрытии от ИИ-краулеров разделяйте обучающих (GPTBot, CCBot, Google-Extended) и поисковых (OAI-SearchBot, Claude-SearchBot, PerplexityBot) — иначе теряете цитирование.
- Файл публичный: закрывать в нём чувствительные разделы — значит показывать их адреса всем; для этого нужна авторизация.
- Проверяйте изменения на списке реальных URL в панелях вебмастеров и обязательно после каждого обновления CMS или переноса сайта.
Если нужно заказать SEO-продвижение — помогу вывести сайт в топ Яндекса и удержать позиции.
Увеличьте позиции и продажи вашего сайта
Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:
Остались вопросы по продвижению?
Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.
Связаться со мной →