ИИ-боты в robots.txt — это не один вопрос, а два разных. OAI-SearchBot, Claude-SearchBot и PerplexityBot тянут страницу в момент живого ответа пользователю и иногда реально приводят по ссылке — таких пускать выгодно. GPTBot, ClaudeBot и Google-Extended кормят тренировку модели — трафика с них не будет никогда, но блокировка не убирает тебя из обычного поиска и, скорее всего, не убирает из AI Overviews. Bytespider и несколько похожих ботов исторически плевали на правила — этих закрываю всем, без раздумий.
В марте в логах одного проекта вылез всплеск запросов с user-agent, в котором я на глаз не узнал ни одного паука. Первая мысль — атака, сел чистить IP-адреса под блокировку. Через полчаса курения access.log — не атака. Это ИИ-боты, их теперь полтора десятка разных, и у каждого свой повод туда лезть.
Боты бывают двух пород, и путать их — ошибка
Первая порода — тренировочные краулеры. Они приходят раз, тянут страницу в общий корпус, на котором потом обучают следующую версию модели. Трафика с них не будет ни сейчас, ни потом — модель не «ссылается» на источник в ответе пользователю, она просто впитала текст в веса.
Вторая порода — боты живого поиска внутри ИИ-продукта. Пользователь спрашивает ChatGPT/Perplexity/Claude что-то прямо сейчас, продукт лезет в сеть за актуальным ответом и в большинстве случаев честно ставит ссылку на источник внизу ответа. Это ближе к Googlebot, чем к датасет-краулеру — разница принципиальная, и большинство гайдов в интернете её не делают, валя всех в одну кучу «ИИ-боты».
| Бот | Компания | Что делает | Что обычно делать |
|---|---|---|---|
| GPTBot | OpenAI | тренировка моделей | закрыть, если не хочешь отдавать контент бесплатно в датасет |
| OAI-SearchBot | OpenAI | живой поиск внутри ChatGPT | пускать — это как Googlebot для ChatGPT-ответов |
| ChatGPT-User | OpenAI | браузинг по прямой просьбе юзера в чате | пускать |
| ClaudeBot / anthropic-ai | Anthropic | тренировка | закрыть, если не хочешь в датасет |
| Claude-SearchBot | Anthropic | поиск для живых ответов Claude | пускать |
| Claude-User | Anthropic | браузинг по запросу юзера | пускать |
| PerplexityBot | Perplexity | индексация под живые ответы | пускать — почти всегда даёт ссылку на источник |
| Perplexity-User | Perplexity | браузинг по запросу юзера | пускать |
| Google-Extended | обучение Gemini и части ИИ-функций поиска, отдельно от обычного индекса | решай сам — но это не Googlebot, см. ниже | |
| Applebot-Extended | Apple | тренировка Apple Intelligence | по желанию, трафика не даёт |
| CCBot | Common Crawl | общий датасет, который потом перепродают и реюзают десятки компаний | закрыть, если не хочешь кормить весь рынок через одну лазейку |
| Bytespider | ByteDance | тренировка + история игнора robots.txt | закрыть |
Google-Extended — не Googlebot, и это главная путаница
Половина людей, с которыми я это обсуждал, искренне думает, что закрыв Google-Extended, они выпадают из AI Overviews в обычной выдаче. Нет. Обычный Googlebot индексирует сайт для классического поиска и для большинства ИИ-функций внутри самого Search — его блокировка убьёт тебе весь органический трафик, а не только ИИ-часть. Google-Extended — отдельный токен, который по описанию Google касается тренировки Gemini и части фич поверх поиска. Я сверяюсь с его официальным списком краулеров каждый раз, когда формулировка меняется — а она меняется чаще, чем хотелось бы, и гадать тут вместо проверки — плохая идея.
Я разбирал отдельно, как устроена видимость в самих ИИ-ответах — в статье про AI Overviews и про раздел «Видимость в Алисе AI» в Яндекс.Вебмастере. Логика у Яндекса похожая: тренировочный сбор и генерация live-ответа — разные механизмы, разные ручки управления.
Bytespider и подобные — почему закрываю не думая
Тот самый всплеск в марте оказался именно Bytespider — краулером ByteDance. У него давняя репутация: игнорирует Disallow чаще, чем остальные крупные боты, и приходит агрессивно, пачками запросов. После того как я закрыл его через robots.txt на нескольких проектах, нагрузка на хостинг по логам упала заметно, а трафика сайт не потерял ни одной сессии — потому что с него и не было ни одной сессии, он никогда не давал ссылку обратно.
Та же логика с CCBot от Common Crawl: сам Common Crawl никому прямо не вредит, но его датасет берут десятки других компаний для своих моделей. Закрыл CCBot — закрыл сразу много непрямых путей использования контента, не разбираясь, кто там дальше в цепочке.
Готовый блок robots.txt, который ставлю по умолчанию
Вариант «пускаю ответчиков, закрываю тренировочных и мусорных» — компромисс, который устраивает большинство клиентов. Меняется редко, разве что продукт сам переименует токен (так уже было с Claude-Web → anthropic-ai).
User-agent: GPTBot Disallow: / User-agent: ClaudeBot Disallow: / User-agent: anthropic-ai Disallow: / User-agent: CCBot Disallow: / User-agent: Bytespider Disallow: / User-agent: OAI-SearchBot Allow: / User-agent: ChatGPT-User Allow: / User-agent: Claude-SearchBot Allow: / User-agent: Claude-User Allow: / User-agent: PerplexityBot Allow: / User-agent: Perplexity-User Allow: /
Google-Extended и Applebot-Extended в этот блок сознательно не ставлю по умолчанию — решение завязано на то, продаёт ли клиент что-то через контент-партнёрства или просто не хочет отдавать текст бесплатно. Тут я не угадываю за клиента, спрашиваю прямо.
Как проверить, что боты реально приходят, а не просто существуют в теории
Яндекс.Метрика и большинство счётчиков аналитики эту историю не покажут вообще — боты не выполняют JavaScript, счётчик на странице просто не сработает. Единственный честный источник — raw access-логи сервера или логи Cloudflare/хостинг-панели, если они есть. Смотришь по User-Agent, считаешь запросы за сутки, сверяешь с robots.txt.
Я писал отдельно про настройку самого robots.txt с нуля — если у тебя там сейчас пусто или стоит дефолт от движка, начни оттуда: базовая настройка robots.txt.
Ты вообще смотрел свой access.log хоть раз, или robots.txt у тебя стоит с запуска сайта и не трогался с тех пор?