robots.txt

Определение

robots.txt – текстовый файл в корне сайта, которым владелец сообщает роботам, какие разделы обходить не нужно. Формат описан в RFC 9309: секции User-agent, директивы Disallow и Allow, Sitemap. Файл управляет обходом, но не индексацией: закрытый адрес может попасть в выдачу, но без описания.

4 мин 49 Обновлено 15 октября

robots.txt – первое, что запрашивает робот, придя на сайт. Это соглашение, а не защита: файл никого не блокирует технически, добросовестные роботы его соблюдают, недобросовестные – игнорируют. Долгое время формат существовал как неформальная договорённость и лишь позже был закреплён отдельным стандартом.

Как это работает

Файл лежит строго в корне и доступен по адресу /robots.txt. Он состоит из групп: имя робота и правила для него.

User-agent: *
Disallow: /bitrix/
Disallow: /*?print=
Allow: /bitrix/templates/

Sitemap: https://example.com/sitemap.xml
ДирективаНазначение
User-agentНачало группы правил для конкретного робота, * – для всех остальных
DisallowПуть, который обходить не нужно. Пустое значение означает "разрешено всё"
AllowИсключение внутри закрытого раздела
SitemapАбсолютный адрес карты сайта, действует независимо от групп
Clean-paramНезначащие GET-параметры, понимает Яндекс
Crawl-delayУстаревшая директива задержки: Google её не поддерживает, Яндекс от неё отказался в пользу настройки в панели вебмастера

Три спецсимвола, без которых правила не читаются:

  • * – любая последовательность символов. В конце пути он подразумевается неявно, поэтому Disallow: /search закрывает и /search-results/.
  • $ – конец адреса. Disallow: /*.pdf$ закрывает сами PDF, но не адреса с параметрами после расширения.
  • # – комментарий: всё до конца строки робот игнорирует.

Конфликт Allow и Disallow разрешается не порядком строк, а длиной правила: выигрывает то, чей путь длиннее и точнее. Если длина совпадает, приоритет у Allow.

Есть и предел объёма: роботы разбирают не более 500 КиБ файла, остальное отбрасывается. Для файла на несколько сотен строк это неважно, а вот огромный автогенерируемый список запретов до конца прочитан не будет.

Два правила, о которых чаще всего забывают. Первое: робот применяет только одну группу – ту, что точнее всего соответствует его имени; правила из User-agent: * к нему уже не добавляются. Второе: файл действует в пределах своего хоста и протокола, поэтому у версии с www и без www это формально разные файлы, и содержимое у них должно совпадать.

Обход и индексация – не одно и то же

Самое частое заблуждение: "закрыл в robots.txt – значит убрал из поиска". Нет. Запрет в robots.txt означает "не заходи на страницу". Если на неё ведут внешние ссылки, адрес может попасть в выдачу без заголовка и описания – содержимое ведь не прочитано. Хуже того: указанный на такой странице noindex робот никогда не увидит, потому что не откроет страницу.

Правило простое: не нужно обходить – robots.txt; не нужно в индексе – noindex при открытом обходе; страница не должна быть доступна вообще – авторизация или удаление.

Частые ошибки

  • Закрытые CSS и JavaScript. Поисковик не может отрисовать страницу и оценивает её неверно.
  • Забытый запрет после переноса с тестового сервера. Disallow: / уезжает на боевой сайт и выключает его из поиска целиком.
  • Попытка убрать страницу из индекса запретом обхода вместо noindex.
  • Разные файлы на разных хостах – с www и без, на HTTP и HTTPS.
  • Ошибки в ответе файла. Если robots.txt отдаёт 5xx, робот по RFC 9309 обязан считать сайт полностью закрытым для обхода. Google в этой ситуации останавливает обход примерно на 12 часов, дальше до 30 дней пользуется последней успешной копией файла из кэша, а когда и её нет – обходит сайт так, будто запретов не задано. Файл должен стабильно отвечать 200 и не попадать под WAF или JS-челлендж.
  • Ставка на robots.txt как на защиту. Файл публичен и, по сути, представляет собой список интересных путей для того, кто ищет уязвимости.

robots.txt и ИИ-краулеры

Роботы языковых моделей управляются тем же файлом. Имена задаются отдельными группами, а часть токенов вроде Google-Extended и Applebot-Extended вообще не соответствует реальным роботам и регулирует только использование контента – подробнее в термине ИИ-краулер.

В Яндексе за попадание в быстрые ответы – YandexGPT, Нейро, Алису – отвечает отдельное имя YandexAdditional (встречается и как YandexAdditionalBot). Собственного обхода оно не ведёт, а работает поверх страниц, уже обойдённых YandexBot. Запрет этого имени убирает сайт из нейроответов, но в органической выдаче оставляет.

Решение здесь стратегическое. Если задача – присутствие в ответах ИИ-поиска, закрывать эти имена нельзя: ИИ-видимость начинается с доступа. Если контент принципиально не должен уходить в обучение, запрет ставится точечно, для обучающих роботов, а индексирующим доступ остаётся. Файл llms.txt робота ни на что не уполномочивает – это карта ключевых материалов, а не система разрешений, и robots.txt он не заменяет.

Как проверить

curl -sI https://example.com/robots.txt | head -n 1
curl -s  https://example.com/robots.txt

Ответ должен быть 200, тип содержимого – обычный текст, кодировка UTF-8 без служебного маркера в начале файла. Проверять правила удобно в панелях вебмастера: и Google, и Яндекс показывают, разрешён ли конкретный адрес и какая строка его закрывает. После правок стоит убедиться, что в sitemap.xml нет адресов, закрытых от обхода, – это противоречивый сигнал, а закрытые страницы всё равно не будут прочитаны.

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

Для чего нужен robots.txt?

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

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

Нет. Запрет означает "не заходи на страницу", а не "не показывай её". Если на закрытый адрес ведут ссылки, он может попасть в выдачу без заголовка и описания. Более того, указанный на странице noindex робот не увидит, потому что не откроет её. Для удаления из индекса нужен noindex при открытом обходе.

Как закрыть раздел, но оставить в нём одну страницу?

Директивой Allow внутри той же группы: сначала Disallow на раздел, затем Allow на нужный путь. При конфликте правил поисковые системы ориентируются не на порядок строк, а на длину пути: выигрывает более точное и длинное правило, а при равной длине – Allow. После правки стоит проверить конкретный адрес в панели вебмастера – там видно, какая именно строка его разрешает или закрывает.

Нужны ли директивы Host и Crawl-delay?

Нет. Host, задававший главное зеркало, отменён – теперь используются постоянная переадресация и canonical. Crawl-delay Google никогда не поддерживал, а Яндекс от неё отказался в пользу настройки скорости обхода в панели вебмастера. Обе директивы можно удалить из файла без последствий.

Закрывать ли ИИ-краулеров в robots.txt?

Зависит от цели. Если нужно присутствие в ответах ИИ-поиска, закрывать их нельзя – видимость начинается с доступа к контенту. Если контент не должен уходить в обучение моделей, запрет ставится точечно для обучающих роботов, а индексирующим доступ остаётся: они отвечают за ответы со ссылками на источник.

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

Это опасная ситуация: при ответе 5xx робот по RFC 9309 обязан считать сайт полностью закрытым для обхода. Google останавливает обход примерно на 12 часов, дальше до 30 дней использует последнюю успешную копию файла из кэша. Файл обязан стабильно отвечать кодом 200 обычным текстом и не попадать под антибот-проверки и правила защиты. Отсутствие файла – ситуация нормальная, она трактуется как разрешение обходить всё.

49

Связанные термины

Crawl budget Crawl budget (краулинговый бюджет) – количество страниц сайта, которое поисковик готов обойти за определённый период. Складывается из crawl rate limit (нагрузка на сервер) и crawl demand (важность сайта для поиска). Критичен для сайтов от 100 000+ страниц. llms.txt llms.txt – Markdown-файл в корне сайта со структурированным списком ключевых страниц для языковых моделей. Стандарт предложил Джереми Ховард (Answer.AI) в сентябре 2024. meta robots noindex meta robots noindex – HTML-директива, запрещающая поисковикам индексировать страницу. Размещается в теге в head или передаётся через HTTP-заголовок X-Robots-Tag. Главное отличие от Disallow в robots.txt: noindex запрещает индексацию (попадание в выдачу), а не обход страницы краулером. sitemap.xml sitemap.xml – XML-файл со списком всех значимых URL сайта, который помогает поисковикам обнаруживать и индексировать страницы. Стандарт Sitemap Protocol 0.9 опубликован Google, Microsoft и Yahoo 16 ноября 2006 года. Не влияет на ранжирование, но критичен для скорости индексации больших сайтов.

Материалы по теме

Что почитать дальше по этой теме

Инструкция Уведомления о заявках с сайта в MAX: что нужно для подключения Что нужно, чтобы заявки с сайта приходили в MAX: верифицированная организация, модерация бота, токен из веб-версии и группа для заявок. Плюс разбор для разработчика. 7 мин 219 4 октября 2026 Статья Что боты находят на сайте, а вы – нет Боты ходят по изнанке сайта, куда живой человек не забредёт, и фиксируют в логах то, чего не видно ни в Метрике, ни на витрине: падающие с ошибкой 500 страницы каталога, битый файл с 747 обращениями, поток сканеров секретов. Разбираю на реальных логах, что искать и как чинить. 7 мин 436 22 июля 2026 Инструкция Как выгрузить и читать access-логи, если хостинг хранит их три дня Access-лог (журнал обращений к серверу) – единственное место, где виден весь трафик сайта, включая ИИ-ботов, которых не замечают счётчики. Разбираю на практике: где взять логи, как не потерять их из-за ротации, какие команды показывают ботов, ошибки и подозрительную активность. 7 мин 431 21 июля 2026 Флагманский гайд ИИ-анализ email-обращений: методика на стыке Яндекс.Метрики и Claude Code Классический email-трекинг отвечает на вопрос "откуда пришло обращение". ИИ-слой отвечает на вопросы, которые раньше требовали ручного аналитика: значим ли email на фоне звонков, форм и мессенджеров, почему один источник даёт качественные обращения, а другой – пустые, какие сегменты визитов предшествуют письму, что написать в ответ с учётом пути пользователя. Здесь – как я собираю это на уже имеющемся стеке: Logs API Метрики, PostgreSQL и Claude Code, без новых платных сервисов. 11 мин 458 26 мая 2026 Флагманский гайд Майкор: ИИ-аудит проекта по 4 точкам контакта Майкор – это перекрёстный ИИ-аудит проекта в 4 точках контакта: сайт, контекстная реклама, ИИ-поиск и Яндекс.Карты. Я анализирую каждую систему и смотрю связки между ними – где маркетинг рассказывает одно, реклама ведёт на другое, а ИИ-системы цитируют третий номер телефона. В одном из моих аудитов медицинской клиники в Москве у организации в индексе ИИ-сервисов оказалось 6 разных номеров и всего 7 упоминаний на 64 проверочных запроса – при том, что в обычной выдаче Яндекса клиника была в топ-1. Майкор закрывает такие разрывы за один аудит вместо четырёх раздельных. 16 мин 744 13 мая 2026