AI 爬虫抓取验证:AI 想抓你的时候,路上有没有拦路石
很多站长以为 robots.txt 里写了 Allow 就万事大吉。但 robots.txt 只是一张「请求单」,真正决定爬虫能不能拿到内容的,是服务器、CDN 和防火墙。现实中更常见的情况是:robots.txt 明确放行 GPTBot,结果请求打到 Cloudflare 那一层被拦,返回 403——爬虫连 robots.txt 都读不到。这个工具做的事很直接:用每个 AI 爬虫真实的 User-Agent,替你访问一次网站,把它实际遭遇的响应原原本本记下来。
| 优先级 | 结论 | 爬虫 | HTTP | robots.txt | 响应 |
|---|
为什么允许了机器人还是抓不到
现代网站前面通常叠了好几层防护,AI 爬虫要穿过其中每一层才能拿到内容:
- CDN 层——不少 CDN 提供了「一键拦截 AI 爬虫」的开关,开了之后所有 AI 爬虫直接吃 403,与 robots.txt 无关。
- WAF / 防火墙层——按 User-Agent 黑名单拦截,或者把非浏览器 UA 一律当作可疑流量。
- 安全插件层——WordPress 等站点装的防护插件,常有机器人规则或频率限制。
- 服务器 / 应用层——robots.txt 规则、meta robots 的 noindex,以及需要登录或 JS 渲染才能看到的内容。
这四层里,只有最后一层能靠改 robots.txt 解决。前三层必须用真实 UA 发一次请求才能暴露出来,这正是本工具的价值。
怎么读检测结果
结论分三档:
- 通过 爬虫拿到了 200,通道畅通。
- 警告 遇到频率限制(429)或非致命状态码,可能偶发失败。
- 被拦 403 / 超时 / SSL 失败 / robots 明确禁止——AI 拿不到你的内容。
重点关注高优先级爬虫:GPTBot、OAI-SearchBot、ClaudeBot、PerplexityBot、CCBot、Googlebot、bingbot,以及国内的 Bytespider(豆包)、Baiduspider、Kimi 系列。这一档里任何一个被拦,都意味着对应平台对你的引用通道被切断。
常见问题
robots.txt 里允许了 AI 爬虫,为什么还是抓不到?
robots.txt 只是一份约定,不代表服务器会真的放行。常见拦截发生在更外层:CDN 的「AI 爬虫拦截」开关、WAF 的 User-Agent 黑名单、安全插件的机器人规则,甚至机房 IP 段封禁。这些层级会直接返回 403 或断开连接,爬虫根本读不到 robots.txt。所以必须用真实 UA 发一次请求,才能看到爬虫实际遭遇什么。
检测结果里的状态码代表什么?
200 表示可正常抓取;403 多为被 WAF 或服务器按 UA 拦截;429 表示触发频率限制;5xx 表示服务器异常;连接超时或 SSL 失败则意味着爬虫同样抓不到。带「robots 禁止」标记的条目说明服务器放行但 robots.txt 里明确拒绝。
User-Agent 检测结果完全可信吗?
有两点局限。一是 UA 可以伪造,仅凭 UA 无法确认请求一定来自对应厂商,厂商若提供官方 IP 清单应结合 IP 或反向 DNS 验证;二是用户触发型抓取器可能忽略 robots.txt。本工具反映的是「以该 UA 访问时服务器的真实响应」,最适合排查 CDN 与防火墙误拦截。
哪些 AI 平台无法用 User-Agent 检测?
不通过 UA 标识自己的平台无法用这种方式检测,只能靠官方 IP 段识别,例如 Grok、Bing Copilot 的对话模式,以及各类 AI 浏览器——它们的 UA 与普通浏览器完全一致。另外国内部分厂商(如 DeepSeek、通义、智谱)未发布正式爬虫文档,工具内的相关 UA 来自公开观测,结果仅供参考。