Перейти к основному содержимому
БЛОГ

Управление ИИ-краулерами в robots.txt: GPTBot, ClaudeBot и другие

Точные правила robots.txt для GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot. Готовые сниппеты allow, block и выборочные, плюс бесплатный скан 0–100.

Автор: IMozzОбновлено 2026-06-05
Control AI crawlers in robots.txt — aiSiteReady

ИИ-краулеры — это не один общий рубильник. Это матрица разрешений. Крупные операторы разделяют ботов на отдельные задачи: один для поиска и цитирования, один для обучения моделей и один для загрузки по запросу пользователя. Блокировка одного имени обычно не перекрывает весь доступ ИИ. Практический вопрос не «какого бота заблокировать?», а «какую функцию я хочу разрешить?».

В этом и весь смысл. Можно оставаться видимым в ИИ-поиске и при этом отказаться от обучения. Можно пускать обычные поисковые системы, но не пускать ваш контент в открытый корпус Common Crawl. Можно не трогать Google Search и всё же запретить Google обучать Gemini на ваших страницах. Если правильно работать с именами ботов, robots.txt становится инструментом управления, а не топором.

Ключевые выводы

  • ИИ-боты разделены по функциям. У OpenAI это OAI-SearchBot (поиск), GPTBot (обучение) и ChatGPT-User (запрос пользователя); у Anthropic — Claude-SearchBot, ClaudeBot и Claude-User; у Perplexity — PerplexityBot и Perplexity-User.
  • Google-Extendedне краулер. Это токен robots.txt, который управляет обучением и заземлением Gemini и никак не влияет на присутствие в Google Search или на ранжирование.
  • Вы управляете токеном robots.txt (имя после User-agent:), а не полным HTTP-заголовком вроде GPTBot/1.3.
  • robots.txt управляет обходом, а не индексацией. Чтобы убрать страницу из выдачи, используйте noindex и не закрывайте её при этом в robots.txt, иначе бот не увидит директиву.
  • Загрузчики по запросу пользователя (Perplexity-User, ChatGPT-User) могут игнорировать robots.txt. После правки правил просканируйте домен 0–100, чтобы увидеть, что на самом деле может каждый ИИ-бот.

Какие user-agent у ИИ-краулеров и кто ими управляет?

Когда люди ищут «точные user-agents», обычно им нужен токен robots: каноническое имя, которое вы ставите после User-agent:. Полный HTTP-заголовок часто содержит версию (GPTBot/1.3, OAI-SearchBot/1.3, CCBot/2.0), но в robots.txt вы сопоставляете токен, а не всю строку. У Google-Extended HTTP-заголовка нет вовсе.

Вот карта десяти user-agent от пяти операторов, которые ищут чаще всего:

User-agent (токен robots)ОператорЧто делаетЧто значит блокировка
OAI-SearchBotOpenAIПоказывает и ссылается на ваши страницы в поиске ChatGPTВы выпадаете из ответов поиска ChatGPT
GPTBotOpenAIСобирает контент, который может обучать базовые моделиВы отказываетесь от обучения моделей OpenAI
ChatGPT-UserOpenAIЗагружает страницу по запросу пользователяrobots.txt может не применяться
ClaudeBotAnthropicСобирает публичный веб-контент для улучшения моделейБудущие страницы исключаются из обучающих наборов
Claude-SearchBotAnthropicУлучшает качество поиска внутри ClaudeМеньше видимости в поисковых ответах Claude
Claude-UserAnthropicЗагружает страницу по запросу в ClaudeClaude не подтянет вашу страницу по запросу
PerplexityBotPerplexityПоказывает и ссылается на ваш сайт в поиске PerplexityВы выпадаете из результатов Perplexity
Perplexity-UserPerplexityЗагрузка по запросу пользователя (обычно игнорирует robots.txt)Часто не зависит от robots.txt
Google-ExtendedGoogleТокен: разрешить контент для обучения/заземления GeminiОтказ от обучения Gemini; на Search не влияет
CCBotCommon CrawlСканирует для открытого веб-архива Common CrawlВы остаётесь вне открытого датасета

Два оператора заслуживают более пристального взгляда. OpenAI прямо указывает, что GPTBot — обучающий краулер, OAI-SearchBot обслуживает поиск ChatGPT, а ChatGPT-User — это действие пользователя, а не автоматический обход. Для таких инициированных пользователем запросов OpenAI отмечает, что robots.txt может не применяться (OpenAI). Anthropic повторяет это разделение. Их боты уважают robots.txt и даже поддерживают нестандартную директиву Crawl-delay (Anthropic). Perplexity сообщает, что PerplexityBot предназначен для поиска и не используется для сбора контента под базовые ИИ-модели, тогда как Perplexity-User — это загрузчик по запросу пользователя, который обычно игнорирует robots.txt (Perplexity).

Три независимых переключателя: один ИИ-оператор разделяется на бота поиска и цитирования, бота обучения моделей и загрузчик по запросу пользователя. Блокировка одного не блокирует остальных

Google-Extended стоит особняком. Google прямо заявляет, что это не отдельный краулер и у него нет собственного user-agent в HTTP-запросе. Реальный обход выполняют существующие боты Google, а Google-Extended — лишь токен, который управляет тем, можно ли уже собранный контент использовать для обучения будущих моделей Gemini и для заземления в Gemini Apps и Vertex AI (Google). CCBot, в свою очередь, принадлежит Common Crawl — некоммерческой организации, которая поддерживает открытый, общедоступный репозиторий веб-сканов (Common Crawl).

Какие правила robots.txt разрешают или блокируют ИИ-краулеров?

Относитесь к сниппетам ниже как к явным policy-заявлениям, а не как к минимальной конфигурации. По умолчанию обход разрешён даже без правил, но перечислить имена явно гораздо проще для аудита, и машинные проверки вроде aiSiteReady ищут точные правила для каждого бота. Файл должен лежать в корне хоста (https://example.com/robots.txt), а не в подкаталоге.

Разрешить все основные ИИ-боты

User-agent: GPTBot
Allow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Google-Extended
Allow: /

User-agent: CCBot
Allow: /

Заблокировать все основные ИИ-боты

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Claude-SearchBot
Disallow: /

User-agent: PerplexityBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: CCBot
Disallow: /

Это блокирует только перечисленные токены. Это не глобальный блок User-agent: *, поэтому другие краулеры не затрагиваются.

Разрешить ИИ-поиск, запретить обучение

Это самая сильная и реалистичная политика: оставаться цитируемым в поиске ChatGPT, Claude и Perplexity, но держать контент вне обучающих корпусов.

# Отказ от обучения + открытого датасета
User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: CCBot
Disallow: /

# Остаться видимым в ИИ-поиске
User-agent: OAI-SearchBot
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

Замедлить вместо блокировки

Если вы хотите просто замедлить Anthropic, а не блокировать, есть промежуточный вариант, потому что Anthropic документирует поддержку Crawl-delay (Anthropic):

User-agent: ClaudeBot
Crawl-delay: 1

Почему robots.txt не управляет индексацией и запросами пользователей

Самая частая ошибка здесь — путать контроль обхода с контролем индексации. Google прямо пишет, что robots.txt управляет трафиком краулеров и не является механизмом, чтобы убрать страницу из индекса. Заблокированный URL всё равно может появиться в выдаче, если на него ссылаются другие сайты (Google). RFC 9309, стандарт за robots.txt, тоже не является механизмом авторизации доступа (RFC 9309). Короче говоря, robots.txt — это policy-файл для добросовестных краулеров, а не замок на приватный контент.

Если ваша цель — «пусть боты обходят, но не индексируют и не показывают сниппет», вам нужна директива уровня страницы или ответа. Используйте мета-тег noindex для HTML-страниц или заголовок X-Robots-Tag для PDF, изображений и других не-HTML файлов:

<meta name="robots" content="noindex">
X-Robots-Tag: noindex

Есть одна ловушка, о которой стоит повторить: чтобы noindex сработал, краулер должен иметь возможность его увидеть. Если тот же URL закрыт в robots.txt, бот никогда не загрузит страницу и не прочитает директиву, поэтому страница всё равно может всплыть. Google также пишет, что noindex внутри robots.txt не поддерживается (Google). Та же логика применима к ИИ-поиску. OpenAI советует издателям использовать noindex, если они не хотят, чтобы всплывала даже ссылка, и краулер должен иметь возможность его прочитать (OpenAI).

robots.txt — это контроль обхода; noindex — контроль индексации. Страница, закрытая в robots.txt, никогда не загружается, поэтому её тег noindex не виден, и URL всё равно может появиться в выдаче

Дальше идут загрузчики по запросу пользователя. Claude-User укладывается в модель Anthropic, уважающую robots.txt, но OpenAI предупреждает, что robots.txt может не применяться к ChatGPT-User, а Perplexity пишет, что Perplexity-User обычно его игнорирует, потому что загрузку инициировал человек. Если ваша настоящая цель — остановить живые загрузки по запросам пользователей, одного robots.txt не хватит. Обычно понадобится WAF, авторизация или контроль на сетевом уровне.

Чем вы на самом деле жертвуете, блокируя ботов?

Блокировка обучающего бота даёт вам контроль, не обязательно стоя видимости, если вы держите функции раздельно. OpenAI разделяет GPTBot и OAI-SearchBot, Anthropic разделяет ClaudeBot и Claude-SearchBot, а Perplexity ясно говорит, что PerplexityBot питает поиск, а не обучение. Поэтому редакционная позиция «не обучайте на наших новых материалах, но продолжайте нас цитировать» отображается в выборочные правила, а не в тотальный блок.

Самый контринтуитивный случай — Google. Поскольку Google-Extended не влияет на присутствие в Search или на ранжирование, а AI Overviews и AI Mode опираются на страницы, которые уже проиндексированы и пригодны для сниппета, блокировка Google-Extended не должна выбрасывать вас из AI Overviews. Этой поверхностью на самом деле управляет обычная гигиена Search: индексируемость, пригодность для сниппета и отсутствие noindex (Google).

CCBot — это снова другой рычаг. Его блокировка на самом деле не про то, процитирует ли вас чат-бот сегодня. Она про то, попадёт ли ваш сайт в открытый корпус Common Crawl и его дальнейшее переиспользование. Common Crawl публикует простой opt-out (User-agent: CCBot + Disallow: /) и документирует, что это открытый датасет, поэтому считайте это решением про открытые данные, а не про конкретного ассистента (Common Crawl).

Как проверить свои правила?

Три механических факта сбивают людей с толку. Во-первых, robots.txt действует только на свой точный хост, протокол и порт. Каждому субдомену нужен свой файл, и Anthropic прямо просит делать opt-out для каждого субдомена. Во-вторых, изменения не мгновенны: OpenAI и Perplexity указывают задержку до примерно 24 часов, а Google кэширует robots.txt около суток. В-третьих, строку User-agent легко подделать, поэтому Google и Common Crawl советуют проверять подлинность запросов через обратный DNS и опубликованные диапазоны IP, а не доверять заголовку (Common Crawl).

Проверять всё это вручную — по каждому субдомену и на каждом релизе — не масштабируется. Это и делает aiSiteReady: он загружает ваш домен так, как это сделал бы агент, читает вашу политику доступа robots.txt для ИИ-краулеров и проверяет точные правила для GPTBot, ClaudeBot и PerplexityBot. Это напрямую относится к категории управления ботами — одной из примерно 15–20 проверок по обнаружимости, доступности контента, управлению ботами, протоколам и коммерции, которые объединяются в оценку Agent Readiness Score от 0 до 100. Точные проверки и веса описаны на странице методологии. Для более широкой картины посмотрите, что значит готовность к ИИ-агентам. Про слой контента за успешным сканом — как сделать JavaScript-сайт читаемым для ИИ и что такое llms.txt.

После правки robots.txt запустите бесплатное сканирование: вы увидите, какие именно правила для ИИ-ботов сканер нашёл для GPTBot, ClaudeBot и PerplexityBot, где сайт всё ещё частично закрыт для ИИ-поиска, и получите задачу для разработчика вместо абстрактных советов, на английском, украинском или русском. Оценка — это диагностика готовности, а не гарантия ранжирования.

У IMozz 20 лет в разработке ПО, а последний год он строит продукты с помощью LLM. Он развивает aiSiteReady, сканер только для чтения, который проверяет, может ли ИИ-агент прочитать сайт. Сканер серверно рендерит собственный контент как рабочий пример.

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

Как заблокировать GPTBot в robots.txt?
Добавьте в корне хоста (https://example.com/robots.txt) группу с User-agent: GPTBot и Disallow: / на следующей строке. Это сигнал OpenAI не использовать ваш контент для обучения базовых моделей. Это не убирает вас из поиска ChatGPT — за него отвечает отдельный бот, OAI-SearchBot. Если хотите оставаться в поиске, но отказаться от обучения, заблокируйте GPTBot и разрешите OAI-SearchBot. Изменения могут учитываться примерно за 24 часа.
Вредит ли блокировка Google-Extended моему ранжированию в Google?
Нет. Документация Google указывает, что Google-Extended не влияет на присутствие сайта в Google Search и не является сигналом ранжирования. Google-Extended — это токен robots.txt, а не отдельный краулер. Он управляет только тем, можно ли уже собранный контент использовать для обучения Gemini и для заземления в Gemini Apps и Vertex AI. Ваше присутствие в Google Search и AI Overviews зависит от обычной индексируемости и пригодности для сниппета, а не от Google-Extended.
В чём разница между GPTBot и OAI-SearchBot?
Это независимые настройки. OAI-SearchBot показывает и ссылается на ваши страницы в поиске ChatGPT; разрешите его, если хотите, чтобы вас находили и цитировали там. GPTBot собирает контент, который может использоваться для обучения базовых моделей OpenAI; блокируйте его, если хотите отказаться от обучения. ChatGPT-User — третий агент, который загружает страницу, когда человек явно просит ChatGPT её посмотреть. Блокировка одного не меняет остальных.
Может ли robots.txt запретить ИИ показывать мою страницу?
Не надёжно. robots.txt управляет обходом, а не индексацией. Google пишет, что это не механизм, чтобы убрать страницу из выдачи, и заблокированный URL всё равно может появиться, если на него ссылаются другие сайты. Чтобы убрать саму страницу, используйте мета-тег noindex или заголовок X-Robots-Tag и убедитесь, что страница не закрыта одновременно в robots.txt, иначе краулер не увидит noindex. Загрузчики по запросу пользователя, такие как Perplexity-User и ChatGPT-User, могут вовсе игнорировать robots.txt, поэтому живым загрузкам часто нужен слой WAF или авторизации.