AI-краулеры и верификация ботов
Как отличить настоящего GPTBot от скрапера с поддельным User-Agent: HTTP Message Signatures и аналитика AI-краулеров
Верификация AI-агентов — это проверка криптографической подписи HTTP-запроса (HTTP Message Signatures), которую настоящие боты OpenAI, Anthropic, Perplexity и Google прикладывают к своим краулерам. Поддельный User-Agent без валидной подписи помечается как неверифицированный.
Зачем верифицировать AI-краулеров
User-Agent легко подделать: любой скрапер может назваться GPTBot и обойти ваши правила robots.txt. Настоящие AI-краулеры подписывают запросы по стандарту HTTP Message Signatures — публичный ключ лежит в /.well-known/http-message-signatures-directory. Проверка подписи позволяет точно отличить официального агента от имитатора и принимать разные решения: верифицированному боту — полный доступ, скраперу — ограничение или блок.
Что делает GEO Engine
- Принимает события краулинга от сайта (CMS-агент или JS-сниппет) вместе с заголовками подписи
- Проверяет подпись: keyid → directory провайдера → криптографическая верификация (Ed25519/RSA), срок действия и окно replay
- Сохраняет результат верификации: verified / failed + причина (signature_mismatch, expired, unknown_key и т.д.)
- Показывает в аналитике долю верифицированных хитов по каждому AI-агенту — отдельно от UA-only трафика
- Публичный эндпоинт /bot-auth/verify позволяет агенту проверить свою подпись самостоятельно
Важное ограничение: UA-строка сама по себе не является доказательством — только валидная подпись. Трафик без заголовков подписи честно считается неверифицированным, даже если User-Agent выглядит как GPTBot.
Чем верифицированный AI-бот отличается от обычного краулера в статистике?
Верифицированный бот прошёл проверку HTTP Message Signature — это доказанный официальный агент провайдера. Обычный трафик с похожим User-Agent остаётся неверифицированным и может быть скрапером.
Нужно ли что-то настраивать на сайте для верификации?
Достаточно передавать заголовки запроса в событиях краулинга — CMS-агент и сниппеты делают это автоматически. Провайдер публикует свои ключи в well-known директории, мы проверяем их при верификации.