要判断 AI 爬虫有没有来过你的网站,去查服务器访问日志里的 User-Agent,不要去翻答案截图。日志先看三件事:谁来请求过、请求了哪条路径、返回了什么状态码。上一篇《GEO 投入怎么衡量》写的提及率、准确率、引用率是答案侧证据;本篇是服务器侧证据。两条线可以互相印证,但不能互相替代。没被抓过,仍可能被第三方来源转述;被抓过,也不等于会被引用。做法是按训练、搜索、用户触发三类核对公开 UA;面向中国大陆读者时,还要单独核 Kimi、Bytespider、Baiduspider,不要只盯 GPTBot 和 PerplexityBot。有官方 IP 或反解方法的,再核来源地址。
答案里看不到,不等于没被抓过
常见误读有两种。
一种是答案里没提到品牌,就断定「AI 没来过」。日志里出现过,只说明机器请求过你;那一次生成有没有选中你,日志看不出来。
另一种是答案里提到了品牌,就断定「官网已经被抓过」。提到你,引用的可能是百科或媒体稿。引用率看的是有没有指向自有域名的链接;日志看的是自有域名有没有被请求过。
监测链要两半一起看。内容已经写了,日志里关键路径却是 403,那是技术问题,再写一页修不好。
先分清三种访问,再看 User-Agent
同一家公司通常不只派一种机器人。写进 robots.txt 之前,先按用途拆开,不要把「AI」当成一个开关。
截至 2026-08-13,几家有公开说明的平台,大致是这三类(UA 版本号会变,日志检索用关键词即可):
| 用途 | 它来做什么 | 公开文档里的例子 | 挡掉会怎样(按其自述) |
|---|---|---|---|
| 训练型 | 收集可能用于训练的网页 | GPTBot;ClaudeBot;KimiBot | 未来材料不进其训练语料;不等于退出搜索结果 |
| 搜索型 | 为产品内搜索/答案做索引 | OAI-SearchBot;Claude-SearchBot;PerplexityBot;Kimi-SearchBot | 更难出现在对应产品的搜索结果里 |
| 用户触发 | 用户提问或粘贴链接时临时取页 | ChatGPT-User;Claude-User;Perplexity-User;Kimi-User | 这一次实时取页可能失败;是否遵守 robots.txt 各家口径不一(见后文) |
OpenAI、Anthropic、Perplexity 以及 Kimi,能对上这张表。Google-Extended 是 robots.txt 产品令牌,日志里搜不到这条独立 UA。命中 Googlebot 不能当成「Gemini 训练爬虫来过」。
国内几家不能拿这张表硬套。截至 2026-08-13:
| 你关心的产品 | 日志检索词 | 官方口径 | 不能写成 |
|---|---|---|---|
| Kimi | KimiBot / Kimi-SearchBot / Kimi-User | 政策页:训练 / 搜索 / 用户触发三分独立,并给 IP JSON | — |
| 豆包 / 头条系 | Bytespider | 头条搜索站长平台:头条搜索爬虫,抓网页做检索;豆包没有另拆三套 UA | 「豆包官方训练爬虫」 |
| 百度 AI 搜索 / 文心联网 | Baiduspider(含 -render) | 搜索资源平台:为百度搜索建索引;禁止后,百度及百度提供搜索服务的引擎都搜不到。官方 UA 表无独立「文心」爬虫 | 「文心专用爬虫」;「挡掉只退出 AI 答案」 |
| DeepSeek | DeepSeekBot(第三方流传) | 未见官方爬虫说明 | 「DeepSeek 官方爬虫来过」 |
通义、智谱、元宝同期也没有与 Kimi 同级的官方爬虫页;日志里的 QwenBot、ChatGLM-Spider、YuanbaoBot 按「声称」记。阿里云 WAF 把 Bytespider 标成训练类、把 OAI-SearchBot 标成 AI 搜索。那是云厂商标签,不能替代字节站长说明。
User-Agent 谁都能仿。OpenAI、Perplexity、Kimi 公布了部分机器人的 IP JSON;百度官方要求反解 IP,hostname 应为 *.baidu.com 或 *.baidu.jp。Bytespider 以头条搜索站长平台当时的说明为准,不要拿过期的第三方 IP 段当永久名单。对得上才从「声称」改成「核实」。
robots.txt 放行要按用途拆开
GEO 要的是公开页能被搜索型抓到。训练型是否放行是合规决定,和搜索型分开写。OpenAI 写明可以放行 OAI-SearchBot、同时拒绝 GPTBot。Kimi 同样三分独立。
面向中国大陆读者时,搜索型不要只写海外两家:
- 想被 Kimi 搜索检索到:放行
Kimi-SearchBot(用户触发放行Kimi-User;KimiBot是训练,单独决定)。 - 想进头条 / 字节检索生态:放行
Bytespider。它按官方说明是搜索爬虫,挡掉会退出该检索生态。 - 想进百度检索(含其提供搜索服务的产品):放行
Baiduspider。挡掉会退出百度检索体系。
对公开的服务页、案例、洞察文章,海外侧仍是:搜索型放行、用户触发放行、训练型单独签字。不要假设放行训练就能换来引用。
不要用 User-agent: * 加整站 Disallow 当「安全默认」,那会连搜索型一起切掉。后台和含个人信息的路径用路径级 Disallow 或鉴权。
robots.txt 是约定,不遵守的请求它拦不住。用户触发抓取,OpenAI、Perplexity、Kimi 都写过可能不适用;Anthropic 宣称 Claude-User 仍遵守。WAF / CDN 可能在读到文件之前就挡掉请求。Perplexity 写明 WAF 侧可能要按官方 UA 和 IP 放行。
改完不要当天下结论。OpenAI 与 Perplexity 写过搜索侧大约最多 24 小时才按新文件调整,只约束这两家;国内引擎没有同样的时效承诺。
日志里实际查什么
先确认日志在哪。源站 Nginx / Apache 的 access log 是一种;前面有 CDN 时,被缓存命中的请求可能根本不到源站。只翻源站、断定「没人来过」,会漏掉 CDN 侧已经记下来的抓取。
常见 Combined 格式里,User-Agent 在行末引号内。对你自己的访问日志做初筛,可以用关键词(版本号不要写死):
GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-SearchBot|Claude-User|PerplexityBot|Perplexity-User|KimiBot|Kimi-SearchBot|Kimi-User|Bytespider|Baiduspider|DeepSeekBot
筛出来之后,不要停在「有 / 没有」四个字。至少记四列:
| 列 | 记什么 | 用来判断 |
|---|---|---|
| 时间 | 请求时间 | 能否和内容上线、robots 变更对上 |
| UA 关键词 | 落在上表哪一类 | 来的是训练、搜索,还是用户触发 |
| 路径 | 请求的 URL | 来的是服务页、案例、还是被 Disallow 的后台 |
| 状态码 | 200 / 301 / 403 / 404 | 发现了你,是否真的拿到了正文 |
再加第五列:有官方 JSON 的对 IP;百度按官方方法反解 hostname;其余保持「声称」。仿 UA 的扫描很多,写进报告会污染基线。
抓取频率说明什么、不说明什么
日志能支撑的都很具体:某段窗口内某类 UA 是否出现、要了哪些路径、是 200 还是被拦、robots 变更后搜索型状态码有没有从 403 变成 200。这些可以和问题基线复验并列,当作服务器侧的一页。
日志证明不了会被引用、会被说对,也证明不了能带来询盘。没来过也推不出该停工:答案仍可能从第三方转述你。用户触发 UA 出现,只说明那一次有人问到了相关内容,推不出站点级收录,也推不出「品牌已经被模型记住」。
和答案侧三个口径怎么对照:
| 服务器侧 | 答案侧 | 更可能先查哪边 |
|---|---|---|
| 搜索型 UA 没有、或关键页 403/404 | 提及率、引用率都低 | 先修可抓取:robots、WAF、状态码,再谈内容产量 |
| 搜索型 UA 稳定 200 | 提及率低 | 内容:场景页与证据是不是还没覆盖那些问题 |
| 搜索型 UA 稳定 200 | 提及率高、准确率高、引用率低 | 技术:实体、结构化数据、llms.txt 等机器入口 |
| 只有用户触发、几乎没有搜索型 | 偶尔被提到 | 优先查有没有进索引队列;实时抓取只说明有人问到了,下次未必还能再被找到 |
第三行最容易误判:团队觉得「都来抓过了,应该已经好了」,答案却继续引别人。抓取证明机器碰到过你,不证明它确认「这些事实出自你」。
本周可以做的一件事
只做一件事:从你能拿到的最近 7 天访问日志(有 CDN 就加上 CDN 侧)里,按上面的关键词筛一页表。
表头用上一节那四列;有 JSON 的对 IP,百度做反解。对照 robots.txt:国内检索爬虫和训练型是分开写的,还是被 User-agent: * 一刀切掉。
验收:没碰过日志的同事应能看出 Kimi / Bytespider / Baiduspider 以及 GPTBot、PerplexityBot 来过没有、是 200 还是被拦。答不清就还只是一次 grep。
常见问题
日志里完全没有这些 UA,GEO 是不是白做?
推不出这个结论。没出现只说明:这段窗口、这块日志里没有匹配到这些字符串。可能被 robots 或 WAF 挡了,可能日志不在源站,也可能间隔比 7 天长。推不出「做内容没有意义」,也推不出「答案里不会提到你」。
训练型要不要放行?
放行与否由合规决定。监测只要求你把决定写进 robots.txt,并且不要和搜索型绑死。想被 ChatGPT 搜索、Perplexity、Kimi 搜索检索到,放行对应搜索型 UA;想进头条/百度检索生态,放行 Bytespider / Baiduspider。后两家没有「只挡训练、保留搜索」的独立开关。没有全站唯一正确答案。
User-Agent 能伪造,这套方法是不是没用?
初筛会脏,所以有 JSON 的对 IP,百度按官方方法反解,没有的保持「声称」。脏数据该降级置信,日志仍要记;对不上官方来源的命中,只作「声称」,不要写进基线。
抓得很勤,是不是可见度在变好?
说明不了。勤可能是发现、重试或扫 sitemap。要看路径是不是你想被抓的公开页,以及状态码是不是 200。频率单独涨,不构成效果叙事。改完 robots 之后,以实际状态码为准,不要按抓取次数讲故事。
只放行 GPTBot 和 PerplexityBot,国内 AI 搜索能看到我吗?
不能这么推。GPTBot 按 OpenAI 自述是训练爬虫;ChatGPT 搜索看的是 OAI-SearchBot。国内读者更多走豆包、百度 AI 搜索、Kimi、DeepSeek。Kimi 要放行搜索型;豆包/头条生态看 Bytespider;百度系看 Baiduspider。DeepSeek 没有官方爬虫页,robots 里写 DeepSeekBot 只能算声明意图。
中屹信息提供生成式引擎优化(GEO)服务,覆盖诊断→内容→技术→监测。我们交付可验证的内容与技术基建、以及按问题基线复验的记录,不承诺不可控的 AI 推荐或排名结果。若需要把本文方法落到你的官网,可从服务或联系开始。