ИИ-трафик: кто ходит на сайт и как это увидеть

Обновлено в ноябре 2026.
Раздел практики: SEO и ИИ · GEO и AEO · детекция ИИ-контента · ИИ-агенты в браузере.
7 ноября 2026 мы задали себе простой вопрос: пускаем ли мы ИИ-краулеры. В robots.txt bigfozzy.com шесть директив с Allow: / — GPTBot, ChatGPT-User, CCBot, YandexAdditional, Google-Extended, PerplexityBot. То есть сайт открыт. Мы отправили на прод 192 запроса двумя перемешанными сериями (по 8 на токен) и сравнили коды. Результат: 503 Service Temporarily Unavailable 25 раз, и все 25 пришлись на пять токенов — Amazonbot (8 отказов из 8, то есть всегда), GPTBot без URL в подписи (9 из 16), GPTBot (4 из 16), ChatGPT-User (2 из 8) и Claude-User (2 из 8). Googlebot, YandexBot, браузер, PerplexityBot и случайно выдуманный токен Nerandombot за те же прогоны не получили ни одного отказа.
Коротко: robots.txt — это просьба, а не пропуск. Реальность надо проверять тремя приборами: списком токенов (кто за что отвечает), живым запросом под этим токеном (доходит ли бот) и разбором лога (сколько раз дошёл за месяц). Ниже — таблицы токенов по официальной документации с датой сверки 07.11.2026, наш замер с командами воспроизведения и разбор логов, который мы сначала прогнали самотестом на синтетическом файле: наивный grep по строке завысил число обращений GPTBot вдвое.
- 1Определить токенобучение, индекс или запрос пользователя
- 2Проверить, что бота пускаютGET с его User-Agent и кодом ответа
- 3Посчитать в логепо полю User-Agent, не grep по всей строке
Под «ИИ-трафиком» четыре разных потока
Слово «бот» в разговоре про ИИ склеивает четыре разных механизма. Разница между ними практическая: у каждого свой токен, свой документированный ответ на robots.txt и своя цена запрета. Если вы запретите «ИИ вообще», скорее всего вы запретите обучение и пропустите запросы пользователей — или наоборот.
| Поток | Кто приходит | Зачем | Читает ли robots.txt |
|---|---|---|---|
| Сбор данных для обучения | краулер вендора (GPTBot, ClaudeBot, Amazonbot, CCBot) | забрать тексты в обучающий корпус | да, вендоры это документируют |
| Индекс для ИИ-ответов | search-краулер (OAI-SearchBot, PerplexityBot, DuckAssistBot, MistralAI-Index) | построить индекс, по которому ассистент отвечает | да |
| Запрос пользователя | фетчер по событию (ChatGPT-User, Claude-User, Perplexity-User, Google-Agent) | открыть вашу страницу, когда ей задали вопрос | не гарантировано — формулировки «may not apply» и «generally ignore» |
| Человек из ассистента | обычный браузер | перешёл по ссылке в ответе | не применимо: видно только по Referer и utm |
Краулеры обучения и индекса: кого настраивать в robots.txt
Первая таблица — токены, которые ходят по сайту сами, без пользователя. Колонка «IP-список» важна: это единственный способ проверить, что за вашим User-Agent пришёл настоящий бот, а не кто-то, кто подделал строку. Публикуют такие списки не все; где списка нет — честное «не раскрыт» вместо выдуманного URL.
| Токен | Вендор | Назначение по документации | robots.txt | IP-список |
|---|---|---|---|---|
GPTBot | OpenAI | обучение моделей | да | gptbot.json |
OAI-SearchBot | OpenAI | индекс для ChatGPT Search; вендор советует разрешать | да | searchbot.json |
OAI-AdsBot | OpenAI | проверка страниц, поданных в рекламу; не обучение | да | adsbot.json |
ClaudeBot | Anthropic | обучение | да | bots.json |
Claude-SearchBot | Anthropic | индекс для поиска Claude | да | там же |
PerplexityBot | Perplexity | индекс и ссылки в ответах; прямо сказано — не для обучения базовых моделей | да | perplexitybot.json |
DuckAssistBot | DuckDuckGo | обход в реальном времени для ответов; заявлено — не для обучения | да, применяет в течение 72 часов | duckassistbot.json |
CCBot | Common Crawl | публичный корпус, из которого учатся многие модели | да | не раскрыт |
Amazonbot | Amazon | товары и поиск Alexa; может использоваться для обучения ИИ | да (RFC 9309), кеш robots.txt до 30 дней | /ip-addresses/ |
Amzn-SearchBot | Amazon | поиск, генеративное обучение исключено по docs | да | /searchbot-ip-addresses/ |
meta-externalagent | Meta | обучение и индексация (в справке токен строчными буквами) | да, кроме проверок безопасности | не раскрыт |
meta-webindexer | Meta | индекс | да | не раскрыт |
MistralAI-Training | Mistral | обучение; единственный токен вендора, который прямо советуют запрещать | да | не раскрыт |
MistralAI-Index | Mistral | индексация без обучения | да | IP в справке |
Applebot | Apple | поиск, Siri, Spotlight | да; если Applebot не назван, следует инструкциям для Googlebot; crawl-delay не соблюдает | applebot.json |
YandexBot, YandexMobileBot | Яндекс | основной индекс | по каждой группе роботов в справке — свои правила, часть не следует общему robots.txt | не раскрываются (AS13238, AS208722, AS212066) |
Сверка по первоисточникам сделана 07.11.2026. Даты обновления есть не везде: у Apple — 04.09.2026 и 09.09.2026, у Amazon — 26.10.2026, у страницы Anthropic в метаданных 04.11.2026; у OpenAI, Perplexity, Meta и Google страница справочника дату «обновлено» не показывает, поэтому ссылки ведут на рабочий документ, а не на архивную копию.
Фетчеры по запросу пользователя: robots.txt тут не аргумент
Эти обращения приходят, когда человек уже спросил ассистента про ваш сайт или про тему. Формулировки вендоров здесь заметно мягче: «правила robots.txt могут не применяться» у OpenAI, «как правило игнорируют robots.txt» у Google в списке user-triggered-фетчеров, «generally ignores robots.txt rules» у Perplexity. Значит, запрет в robots.txt от этих визитов вас не защитит — и одновременно не поможет попасть в ответ.
| Токен | Когда приходит | Что заявлено о robots.txt |
|---|---|---|
ChatGPT-User | пользователь ChatGPT открывает страницу, упомянутую в ответе; также действия в GPT Actions | «правила могут не применяться» |
Claude-User | то же у Anthropic | robots.txt соблюдает, поддерживает нестандартный Crawl-delay |
Perplexity-User | ответ на вопрос пользователя | «как правило игнорирует» |
Google-Agent | агент работает в браузере по задаче пользователя | из группы фетчеров, которые обычно robots.txt не читают; IP — в user-triggered-agents.json, верификация через Web Bot Auth (agent.bot.goog) |
Amzn-User | пользователь Alexa.com | «может следовать не всем директивам» |
MistralAI-User | действия ассистента Vibe по запросу | индекс и обучение вынесены в отдельные токены |
meta-externalfetcher | запрос пользователя Meta | для пользовательских выборок обход robots.txt допустим |
Отказ от обучения бывает токеном без User-Agent
Отдельный класс — директивы, у которых нет своего запроса. Вы не увидите их в логе как User-Agent, потому что это не краулер, а переключатель, который читается вместе с основным роботом.
| Директива | Что регулирует | Что остаётся работать |
|---|---|---|
Google-Extended | использование контента в Gemini (обучение и grounding) | ранжирование в Поиске Google — запрета на него здесь нет |
Applebot-Extended | обучение фундаментальных моделей Apple; в справке прямо указано, что сам этот токен страницы не обходит | поиск, Siri, Spotlight (это Applebot) |
Вместо них вчерашним «магическим» тегом тоже не обойтись: noai и nokb не документирует ни один из вендоров, чьи страницы мы читали 07.11.2026. Документированы — директивы robots.txt, контрольные токены выше и, у Google, meta-инструкции nosnippet и max-snippet:0: в справке о robots-тегах сказано, что они дополнительно мешают использовать страницу как прямой вход для AI Overviews и AI Mode. Развивается и машиночитаемый сигнал отказа: Anthropic с 30.10.2026 понимает черновик IETF aipref, Google обещает поддержку в начале 2027 года в форме user-agent: __usage_ai-training.
Allow в robots.txt не значит, что бота пускают: наш замер
Здесь и начинается то, чего нет в справочниках. Мы проверили собственный сайт — тем же способом, каким любой вебмастер может проверить свой за пять минут: GET-запрос с нужной строкой User-Agent. Ниже — контрольный прогон 07.11.2026: 16 токенов, по 8 запросов на токен, 192 запроса, порядок перемешан, пауза 700 мс, чтобы отказ нельзя было объяснить троттлингом по частоте. Прибор — node tools/ai-crawler-throttle-20261107.js 8 --families, вывод лежит в репозитории (docs/audit/evidence/_ai-crawler-throttle-run3-families-2026-11-07.txt), так что цифры можно перепроверить или переснять после починки.
| User-Agent в запросе | Запросов | 200 OK | 503 | Доля отказа |
|---|---|---|---|---|
Amazonbot | 8 | 0 | 8 | 100 % |
GPTBot (подпись без URL) | 16 | 7 | 9 | 56,3 % |
GPTBot | 16 | 12 | 4 | 25,0 % |
ChatGPT-User | 8 | 6 | 2 | 25,0 % |
Claude-User | 8 | 6 | 2 | 25,0 % |
ClaudeBot | 16 | 16 | 0 | 0 % |
OAI-SearchBot | 8 | 8 | 0 | 0 % |
PerplexityBot | 16 | 16 | 0 | 0 % |
PerplexityUser | 8 | 8 | 0 | 0 % |
meta-externalagent | 8 | 8 | 0 | 0 % |
Google-Other | 8 | 8 | 0 | 0 % |
YandexAdditionalBot | 8 | 8 | 0 | 0 % |
| Googlebot | 16 | 16 | 0 | 0 % |
| YandexBot | 16 | 16 | 0 | 0 % |
| браузер (Chrome 131) | 16 | 16 | 0 | 0 % |
Nerandombot (выдуманный токен-контроль) | 16 | 16 | 0 | 0 % |
Отказ приходит быстро — за 44–48 мс (в одном прогоне первый отказ тянул 292 мс), телом 207 байт («503 Service Temporarily Unavailable», сервер nginx-reuseport/1.21.1) и без заголовка Retry-After. Для краулера это не «занято, вернись позже», а молчаливый дроп: бот без политики повторов просто не заберёт страницу. При этом когда пускает — отдаёт ровно то же, что человеку: девять разных User-Agent на одной статье вернули 76 138 байт с одинаковой md5 8031e83e…, так что дело не в контенте и не в кеше версии страницы.
Важная деталь про метод: фильтр смотрит на строку User-Agent, а не на IP и не на «автоматичность» запроса. Случайный токен Nerandombot прошёл чисто, выдуманный Google-Other и реальный meta-externalagent — тоже, а GPTBot отбивался. И правило не одинаковое для разных токенов: Amazonbot отсекается детерминированно (8 из 8 — это уже не «иногда», а запрет), а краулеры OpenAI и Anthropic с признаком -User проходят выборочно. Отсюда два практических вывода. Первый: проверять надо свой лог, а не надеяться, что «раз разрешено, значит пускают». Второй: однодневный прогон не даёт устойчивой доли — в этот же день ClaudeBot в одном срезе получил отказы, а в контрольном (16 запросов) не получил ни одного; поэтому ниже в таблице стоит n, а не «в среднем по сайту».
# проверка «пускают ли нас» — код ответа под нужным User-Agent, 4 повтора
for i in 1 2 3 4; do
curl -s -o /dev/null -w "%{http_code} " \
-A "Mozilla/5.0 (compatible; GPTBot/1.1; +https://openai.com/gptbot)" \
https://example.com/article.php
done
# ожидаемый здоровый вывод: 200 200 200 200 ; у нас в этот прогон: 200 503 200 503
# тот же токен на разных URL — чтобы отличить правило по UA от правила по странице
curl -s -o /dev/null -w "%{http_code}\n" -A "Mozilla/5.0 (compatible; GPTBot/1.1)" https://example.com/robots.txt
Отбивалось у нас всё: главная, обе страницы из разных разделов, хаб и даже сам robots.txt — 9 отказов из 20. То есть OpenAI не может стабильно прочитать даже файл, в котором мы его приглашаем. Проверка лежит в репозитории как инструмент: node tools/ai-crawler-throttle-20261107.js 8 --scope, дампы прогонов — в docs/audit/evidence/_ai-crawler-throttle-run1-2026-11-07.txt и …run2-scope-2026-11-07.txt.
Заодно снимем два бытовых заблуждения. Первое: «у меня же отдаётся 200 из браузера — значит боты проходят». Нет: вы смотрите на одно поле из шести. Второе: «robots.txt — забор». Это список правил для тех, кто согласен их читать; фетчеры по запросу пользователя, как видно из таблиц, заранее оговаривают, что могут не читать.
Где физически смотреть обращения
Классика — свой access_log. На shared-хостинге его отдают панель (Apache/Nginx-лог в файловом менеджере, AWStats/Webalizer) или SSH; наружу он обычно закрыт. У нас, например, /logs/ и /logs/access_log отвечают 404, /awstats/, /cgi-bin/ и /cp/ — 403, поэтому вывод о краулерах мы строим не на веб-статистике, а на прямом замере кодов ответа.
Формат combined: хост - - [время] "запрос" "referer" "user-agent" код размер. Ключевое: User-Agent — это третье кавычкой поле, то есть $6 при разделителе-кавычке, а не конец строки. Считать надо по нему.
# ИИ-боты по полю User-Agent: longest-first, строка = одно обращение
awk -F'"' 'BEGIN{split("oai-searchbot yandexadditionalbot claude-searchbot chatgpt-user \
claudebot claude-user perplexitybot perplexity-user google-agent googleother googlebot \
applebot-extended applebot meta-externalagent meta-externalfetcher meta-webindexer \
mistralai-training mistralai-user amzn-searchbot amazonbot amzn-user duckassistbot \
yandexmobilebot yandexbot gptbot ccbot",T," ")}
{ua=tolower($6); for(i=1;i<=length(T);i++) if(index(ua,T[i])){print T[i]; next}}' \
access_log | sort | uniq -c | sort -rn
# одно обращение = один токен: «next» в awk ищет первое совпадение и переходит к следующей строке,
# поэтому GPTBot не считается дважды из-за «openai.com/gptbot» в той же строке
Почему не «grep по всей строке, проще же». Мы собрали синтетический лог из 15 строк с заведомым ответом и прогнали оба варианта. По полю UA — ровно 13 найденных токенов при 13 засинтетических, пропусков и лишнего нет. Наивный grep -ci по строке дал GPTBot 2 при одном реальном обращении и CCBot 2 при одном: токен залез в ?q=GPTBot+vs+CCBot+Amazonbot в URL запроса. Отдельно проверили старый шаблон «токен обязателен со слэшем» — он молча теряет ChatGPT-User, Claude-User, GoogleOther и (Applebot-Extended): у этих подписей в конце нет версии через косую черту, они стоят в хвосте строки или в скобках. Самотест прибора — node tools/ai-log-tally-20261107.js, вывод в docs/audit/evidence/_ai-log-tally-selftest-2026-11-07.txt.
Ещё одна грань: регистр и дефисы. В наших строках Meta пишет токены строчными (meta-externalagent/1.1), и вариант «Metawebindexer» без дефиса наш шаблон пропускает — дрейф написания в логах реален. Поэтому разбор идёт без учёта регистра (tolower), а список токенов стоит перечитать в справке вендора, когда в логе появляется ноль при живом интересе.
Рефералы: как увидеть человека, пришедшего из ассистента
Второй поток — не бот, а visitor. Он ничем не отличается от обычного перехода по ссылке, кроме поля Referer. Считается тем же разбором, только по четвёртому полю (второе кавычкой — Referer):
awk -F'"' '{print $4}' access_log \
| grep -oiE '(chatgpt\.com|perplexity\.ai|claude\.ai|gemini\.google\.com|copilot\.microsoft\.com|meta\.ai|grok\.com|duck\.ai|chat\.deepseek\.com|notebooklm\.google\.com)' \
| tr 'A-Z' 'a-z' | sort | uniq -c | sort -rn
| Referer-домен | Откуда | Признак в URL |
|---|---|---|
chatgpt.com (ранее chat.openai.com) | ChatGPT | Plausible отмечает добавленный ?utm_source=chatgpt.com |
perplexity.ai | Perplexity | — |
claude.ai | Claude | — |
gemini.google.com (старый bard.google.com) | Gemini | — |
copilot.microsoft.com | Copilot | — |
meta.ai, grok.com, duck.ai, chat.deepseek.com, you.com, chat.mistral.ai, notebooklm.google.com | прочие ассистенты | — |
Источник списка — публикуемый справочник Matomo AIAssistants.yml (прочитан 07.11.2026) и заметка Plausible об ИИ-рефералах; GA4 с 2025 года даёт канал «AI Assistants» с medium ai-assistant, но страница справки рендерится скриптами и полностью считалась только часть формулировки, поэтому в отчётах GA4 правило стоит перепроверить глазами. Честное ограничение по России: официального источника, какой Referer присылает Яндекс с ответами Алисы, найти не удалось — не подтверждаем и в таблицу не включаем. Вывод по этому разделу простой: ИИ-рефералов видно меньше, чем их есть, потому что часть ассистентов не добавляет Referer вообще.
Что выбрать: цена разрешения и цена запрета
Решение лежит в модели дохода: вас цитируют и вы получаете клик из ответа, либо вас не используют для обучения и вы теряете видимость. Полезно знать, как быстро решение вступает в силу — по официальным справкам:
- DuckDuckGo — применяет robots.txt в течение 72 часов, обучение для DuckAssistBot исключено самим вендором.
- Яндекс — чтобы контент не использовали в ИИ-ответах, нужно добавить запрет
YandexAdditionalилиYandexAdditionalBotв robots.txt; эффект после переобхода — «обычно 2–14 дней». Выключателя в Вебмастере нет, и официального заявления о том, что контент сайта идёт в обучение моделей, мы не нашли. - Amazon — кеширует robots.txt до 30 дней, то есть запрет подействует не сразу.
- OpenAI, Anthropic, Perplexity, Google — срок вступления директив в силу не заявлен; Anthropic при этом поддерживает
Crawl-delay, которого нет в стандарте.
Что мы решили по своему сайту: убирать Allow из-за страха перед обучением бессмысленно ровно до тех пор, пока краулер не доходит до страницы. Сначала — починить 503, потом считать цитирования. Пока GPTBot получает отказ в 4 случаях из 10, правки под GEO/AEO на наших страницах дают ноль, и это тот случай, где сначала снимают блок, а не наращивают объём.
Проверить свой сайт за 15 минут
Ниже — набор действий, который закрывает тему без доступа к чужим платным «AI-видимостям». Порядок важен: сначала проверяем проходимость, потом считаем, потом решаем про запреты.
- Откройте свой
robots.txtи выпишите, какие ИИ-токены названы и с каким действием. Если их нет — действуетUser-agent: *, и надо понимать, что именно он разрешает. - Прогоните по 4 запроса с User-Agent каждого интересующего токена (команда выше). Ноль ошибок — пропускаете; есть 4xx/5xx — ищите правило на уровне хостинга, а не в коде сайта.
- Сверьте, что бот настоящий: проверьте обратную DNS-запись источника (
dig -x IP) и сверьтесь со списком IP вендора. Там, где списка нет, остаётся только reverse DNS — и это надо признать, а не выдавать за проверку. - Посчитайте за месяц по полю User-Agent, а не grep по строке. Разделите краулеров обучения, поисковых и пользовательских — у них разные выводы.
- Отдельно посчитайте рефералы по
$4: это ваш человеческий трафик из ассистентов, и он обычно меньше, чем кажется по скриншотам чужих отчётов. - Только после этого выбирайте Allow или Disallow — и проверяйте срок вступления (72 часа, 2–14 дней, до 30 дней в зависимости от вендора).
Чего в этом тексте нет и почему
Чтобы не плодить то, что и так не проверяется. Не подтверждено: официальное описание токена Bytespider (ByteDance) — страница bytedance.com/en/robots отдала 404 07.11.2026, поэтому токен в команду разбора не включён; токены cohere-training-data-crawler, Timpibot, IBM и Grok встречаются только в сторонних каталогах, а не в справках вендоров; даты обновления не показаны на страницах OpenAI, Perplexity, Meta и Google; точную строку User-Agent для CCBot Common Crawl не публикует (подтверждён только токен). Не подтверждается как рабочий механизм: теги noai и nokb — их нет ни в одной из прочитанных справок.
По теме: GEO и AEO: как попасть в ответы ИИ-поиска · ИИ-агенты в браузере · как поисковики определяют ИИ-контент · ИИ-аналитика трафика.
Ещё: SEO и ИИ: карта раздела · ИИ для техаудита и логов · взлом и малвара сайта · фильтры и риски SEO.
Частые вопросы
Чем краулер для обучения отличается от краулера для поиска?
GPTBot и ClaudeBot собирают тексты для обучения моделей, а OAI-SearchBot, PerplexityBot и DuckAssistBot строят индекс, по которому ассистент потом отвечает на вопросы пользователей. Это разные токены в robots.txt: запретив первый, вы не запретите второй, и наоборот.
Достаточно ли разрешить бота в robots.txt, чтобы ИИ нас читал?
Нет. На нашем сайте robots.txt разрешает GPTBot строкой «Allow: /», но в контрольном прогоне 07.11.2026 фронтенд отдал 503 на 13 запросов из 32 с этим токеном в User-Agent (40,6 %), а Amazonbot не прошёл ни разу — 8 отказов из 8. Контрольные User-Agent (браузер, Googlebot, YandexBot, PerplexityBot, выдуманный Nerandombot) за те же прогоны не получили ни одного отказа.
Работает ли meta robots noai или nokb?
Нет подтверждений. Ни Google, ни OpenAI, ни Anthropic, ни Perplexity, ни Apple, ни Amazon не документируют теги noai и nokb. Документированы: директивы robots.txt, токены Google-Extended и Applebot-Extended, а у Google — ещё nosnippet и max-snippet:0, которые по его же справке блокируют использование страницы как прямого входа для AI Overviews и AI Mode.
Как посчитать ИИ-ботов в access_log и не соврать?
Считать по полю User-Agent, а не grep по всей строке: в combined-формате это шестое поле, если разделять строку по кавычкам. Простой grep -c «GPTBot» по нашему синтетическому логу дал 2 при одном реальном запросе — потому что токен попал в URL запроса. Рабочая команда с самотестом — в разделе про разбор логов.
Когда запрет становится видимым для ИИ-поиска?
Сроки из официальных справок: DuckDuckGo применяет robots.txt в течение 72 часов, Яндекс по ИИ-ответам — 2–14 дней после переобхода, Amazon кеширует robots.txt до 30 дней. У OpenAI и Anthropic срок вступления в силу не заявлен.
Как выглядит посетитель, пришедший из ChatGPT?
В логе это обычный браузер, у которого поле Referer = chatgpt.com, а в URL добавлен utm_source=chatgpt.com. В список реферальных доменов ИИ-ассистентов входят также perplexity.ai, claude.ai, gemini.google.com, copilot.microsoft.com, meta.ai, grok.com, duck.ai, chat.deepseek.ai.