域名解析好了,小绿锁亮了,浏览器里每个页面都能打开。这就完事了?不一定。
Cloudflare 现在在边缘决定每个客户端能拿到什么,其中好几项功能对 AI 爬虫和真人的处理方式并不一样。如果你从没打开过那些设置,你其实并不知道 ChatGPT 搜索、Claude 或 Perplexity 还能不能访问你的页面。
先搞清楚一件事:“AI 爬虫”不是一种东西。大型运营方为训练、为搜索、为响应用户提问而抓取页面,跑的是不同的用户代理。封掉一个,不等于封掉其他几个。
OpenAI 的说法是,选择退出 OAI-SearchBot 的站点不会出现在 ChatGPT 搜索的回答里。OpenAI 和 Perplexity 都表示,它们由用户触发的抓取器(ChatGPT-User、Perplexity-User)可能不遵守 robots.txt,因为那是真人点名要这个页面。所以“要不要放 AI 爬虫进来”其实是三个问题:训练、搜索、实时抓取。
五个可能影响 AI 爬虫的设置位置
它们彼此有重叠,五个都要看。
一、AI 机器人策略:搜索、代理、训练
Cloudflare 现在按行为给 AI 流量分组:搜索类收集或索引内容,供之后回答问题;代理类代表真人实时行动,比如聊天抓取机器人和浏览器代理;训练类抓取内容用于训练或微调模型。入口在安全设置下的 AI 机器人策略配置,每一项可以选阻止、仅在含广告页面阻止、允许。
自 2026 年 9 月 15 日起,训练类多了一个“禁止 AI 训练”选项。按 Cloudflare 的公告,它会在 robots.txt 里写入不训练偏好,对被其称为“可问责”的混合用途爬虫(Applebot、Bingbot、Googlebot)保留搜索用途的放行,并阻止其他训练爬虫。
公告里有两处值得注意:
- “阻止”现在也会波及搜索引擎。训练类的“阻止”和“仅在含广告页面阻止”同样作用于混合用途爬虫,包括 Applebot、Bingbot 和 Googlebot,也就是说这两个设置会同时影响搜索和训练。
- 旧开关没了。原来的“阻止 AI 机器人”开关已废弃,既有设置被迁移到新控件。如果你以前开着旧开关,得去看它变成了什么。
对新域名,Cloudflare 会在引导流程里给出预设。按同一篇公告,不做广告变现的站点,搜索、训练、代理三项全部设为允许;做广告变现的站点,搜索允许、训练设为禁止 AI 训练、代理设为仅在含广告页面阻止。之后都能改。别假设,打开页面看实际设成了什么。
二、机器人偏好同步(原托管 robots.txt)
这项功能把你的策略选择写进 robots.txt。开启后,只要至少一项策略被设为阻止、仅在含广告页面阻止,或训练类的禁止,Cloudflare 就会在你原有文件前面加上托管指令和它的内容信号策略。如果你根本没有 robots.txt,Cloudflare 会替你创建一个。其博客称,对新客户这项默认开启。
内容信号是三个机器可读的分类:search、ai-input、ai-train。Cloudflare 的文档写得很清楚,robots.txt 的遵守是自愿的。它表达的是一种偏好,执行发生在别处。
所以你线上那份 robots.txt,可能已经不是你部署的那个文件了。
三、AI 爬虫控制
这项功能(原 AI 审计,所有套餐可用)显示哪些 AI 爬虫请求了你的内容,并允许你逐个放行或阻止。在那里阻止一个爬虫,会创建或更新一条 WAF 自定义规则。付费套餐可以选择给被阻止的爬虫返回 403 禁止访问,还是 402 需要付费。
有个细节对测试很关键:免费套餐的 AI 爬虫控制是“基于用户代理字符串”识别 AI 爬虫的,付费套餐则可以用机器人管理检测。
四、机器人战斗模式
这是个免费开关,识别符合已知机器人模式的流量,并下发计算开销很大的挑战。Cloudflare 提示它“可能对 API 或移动应用流量发起挑战”。另外,你没法用 WAF 自定义规则或页面规则绕过它:跳过、绕过、允许对它都不起作用。如果它碍事,文档给出的选项是关掉它,或升级到支持跳过规则的高级机器人战斗模式。
五、你自己的 WAF 自定义规则
从论坛抄来的国家封禁或用户代理黑名单,也可能误伤爬虫。阻止动作对多数安全功能返回 403(限流则返回 429)。挑战动作要求客户端先通过 Cloudflare 的挑战。比如 Anthropic 就说,它的机器人不会尝试绕过验证码。
如果你要写放行规则,Cloudflare 提供了 cf.client.bot(来自已知良好机器人的请求)和 cf.verified_bot_category。这比信任用户代理头安全得多,因为谁都能伪造它。Perplexity 自己的文档也建议把用户代理匹配和它公布的 IP 段结合起来用。
用 curl 测一遍
用不同的用户代理发同一个请求,然后对比结果。下面的字符串来自各家文档,版本号可能变化。Anthropic 在那页上没有公布完整的用户代理字符串,所以 ClaudeBot 那行是只含产品标识的最小测试串。
把 URL 换成你自己的页面,循环跑一遍,看每个名字对应的状态码和下载字节数,再抓一下响应头里的 cf-mitigated 和 cf-ray。然后检查现在的 robots.txt:
curl -s https://example.com/robots.txt | sed -n '1,80p'
找找有没有 Cloudflare 的 BEGIN 区块、Content-signal 行,以及你关心的用户代理下面有没有 Disallow: /。
怎么读结果
有个重要限制:你的 curl 是从你自己的 IP 发出的,只是借了个用户代理。Cloudflare 验证真实机器人靠的是别的手段:Web Bot Auth 签名、公布的 IP 列表,或反向 DNS。所以这个测试能抓到基于用户代理的规则(包括免费套餐的 AI 爬虫控制),但没法完美复现经过验证的机器人流量会得到什么待遇,两个方向都不行。去控制台确认:安全分析和事件里能看到是哪个服务对请求动了手,AI 爬虫控制的爬虫标签页则按爬虫列出请求数和失败请求数。
有意识地做选择
对一家希望自己被 AI 回答找到的生意,一个合理的起点是:
- 搜索:允许。OAI-SearchBot、Claude-SearchBot 和 PerplexityBot 就是靠这个来构建它们引用的内容的。
- 代理:封之前先想想。Cloudflare 的代理分类包含聊天抓取机器人,也就是有人问起你时去打开你页面的那类。
- 训练:你自己定。禁止 AI 训练会为搜索保留可问责的混合用途爬虫;而单纯的阻止现在会连 Googlebot 和 Bingbot 一起影响。
常见错误
- 只在浏览器里测。真人和爬虫从同一个 URL 可能拿到不同答案。
- 把 robots.txt 当防火墙。它只是一种偏好,Cloudflare 自己的文档就这么写。
- 为了“干脆停掉 AI”而给训练选阻止。9 月 15 日之后,这也会停掉 Googlebot 和 Bingbot。
- 忘了机器人战斗模式。你的 WAF 放行规则压不过它。
- 只靠用户代理放行。用 cf.client.bot 或 IP 段,否则谁都能自称 GPTBot。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.