robots.txt для AI-краулеров: что разрешить, что закрыть
Дайте каждому важному AI-краулеру собственную группу User-agent. Разрешите поисковые краулеры вроде OAI-SearchBot, Claude-SearchBot и PerplexityBot, если хотите, чтобы вас цитировали, а токены обучения, такие как GPTBot, ClaudeBot, Google-Extended и Applebot-Extended, решайте отдельно. Именованная группа заменяет для этого краулера группу *.
robots.txt — простой текстовый файл, который появился ещё в 1994 году, а в 2022-м стал формальным стандартом RFC 9309. Большинство AI-вендоров заявляют, что их краулеры его соблюдают, а некоторые публикуют отдельные токены для поиска и для обучения. Поэтому robots.txt — самое простое место, чтобы зафиксировать политику в отношении AI, при условии что правила значат именно то, что вы думаете.
На этой странице
Какие токены robots.txt используют AI-краулеры
Это токены, которые описывают сами вендоры. По RFC 9309 регистр при сопоставлении не учитывается.
- OpenAI:
OAI-SearchBot(поиск ChatGPT),GPTBot(обучение),ChatGPT-User(визиты по запросу пользователя; OpenAI сообщает, что robots.txt может не применяться). - Anthropic:
Claude-SearchBot(поиск),ClaudeBot(обучение),Claude-User(визиты по запросу пользователя). - Perplexity:
PerplexityBot(поиск),Perplexity-User(визиты по запросу пользователя; Perplexity сообщает, что в целом игнорирует robots.txt). - Google:
Googlebot(Поиск, включая его AI-функции) иGoogle-Extended— токен без собственного краулера, который управляет использованием в обучении и grounding Gemini. - Apple:
Applebot(Spotlight, Siri, поиск Safari) иApplebot-Extended, который ничего не обходит, а управляет использованием для обучения базовых моделей Apple. - Meta:
meta-externalagent(обучение и индексация для продуктов) иmeta-webindexer(поиск Meta AI). - Common Crawl:
CCBot, который собирает бесплатный публичный архив веб-данных Common Crawl.
Как выглядит хороший robots.txt для AI
Этот пример пускает AI-поиск и загрузки по запросу пользователя, отключает основные токены обучения и держит одну закрытую область недоступной для всех:
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
Allow: /
Disallow: /account/
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Disallow: /account/
Sitemap: https://example.com/sitemap.xml
Несколько строк User-agent подряд образуют одну группу, поэтому правила под ними действуют на каждого из этих краулеров. Если вы хотите, чтобы ваш контент использовался для обучения, просто не добавляйте вторую группу. Блокировка Google-Extended не влияет на Google Поиск: Google сообщает, что она не влияет на включение в Поиск и не является фактором ранжирования. Аналогично Apple сообщает, что страницы, закрытые для Applebot-Extended, всё равно могут появляться в её результатах поиска.
Как краулеры выбирают, какие правила к ним относятся
RFC 9309 описывает это точно, и детали объясняют большинство неожиданностей:
- Краулер ищет группу, в которой
User-agentсовпадает с его токеном продукта, без учёта регистра. Если совпадают несколько групп, их правила объединяются в одно. - Только если ни одна группа не подошла, краулер следует группе
User-agent: *. Именованная группа ничего не наследует от*. - Внутри группы побеждает правило с самым длинным подходящим путём.
Allow: /blog/приоритетнееDisallow: /для/blog/post. - Если правила
AllowиDisallowсовпадают по длине, следует применятьAllow. *в пути соответствует любым символам, а$привязывает к концу, так чтоDisallow: /*.pdf$охватывает все PDF.
Самые частые ошибки в robots.txt
- Ожидание, что именованная группа унаследует правила от
*. Группа дляOAI-SearchBotтолько сAllow: /открывает все пути, включая те, что вы закрыли для*. - Адрес robots.txt, который отдаёт HTML-страницу, чаще всего страницу 404 со статусом 200. Краулеры не находят в ней корректных правил.
- robots.txt, который возвращает ошибку сервера. По RFC 9309 тогда краулер должен считать, что весь сайт закрыт. С ответом 404 иначе: он означает отсутствие ограничений.
- Блокировка поискового токена вместо блокировки обучения, например запрет
PerplexityBotилиClaude-SearchBot, чтобы избежать обучения моделей. - Расчёт на то, что robots.txt остановит загрузки по запросу пользователя. И OpenAI, и Perplexity сообщают, что их user agent могут его не соблюдать.
- Забытые поддомены. У каждого хоста свой robots.txt; документация Anthropic напоминает владельцам сайтов добавлять правила для каждого поддомена.
Можно ли задать политику использования AI не только через allow и disallow
Cloudflare предложил для robots.txt строку Content-Signal с тремя сигналами: search (построение поискового индекса и показ ссылок и коротких фрагментов), ai-input (использование контента в реальном времени для AI-ответов) и ai-train (обучение или дообучение моделей). Управляемый robots.txt Cloudflare может добавить её за вас.
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
Как и всё в robots.txt, это пожелания, а не технический контроль. Сам Cloudflare отмечает, что соблюдение robots.txt добровольно. Строка необязательна и вреда не причиняет, но не заменяет описанные выше группы для каждого краулера.
Сколько времени занимают изменения и как их проверить
RFC 9309 говорит, что краулеры не должны использовать кешированный robots.txt дольше 24 часов, а OpenAI и Perplexity сообщают, что изменения могут применяться около суток. Помните и то, что robots.txt не контроль доступа: файрвол всё равно может заблокировать краулера, которого разрешают ваши правила.
AISeeWhy разбирает ваш robots.txt по RFC 9309 для каждого проверяемого краулера, помечает недоступные файлы и файлы, отдаваемые как HTML, показывает, где ваши правила расходятся с поведением сервера, и даёт готовый diff для изменения.
Частые вопросы
Вредит ли блокировка GPTBot или ClaudeBot моей видимости в AI-ответах?
Напрямую нет. Оба вендора используют для поиска отдельные краулеры, OAI-SearchBot и Claude-SearchBot. Блокировка краулера обучения — вопрос вашей политики.
Останавливает ли Google-Extended AI Overviews?
Нет. Google сообщает, что AI-функции в Поиске используют Googlebot и обычные средства управления Поиском, такие как nosnippet и noindex. Google-Extended относится к обучению и grounding Gemini в других продуктах Google и на Поиск не влияет.
Поддерживают ли AI-краулеры Crawl-delay?
В RFC 9309 его нет. Anthropic сообщает, что поддерживает Crawl-delay как нестандартное расширение; у остальных вендоров смотрите документацию.
Где должен лежать robots.txt?
В корне каждого хоста, например https://example.com/robots.txt. Файл в подпапке игнорируется, а у каждого поддомена должен быть свой.
Источники
- RFC 9309: Robots Exclusion Protocol
- OpenAI: обзор краулеров OpenAI
- Google: распространённые краулеры, включая Google-Extended
- Apple: об Applebot
- Cloudflare: управляемый robots.txt и Content Signals