robots.txt — это простой текстовый файл в корне сайта, который сообщает краулерам, какие части сайта им разрешено посещать. Он простой, мощный и в нём легко ошибиться: одна строка может запретить поисковым системам сканировать весь сайт.
В этом руководстве — как он работает, как писать его безопасно и как обращаться с растущим числом ИИ-краулеров.
Где находится robots.txt
Файл должен лежать в корне каждого хоста:
https://example.com/robots.txt
Он действует только для этого конкретного хоста и протокола. Для blog.example.com нужен свой файл, как и для http://, если по нему отдаётся контент (хотя он в любом случае должен перенаправлять на HTTPS).
Если robots.txt нет (сервер возвращает 404), краулеры считают, что им можно сканировать всё.
Базовый синтаксис
User-agent: *
Disallow: /admin/
Disallow: /cart
Allow: /admin/public-help/
Sitemap: https://example.com/sitemap.xml
- User-agent указывает краулера, к которому относится группа правил.
*означает всех краулеров. - Disallow указывает префикс пути, который краулеру не следует загружать.
- Allow создаёт исключение внутри запрещённой области.
- Sitemap указывает полный URL XML-карты сайта. Директива может стоять в любом месте файла и действует для всех краулеров.
Строки, начинающиеся с #, — комментарии.
Подстановочные символы
Google, Bing, Яндекс и большинство крупных краулеров поддерживают два специальных символа:
*соответствует любой последовательности символов:Disallow: /*?sort=блокирует любой URL, содержащий?sort=$обозначает конец URL:Disallow: /*.pdf$блокирует URL, оканчивающиеся на.pdf
Как сопоставляются правила
robots.txt теперь официальный интернет-стандарт (RFC 9309, опубликован в 2022 году), основанный на том, как его давно обрабатывает Google:
- Краулер использует группу, чей
User-agentсоответствует ему наиболее точно. Googlebot следует группеUser-agent: Googlebot, если она есть, и игнорирует группу*. - Внутри группы побеждает самое конкретное (самое длинное) подходящее правило.
- Если правила Allow и Disallow одинаково конкретны, побеждает Allow.
Пример:
User-agent: *
Disallow: /shop/
Allow: /shop/sale/
/shop/sale/shoes разрешён (правило Allow длиннее), а /shop/new/shoes заблокирован.
Загрузите и проверьте robots.txt, а также узнайте, закрыт ли URL для Googlebot или ИИ-ботов.
Что robots.txt делает — и чего не делает
Он управляет сканированием, а не индексацией. Запрещённый URL всё равно может появиться в результатах поиска, если на него ссылаются другие страницы, — обычно без описания. Чтобы убрать страницу из результатов, разрешите сканирование и используйте метатег robots noindex или заголовок X-Robots-Tag.
Он публичный. Любой может прочитать ваш robots.txt. Никогда не используйте его, чтобы спрятать закрытые разделы, — по сути, он их рекламирует. Защищайте закрытый контент авторизацией.
Он добровольный. Добросовестные краулеры его соблюдают, вредоносные боты — игнорируют.
Безопасные примеры
Разрешить всё (и указать карту сайта)
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
WordPress
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Sitemap: https://example.com/wp-sitemap.xml
Интернет-магазин
User-agent: *
Disallow: /cart
Disallow: /checkout
Disallow: /account
Disallow: /*?*sort=
Disallow: /*?*filter=
Sitemap: https://example.com/sitemap.xml
Блокировка параметров сортировки и фильтрации не даёт краулерам тратить время на тысячи почти одинаковых URL.
Тестовый сайт (запретить всё)
User-agent: *
Disallow: /
Используйте это только на тестовых сайтах и сайтах для разработки — а лучше защитите их паролем. Забыть убрать это правило при запуске — одна из самых частых причин исчезновения сайта из поиска.
Создайте robots.txt с sitemap, закрытыми папками и управлением ИИ-краулерами.
Как обращаться с ИИ-краулерами
ИИ-компании используют несколько видов краулеров, и к ним стоит относиться по-разному:
| Назначение | Примеры | Что даёт блокировка |
|---|---|---|
| Обучение — сбор контента для обучения моделей | GPTBot (OpenAI), ClaudeBot (Anthropic), Google-Extended (управление обучением Gemini от Google), CCBot (Common Crawl), Applebot-Extended | Ваш контент не используется для будущего обучения. На видимость в поиске не влияет. |
| ИИ-поиск — загрузка страниц, чтобы отвечать и цитировать в ИИ-поиске | OAI-SearchBot, Claude-SearchBot, PerplexityBot | Ваши страницы могут не появляться в качестве источников в этих ИИ-поисковиках. |
| Запросы по просьбе пользователя — когда человек просит ассистента прочитать страницу | ChatGPT-User, Claude-User, Perplexity-User | Ассистент может не суметь прочитать вашу страницу, когда об этом попросят пользователи. |
Google-Extended — это управляющий токен, а не отдельный краулер: его блокировка запрещает использовать контент для обучения моделей Gemini, но не влияет на Google Поиск и обзоры от ИИ, которые опираются на Googlebot.
Распространённая компромиссная настройка блокирует обучение, но сохраняет видимость в ИИ-поиске:
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Периодически проверяйте документацию провайдеров: названия и назначение краулеров меняются.
Проверьте, могут ли ChatGPT, Claude, Perplexity и Google AI открыть, прочитать и процитировать вашу страницу.
Частые ошибки
- Оставленный
Disallow: /с тестового сайта. Всегда проверяйте robots.txt после запуска или переезда. - Блокировка CSS и JavaScript. Они нужны Google для рендеринга страниц; если их заблокировать, Googlebot может увидеть страницы сломанными.
- Использование robots.txt для удаления страниц из Google. На заблокированных страницах невозможно увидеть noindex. Используйте noindex.
- Блокировка страниц с canonical или редиректом, которые вы хотите показать поисковикам.
- Опечатки и неверный регистр. Пути чувствительны к регистру:
/Admin/и/admin/— разные пути. - Огромный файл. Google читает только первые 500 КиБ.
- robots.txt, отдающийся с ошибками. Если robots.txt возвращает ошибку 5xx, Google может временно прекратить сканировать сайт.
Проверка изменений
Перед публикацией нового robots.txt проверьте по нему самые важные URL — главную страницу, ключевые категории и страницы товаров, а также файлы CSS и JavaScript. Отчёт о файле robots.txt в Search Console показывает версию, которую Google загрузил последней, и найденные в ней проблемы.
robots.txt, noindex или защита паролем
Эти три инструмента решают разные задачи, и путаница между ними — частый источник проблем с индексацией:
| Цель | Правильный инструмент | Почему |
|---|---|---|
| Сэкономить время сканирования на малоценных URL (фильтры, внутренний поиск) | Disallow в robots.txt | Краулеры вообще не загружают эти URL |
| Убрать страницу из результатов поиска | Метатег noindex или X-Robots-Tag | Краулеры должны загрузить страницу, чтобы увидеть его |
| Сохранить контент закрытым | Пароль или вход в аккаунт | Только авторизация действительно закрывает доступ |
| Быстро убрать страницу из Google | noindex плюс инструмент «Удаления» в Search Console | Инструмент временно скрывает страницу, пока noindex вступает в силу |
Параметры и фасетная навигация
Интернет-магазины и сайты объявлений часто создают такие URL для каждой комбинации фильтров:
/shoes?colour=red
/shoes?colour=red&size=8
/shoes?colour=red&size=8&sort=price
Если такие страницы не дают пользователям уникальной ценности, заблокируйте параметры, которые порождают бесконечные комбинации, например сортировку:
User-agent: *
Disallow: /*?*sort=
Disallow: /*?*sessionid=
Будьте осторожны и не заблокируйте страницы фильтров, которые вы хотите продвигать: например, страница «красные беговые кроссовки» с реальным поисковым спросом должна быть сканируемым, индексируемым URL с собственным контентом.
Яндекс дополнительно поддерживает директиву Clean-param, которая подсказывает ему, какие параметры не меняют содержимое страницы.
Как читать robots.txt любого сайта
Изучать robots.txt конкурентов бывает полезно. Видно, какие разделы они закрывают от краулеров, где лежат их карты сайта и как они обходятся с ИИ-краулерами. Поскольку файл публичный, это ещё и первое, что стоит проверить, когда сайт, которым вы управляете, внезапно теряет видимость.
Тестирование и мониторинг
Изменения robots.txt связаны с высоким риском, поэтому относитесь к ним как к коду:
- Сохраняйте копию предыдущей версии перед редактированием
- Перед публикацией проверьте по новым правилам важные URL — главную, ключевые категории и товары, файлы CSS и JavaScript
- После публикации убедитесь, что файл отдаётся со статусом 200 и в виде обычного текста, а не HTML-страницы с ошибкой
- В следующие дни следите за отчётом о robots.txt и отчётом «Индексирование страниц» в Search Console
Некоторые CMS и SEO-плагины генерируют robots.txt динамически. Если загрузить физический файл robots.txt, он обычно заменяет виртуальный, — убедитесь, что редактируете версию, которая реально отдаётся.
Главное
- robots.txt управляет сканированием, а не индексацией: чтобы убрать страницы из результатов поиска, используйте noindex.
- Побеждает самое конкретное подходящее правило, а при равенстве Allow сильнее Disallow.
- Никогда не блокируйте файлы CSS и JavaScript, которые нужны страницам для отображения.
- Разделяйте ИИ-краулеров для обучения и ИИ-краулеров для поиска; блокировка обучения не влияет на поиск.
- Всегда проверяйте robots.txt после запусков и переездов на забытые правила Disallow: /.
- Проверяйте важные URL на каждом изменении до публикации.
Часто задаваемые вопросы
Нужен ли мне файл robots.txt?
Не обязательно. Без него краулеры получают доступ ко всему. Но robots.txt — стандартное место, чтобы указать карту сайта и закрыть от краулеров малоценные разделы, поэтому большинству сайтов он нужен.
Поддерживает ли Google crawl-delay?
Нет. Googlebot игнорирует Crawl-delay. Bing и некоторые другие краулеры его учитывают, а Яндекс перестал учитывать эту директиву и предлагает настраивать скорость обхода в Яндекс Вебмастере.
Через сколько изменения вступают в силу?
Обычно Google кэширует robots.txt до 24 часов, поэтому изменения могут подхватиться через сутки.
Можно ли заблокировать конкретную страницу?
Да — Disallow: /private-page, — но помните, что это блокирует сканирование, а не индексацию. Если цель — убрать страницу из результатов поиска, используйте noindex.
Проверьте свой сайт
Запустите бесплатный аудит из 80+ проверок и получите решение для каждой проблемы.