全部文章

Cloudflare 默认拦截 AI 爬虫:这对你的网站意味着什么

Cloudflare 在 2025 年 7 月把 AI 爬虫改为默认拒绝,并将于 2026 年 9 月 15 日对含广告页面启用新的默认设置。本文梳理变化时间线、它在 AI 引用上的隐形代价,以及如何按名放行并验证你真正想要的爬虫。

2026年8月12日阅读约 13 分钟

如果你的域名是在 2025 年 7 月 1 日之后接入 Cloudflare 的,AI 爬虫很可能已经被拦截,而且没有人通知 过你。Cloudflare 在那天把新域名切换为默认拒绝,2025 年 9 月为内容用途补上了一套 robots.txt 词汇, 并从 2026 年 9 月 15 日起在含广告的页面上默认拦截训练与 agent 流量。正确的应对不是把开关全部拨回 去,而是按名字挑选你想要的爬虫,再核实那些顶着这些名字的请求是否属实。

Cloudflare 究竟改了什么,以及何时改的

2025 年 7 月 1 日。 Cloudflare 发起 Content Independence Day,成为首家默认拦截 AI 爬虫的大型基础 设施提供商。当天的新闻稿说得很直白:网络中的新域名拒绝 AI 爬虫访问,除非所有者明确开启。模式从 opt-out 变为 opt-in。Cloudflare 自称承载约 20% 的网络流量,因此一次默认值调整就撼动了相当大的一片 网络。自 2024 年 9 月起,已有超过一百万现有客户主动点下了那个一键拦截。同时上线的还有测试版的 Pay Per Crawl,让站点所有者可以用 HTTP 402 Payment Required 回应爬虫,而不是交出内容。

Cloudflare 给出的理由是一个比值。按 2025 年 6 月的流量测算,抓取与回流的比值在 OpenAI 是 1,700:1,在 Anthropic 是 73,000:1,而 Google 搜索是 14:1。抓取量巨大,回流少得可怜。

2025 年 8 月 28 日。 AI Audit 测试版更名为 AI Crawl Control 并正式可用:按爬虫查看谁抓走了什么, 按运营方逐个设置 allow 与 block,付费方案还可以自定义 402 响应内容。

2025 年 9 月 24 日。 Cloudflare 以 CC0 协议发布 Content Signals Policy,并在 ContentSignals.org 提供生成器。它在 robots.txt 中增加一行,说明内容在被抓取之后可以如何使用,而这是 robots.txt 从未 覆盖过的部分。三个信号,各自取值 yes、no 或留空:

User-Agent: *
Content-Signal: search=yes, ai-train=no
Allow: /

Cloudflare 把这项政策写入了超过 380 万个域名的托管 robots.txt。在原本已拦截训练的站点上,它写下的 默认值是 search=yes, ai-train=no,而 ai-input 被有意留空,而不是设为拒绝。

2026 年 7 月 1 日。 Cloudflare 把机器人行为拆成三类,并向包括免费方案在内的所有客户开放:Search (收集并索引内容,以便日后回答问题)、Agent(实时代表某个人执行操作)和 Training(取走内容用于训练 或微调模型)。同时定下了日期。2026 年 9 月 15 日起,Search 仍默认放行,而 Training 与 Agent 在展示 广告的页面上默认被拦截。这套默认值适用于新客户、现有客户新增的站点,以及在截止日前未更改设置的免费 方案账户。如果一只爬虫混合多种用途又不加区分,就按适用于其任一行为的最严格规则处理。Content Signals 新增了第四个参数 use=,取值为 immediatereferencefull。Pay Per Crawl 则演变为 Pay Per Use,改为在内容真正出现在回答中时付费,而不是在机器人抓取页面时付费,首批合作方是 Ceramic.ai 与 You.com。

控制项位于何处实际作用
托管 robots.txtCloudflare 控制台,免费发布一项请求。守规矩的爬虫遵守,其他的无视
Content Signals(searchai-inputai-trainuserobots.txt 中的一行声明抓取后允许的用途。仍是请求,不是拦截
Block AI Bots 开关安全设置边缘强制执行。范围广,也粗糙
AI Crawl Control独立控制台按爬虫 allow、block 或 402,在源站看到请求之前生效
Search / Agent / Training 默认值2026 年 9 月 15 日起适用按类别强制执行,先从广告页面开始
Pay Per Use自愿加入的计划内容出现在回答中时付费

那笔永远不会出现在分析后台的成本

被拦截的爬虫不会生成任何你会去看的错误页。没有跳出,没有 500,没有工单。助手只是改用了别人的页面 作答,而你要到几个月后看见竞争对手被引用时才察觉。

这件事的分量每个季度都在加重。Cloudflare 自己在 2026 年 8 月 6 日关于 answer engine optimisation 的 文章中指出,如今来自真人的 HTML 页面请求已不足一半。如果检索类机器人到不了你的文档、定价页或对比 内容,你就缺席于回答引擎所依赖的来源池。在控制台上,拦截训练爬虫和拦截检索爬虫看起来是同一个开关。 它们并不是同一个决定,而且其中只有一个真正保护了你在意的东西。

值得内化的区别是:训练爬虫把你的内容取走一次,每次请求不回馈任何东西。检索与 agent 流量则是一位此 刻带着问题上门的读者。GPTBot 负责训练。OAI-SearchBot 为回答建索引。ChatGPT-User 抓取某个页面,是 因为三十秒前有人问起它。同一家公司,三个 token,三笔完全不同的交易。

robots.txt 是请求,边缘才是决定

这条界线是多数站点所有者模糊掉的地方。robots.txt 里的 Disallow: / 是贴在门上的告示。正经的运营方 读过就掉头离开。其余的人把它当成一份有趣路径清单,或者根本不读。Content Signals 属于同一范畴:一份 清晰、可被机器读取的意图声明,其价值更多在法律与社会层面,而非技术层面。

Cloudflare 的控制则位于下一层。请求在边缘就被拒绝,你的源站根本看不到,无论客户端如何看待 robots.txt。这确实有用,也正因如此,默认值才如此关键。一项你从未表达过的偏好,如今正以你的名义被 强制执行。

由此带来的实际要求是:你的 robots.txt 与边缘规则必须说同一件事。一个对 PerplexityBot 公布 Allow: /、却在边缘把它拦下的站点,是在向一个正在衡量合规情况的运营方发出自相矛盾的信号。

查询某个爬虫 IP 究竟属于哪个网络

用精确 token 放行你想要的爬虫

不要匹配子串 "bot",也不要匹配 "GPT"。放行具体的 token,因为 token 承载着用途:

爬虫用途如何验证在 9 月 15 日广告页默认值下
GPTBot为 OpenAI 训练模型公布的 IP 段文件Training 行为,在广告页被拦截
OAI-SearchBot为 ChatGPT 搜索结果建索引公布的 IP 段文件Search 行为,仍被放行
ChatGPT-User由用户提示触发的实时抓取公布的 IP 段文件Agent 行为,在广告页被拦截
PerplexityBot为 Perplexity 的回答建索引公布的 IP 段文件Search 行为,仍被放行
Perplexity-User代表某个人的实时抓取公布的 IP 段文件Agent 行为,在广告页被拦截
ClaudeBot为 Anthropic 训练模型公布的 IP 段文件Training 行为,在广告页被拦截
Google-Extended仅为训练退出用的 token,从不抓取robots.txt token,本身没有流量控制训练用途,不控制访问
CCBotCommon Crawl 的数据集采集未公布 IP 段,也无 DNS 约定Training 行为,在广告页被拦截
BytespiderByteDance 的采集未公布任何验证方法Training 行为,在广告页被拦截

真正驱动 Cloudflare 强制执行的是它自己的逐个机器人分类,所以在假定对应关系之前,请先查看 AI Crawl Control。我们的 AI 爬虫目录 收录了 150 个 agent 的精确 User-Agent token、运营方、公布的 IP 段文件与 robots.txt 行为,这正是你写出不会误伤其他机器人的规则所需要的资料。

Google-Extended 是 token 为何重要的最清楚例子。它从不发出请求,存在的唯一目的就是让你可以拒绝训练 用途,同时 Googlebot 照常索引你的站点。在边缘拦截它毫无意义,因为那里根本没有东西可拦。

然后,验证真正到达的是什么

按 User-Agent 放行 GPTBot,等于放行任何在请求头里敲上 GPTBot 的东西。爬虫程序早就明白这一点,基于 字符串的白名单是一份邀请函。每一条 allow 规则背后都需要一个验证步骤。

多数主要 AI 运营方如今都会公布 JSON 格式的 IP 段文件,较早的搜索爬虫则支持正向确认的反向 DNS。方法 因运营方而异,麻烦也正在这里:Googlebot 与 Bingbot 可以解析验证,GPTBot 与 PerplexityBot 公布 IP 段,Bytespider 与 CCBot 什么可核对的东西都没有。反向 DNS 的具体做法可参见 验证 Googlebot

当一个自称的爬虫无法被验证时,退而求其次的信号还是那几项:该地址是否是一段并不属于所声称运营方的 数据中心 IP 段、TLS 指纹是否与其声称的客户端相符、请求头是否 一致。Agentscan 在单次请求内完成这些工作:对已验证爬虫做正向确认、比对公布的 IP 段, 并把 IP 来源与 JA4 及无头浏览器特征融合,判定为真人、已知机器人、AI agent 或恶意自动化。判定结果会 被缓存,重复查询在 50ms 以内返回。

小结

Cloudflare 已经两次移动默认值,第二次落在 2026 年 9 月 15 日。请去核对你的 zone 当前的实际设置,而 不是凭印象假定。对训练、检索与 agent 流量分别作出决定,因为把这三者压成一个开关,正是让你悄无声息 地从 AI 回答中消失的原因。用 Content Signals 在 robots.txt 中公布你的意图,在边缘执行与之一致的策 略,用精确 token 放行你想要的爬虫,并用公布的 IP 段或反向 DNS 逐个验证,而不是相信一个谁都能敲出来 的请求头。

常见问题

常见问题解答

对新域名会。Cloudflare 在 2025 年 7 月 1 日宣布,新接入的域名默认拒绝 AI 爬虫访问,除非站点所有者主动开启,这让全球最大的 CDN 从 opt-out 变成了 opt-in。第二次变化落在 2026 年 9 月 15 日:在展示广告的页面上,训练与 agent 流量将被默认拦截,适用于新客户以及未调整该设置的免费方案账户。

相关文章