光看 user-agent 判断 AI 爬虫,会有大概两成是假的。2025 年 11 月整月,我们统计了四个客户站的日志,AI 爬虫请求合计 4.2 万次,其中自称 GPTBot 的 1.9 万次,核对 IP 之后只剩 1.1 万次是真的。
四个识别特征
一、user-agent 字符串。 GPTBot 的完整串是 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.2; +https://openai.com/gptbot。注意后面那个说明 URL,正规爬虫都会带。
二、来源 IP。 OpenAI 公开了爬虫的 IP 段,维护在 openai.com/gptbot.json 这类文件里。这一段是关键,UA 能伪造,IP 段伪造不了。
三、请求路径分布。 真爬虫的路径分布很散,会顺着内链爬。假爬虫常常只打首页、sitemap 和几个热门 URL,因为它在扫。
四、时间分布。 真爬虫按队列来,节奏均匀,凌晨也有。假爬虫扎堆在某个小时。
怎么核对 IP
两步。先把日志里的 IP 提出来做反向解析,看 PTR 记录是否落在官方域名下;再拿 IP 去官方公布的段里做匹配。两步都过才算真。
我们一开始偷懒只做了 UA 过滤,得出"GPTBot 抓了 1.9 万次"的结论,还挺高兴。后来做 IP 核对,发现 8000 次的来源是几个云主机 IP,UA 一模一样,路径全在首页。那批是有人在批量采集。
一个月的数据
| 爬虫 | 声称次数 | 核实后 |
|---|---|---|
| GPTBot | 19000 | 11000 |
| OAI-SearchBot | 4100 | 3400 |
| ChatGPT-User | 1200 | 900 |
| PerplexityBot | 2300 | 1900 |
| ClaudeBot | 3200 | 2800 |
| Bytespider | 17000 | 16000 |
Bytespider 是字节的爬虫,量大是正常的。OAI-SearchBot 值得单独说:它负责给 ChatGPT 搜索抓内容,抓得比 GPTBot 频繁,路径也更集中在对比页和文档页。
这个统计能干什么
第一,判断你的文档有没有人在读。如果一个站 GPTBot 三个月没来,不是它屏蔽你,是你没内链、没 sitemap、或者全站都在 robots 里挡着。
第二,看它抓了什么。OAI-SearchBot 如果反复抓你的定价页和对比页,说明你的对比类内容进了它的候选池,这时候把这两页做得更可引用,收益最直接。
第三,发现抓取异常。有个客户站 11 月中旬 GPTBot 访问量突然掉 90%,查出来是他们上了 CDN 的防爬规则,把 AI 爬虫一起挡了。这种事故不看日志永远发现不了。
怎么把这件事做成常态
我们现在给客户的建议是每月跑一次,写成一个固定脚本,输出三行字:本月 AI 爬虫总请求、核实后占比、抓取最多的五个路径。三行字放在月报第一页,比任何流量曲线都直观。
有个客户靠这三行字发现了另一件事:他们的文档站被 OAI-SearchBot 抓得很勤,但博客基本没人碰。原因是博客全是"行业趋势"这类内容,没有能被直接搬走的答案。他们后来把博客砍掉一半,人挪去做文档,两个月后文档的引用进了 AI 回答。
日志不会告诉你该写什么,但它会告诉你什么没被读。后者更有用。
一句提醒
别为了好看去改 UA 统计口径。我们见过代理商把 Bytespider 全算成"AI 搜索流量",数字翻了三倍。跟老板汇报前,先问一句这批 IP 核实过没有。
元析智能
为软件公司做 SEO 和 GEO 优化