Как закрыть сайт от ИИ-ботов в robots.txt (и стоит ли это делать)
Чтобы закрыть сайт от ИИ-ботов в robots.txt, добавьте одну группу, в которой перечислены нужные боты, и правило Disallow: /. Самый частый вариант — закрыть ботов, собирающих данные для обучения моделей (GPTBot, ClaudeBot, CCBot и др., а также токены Google-Extended и Applebot-Extended), и оставить ботов ИИ-поиска (OAI-SearchBot, Claude-SearchBot, PerplexityBot): тогда контент не уходит в будущие наборы данных, а ссылки на сайт в ответах ChatGPT, Claude и Perplexity сохраняются. На Google Поиск такой запрет не влияет. Но помните: robots.txt — просьба, которую выполняют добросовестные боты, а не техническая защита.
Ниже — какие бывают ИИ-боты, готовые блоки под три сценария, ошибка, из-за которой «разрешённые» боты получают доступ к админке, и как проверить результат.
Три группы ИИ-ботов
Слово «ИИ-бот» объединяет очень разных роботов. Решение «закрыть или нет» нужно принимать по каждой группе отдельно:
| Группа | Токены в robots.txt | Что будет, если закрыть |
|---|---|---|
| Обучение моделей | GPTBot (OpenAI), ClaudeBot (Anthropic), CCBot (Common Crawl), meta-externalagent (Meta), Bytespider (ByteDance), Amazonbot (Amazon), токены Google-Extended и Applebot-Extended | Контент не должен попадать в будущие наборы данных для обучения. На Google Поиск и Bing не влияет |
| ИИ-поиск | OAI-SearchBot (OpenAI), Claude-SearchBot (Anthropic), PerplexityBot (Perplexity) | Сайт перестанет появляться со ссылкой в ответах ChatGPT Search, Claude и Perplexity — это прямая потеря переходов |
| Запросы пользователей | ChatGPT-User, Claude-User, Perplexity-User | Ассистент не сможет открыть страницу, когда пользователь сам дал ссылку или попросил найти ответ |
Деление взято из документации операторов. OpenAI пишет, что настройки для GPTBot и OAI-SearchBot независимы: можно разрешить поиск и запретить обучение. Anthropic описывает три своих бота так же. По документации Perplexity, PerplexityBot не собирает контент для обучения базовых моделей.
С третьей группой есть оговорка. OpenAI предупреждает, что для ChatGPT-User правила robots.txt могут не применяться, потому что запрос инициирует человек. Perplexity пишет, что Perplexity-User в целом игнорирует robots.txt. Anthropic, наоборот, предлагает управлять Claude-User через robots.txt.
Google-Extended и Applebot-Extended: токены, а не боты
Эти два имени часто путают с краулерами, хотя ни один из них сайт не сканирует.
- Google-Extended, по документации Google, не имеет собственного User-Agent: сканирует обычный Googlebot, а токен в robots.txt лишь говорит, можно ли использовать контент для обучения будущих моделей Gemini и для grounding (подстановки свежего контента в ответы) в приложениях Gemini и Vertex AI. Google прямо пишет, что Google-Extended не влияет на попадание сайта в Google Поиск и не является сигналом ранжирования.
- Applebot-Extended, по документации Apple, тоже ничего не сканирует. Он определяет, можно ли использовать данные, собранные обычным Applebot, для обучения базовых моделей Apple. Страницы, закрытые для Applebot-Extended, могут оставаться в поиске Apple — Siri, Spotlight и Safari.
Практическое следствие: заблокировать эти два «бота» на сервере по User-Agent невозможно — такого User-Agent в запросах просто нет. А блокировка Googlebot или Applebot ударит уже по поиску.
Готовые блоки robots.txt
Сценарий 1. Закрыть обучение, оставить ИИ-поиск
Это то, что делает пресет «Закрыть обучение ИИ, оставить ИИ-поиск» в нашем генераторе robots.txt. Боты поиска в файле не упоминаются и идут по общим правилам для *:
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: CCBot
User-agent: meta-externalagent
User-agent: Bytespider
User-agent: Amazonbot
Disallow: /
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap.xml
Несколько строк User-agent подряд образуют одну группу — так короче и меньше шансов ошибиться. Учтите, что Amazonbot Amazon использует не только для обучения моделей, но и для своих сервисов.
Сценарий 2. Закрыть всех ИИ-ботов
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: CCBot
User-agent: meta-externalagent
User-agent: Bytespider
User-agent: Amazonbot
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
User-agent: Perplexity-User
Disallow: /
Цена такого решения — исчезновение ссылок на сайт из ответов ИИ-поиска. Для коммерческого сайта это обычно невыгодно; для закрытой базы знаний или платного контента может быть оправдано.
Сценарий 3. Открыть всё
Ничего добавлять не нужно: если ИИ-боты в файле не упомянуты, они следуют группе User-agent: *. Отдельная группа с Allow: / для них не только лишняя, но и вредная — об этом следующий раздел.
Сценарий 4. Закрыть для ИИ только часть сайта
Например, платные материалы и PDF. В группу ИИ-ботов нужно скопировать все общие правила, иначе они для этих ботов перестанут действовать:
User-agent: GPTBot
User-agent: ClaudeBot
Disallow: /premium/
Disallow: /*.pdf$
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Почему нельзя писать отдельную группу Allow для ИИ-ботов
Главное правило robots.txt, которое ломает большинство самодельных файлов: бот выполняет только одну группу — самую точную для своего имени. Так это описано в спецификации Google и в RFC 9309: если для бота есть своя группа, правила для * он не читает. Посмотрите на файл:
User-agent: *
Disallow: /wp-admin/
Disallow: /cart/
User-agent: OAI-SearchBot
Allow: /
Автор хотел «точно разрешить» поиск ChatGPT, а в результате OAI-SearchBot получил доступ к /wp-admin/ и /cart/: свою группу он нашёл, а запреты из * к нему больше не относятся. Поэтому наш генератор разрешённых ИИ-ботов отдельной группой не выводит. Если боту всё же нужна своя группа, повторите в ней все общие запреты.
Внутри группы действует второе правило: побеждает самый длинный совпавший путь, а при равной длине Google выбирает менее строгое правило, то есть Allow. Подробно о синтаксисе и типичных ловушках — в статье о проверке robots.txt.
Стоит ли закрывать сайт от ИИ
Универсального ответа нет, но есть понятная логика:
- Закрывать обучение имеет смысл, если контент — ваш продукт: платные материалы, авторские тексты, базы данных. Запрет работает на будущее: Anthropic, например, пишет о том, что из обучения исключаются будущие материалы сайта. Уже собранные данные robots.txt не отзывает.
- Закрывать ИИ-поиск почти всегда невыгодно для сайтов, которые живут за счёт трафика: ответы ChatGPT Search, Claude и Perplexity ссылаются на источники, и это переходы.
- Google-Extended — отдельное решение. Он не влияет на Google Поиск, но, по документации Google, управляет и grounding в приложениях Gemini, так что запрет может уменьшить присутствие сайта в ответах Gemini.
- Нагрузка на сервер. Если ИИ-боты заметно нагружают слабый хостинг, это повод их ограничить. Anthropic поддерживает нестандартную директиву
Crawl-delay; Google её не поддерживает. Как нагрузка на сервер связана со сканированием Googlebot — в статье про краулинговый бюджет.
robots.txt — просьба, а не замок
Файл выполняют добросовестные боты; технически ничто не мешает остальным его игнорировать или представиться чужим User-Agent. Об этом прямо пишет и Cloudflare: соблюдение robots.txt добровольно. Если ботов нужно остановить по-настоящему:
- Блокировка на сервере. Например, в nginx по User-Agent (подходит только для ботов со своим User-Agent — не для Google-Extended и Applebot-Extended):
if ($http_user_agent ~* "(GPTBot|ClaudeBot|CCBot|Bytespider|meta-externalagent)") {
return 403;
}
- Проверка по IP. User-Agent легко подделать. OpenAI, Anthropic, Perplexity и Apple публикуют адреса или диапазоны IP своих ботов — по ним можно отличить настоящего бота от подделки.
- CDN. В Cloudflare есть управляемый robots.txt для ИИ-краулеров (по их документации — на всех тарифах) и отдельная принудительная блокировка ИИ-ботов (AI Crawl Control). Условия конкретного тарифа проверяйте в их документации.
Одна оговорка от Anthropic: если заблокировать их IP, бот может не прочитать robots.txt, и отказ от сканирования не будет надёжно учтён. Поэтому robots.txt стоит настроить в любом случае, даже если есть блокировка на сервере.
llms.txt — это другое
Файл /llms.txt не запрещает и не разрешает доступ. Это предложенный формат краткой карты сайта в Markdown для языковых моделей: что за сайт и какие страницы главные. Закрыть сайт от ИИ им нельзя, а помочь ИИ правильно понять сайт — можно. Подробно — в статье что такое llms.txt, создать файл можно в генераторе llms.txt.
Как проверить результат
- Откройте
https://ваш-сайт/robots.txtв браузере и убедитесь, что опубликована новая версия (CMS, плагины и CDN иногда отдают свой файл). - Прогоните файл через анализ robots.txt: он покажет все группы User-agent, правила Allow и Disallow, строки Sitemap и предупредит, например, о
Disallow: /для всех ботов. - Проверьте сайт в AI Visibility Checker. Он разбирает robots.txt по RFC 9309 для 14 ИИ-ботов и токенов (кто пущен, кто закрыт), проверяет наличие
/llms.txtи мета robots главной и делает пробный запрос главной с User-Agent GPTBot. Пробный запрос — только ориентир: настоящий GPTBot приходит с IP OpenAI, и CDN может обращаться с ним иначе. Блок доступа ботов бесплатный; ответы ИИ-поиска по вашим вопросам считаются в дневном лимите (10 свежих прогонов в сутки без аккаунта, ×3 с аккаунтом, Pro без лимита). - Через несколько дней посмотрите логи сервера: какие User-Agent продолжают приходить и с каких IP. Изменения применяются не мгновенно — OpenAI, например, пишет, что для поиска это может занять около 24 часов.
Частые ошибки
- Отдельная группа
Allow: /для «хороших» ИИ-ботов — открывает им всё, что закрыто для*. - Закрыли ИИ-поиск вместе с обучением, не заметив, что исчезли ссылки из ответов ChatGPT и Perplexity.
- Ждут, что Google-Extended уберёт сайт из Google Поиска или из выдачи вообще. Он на Поиск не влияет; чтобы убрать страницу из индекса, нужен
noindex— разница объяснена в статье noindex, nofollow и robots.txt. - Пытаются блокировать Google-Extended на сервере по User-Agent — такого User-Agent нет.
- Забыли о поддоменах. robots.txt действует только для своего хоста: у
blog.example.comиshop.example.comдолжны быть свои файлы. - Опечатки в именах ботов и устаревшие списки. Названия и назначение ботов меняются, поэтому раз в несколько месяцев сверяйтесь с документацией операторов.