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

ИИ-краулеры — это не один общий рубильник. Это матрица разрешений. Крупные операторы разделяют ботов на отдельные задачи: один для поиска и цитирования, один для обучения моделей и один для загрузки по запросу пользователя. Блокировка одного имени обычно не перекрывает весь доступ ИИ. Практический вопрос не «какого бота заблокировать?», а «какую функцию я хочу разрешить?».
В этом и весь смысл. Можно оставаться видимым в ИИ-поиске и при этом отказаться от обучения. Можно пускать обычные поисковые системы, но не пускать ваш контент в открытый корпус 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-SearchBot | OpenAI | Показывает и ссылается на ваши страницы в поиске ChatGPT | Вы выпадаете из ответов поиска ChatGPT |
GPTBot | OpenAI | Собирает контент, который может обучать базовые модели | Вы отказываетесь от обучения моделей OpenAI |
ChatGPT-User | OpenAI | Загружает страницу по запросу пользователя | robots.txt может не применяться |
ClaudeBot | Anthropic | Собирает публичный веб-контент для улучшения моделей | Будущие страницы исключаются из обучающих наборов |
Claude-SearchBot | Anthropic | Улучшает качество поиска внутри Claude | Меньше видимости в поисковых ответах Claude |
Claude-User | Anthropic | Загружает страницу по запросу в Claude | Claude не подтянет вашу страницу по запросу |
PerplexityBot | Perplexity | Показывает и ссылается на ваш сайт в поиске Perplexity | Вы выпадаете из результатов Perplexity |
Perplexity-User | Perplexity | Загрузка по запросу пользователя (обычно игнорирует robots.txt) | Часто не зависит от robots.txt |
Google-Extended | Токен: разрешить контент для обучения/заземления Gemini | Отказ от обучения Gemini; на Search не влияет | |
CCBot | Common 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).
Дальше идут загрузчики по запросу пользователя. 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, сканер только для чтения, который проверяет, может ли ИИ-агент прочитать сайт. Сканер серверно рендерит собственный контент как рабочий пример.