AI 爬虫在吞噬你的过时文档——Cloudflare 用一个开关来解决这个问题

AI 爬虫在吞噬你的过时文档——Cloudflare 用一个开关来解决这个问题 你的文档加了废弃警告、noindex 标签、canonical 指向AI 训练爬虫照样视而不见把旧版本内容原原本本地吃进去。Cloudflare 推出了一个新功能把建议变成强制执行。一、问题的根源Cloudflare 的 Wrangler CLI 在过去六年里发布了多个主要版本旧版文档保留在线带有废弃横幅、noindex 元标签以及指向当前文档的 canonical 标签。每一个提示信号都在说同一件事这些内容已经过时请去别处查看。但 AI 训练爬虫不会可靠地遵从这些信号。通过 AI Crawl Control 工具Cloudflare 观察到在过去 30 天内属于 AI 爬虫分类的机器人访问了 developers.cloudflare.com 达 480 万次它们消费废弃内容的频率与消费现行内容的频率相同。那些提示信号没有产生任何可测量的差异。这个问题的危害是累积性的因为 AI 助手并不总是实时抓取内容它们依赖训练好的模型。当爬虫摄取了废弃文档AI 助手就继承了过时的知识基础。二、现有手段为什么不够用警告横幅对爬虫无效对于人类用户带废弃警告的页面保持在线是有效的——人类会读到提示然后去别处。但 AI 训练爬虫摄取的是完整文本有可能把横幅当成又一段普通段落来处理即便警告清晰可见它们仍然会返回数千次。直接屏蔽会产生空洞直接屏蔽会产生另一个问题它制造了一个没有信号的空洞爬虫无法从中得知应该去哪里学习正确的内容。robots.txt 维护成本过高robots.txt 的保护有限。随着自动化流量增长针对每个爬虫、每个路径、每次内容更新来维护指令需要大量的手动工作。爬虫真正需要的是明确的方向“当前内容在这里。”三、canonical 标签已有的基础设施link relcanonical标签是定义在 RFC 6596 中的 HTML 元素用于告知搜索引擎和自动化系统哪个 URL 是一个页面的权威版本。它已经存在于 65–69% 的网页上并由 WordPress、Contentful 等平台自动生成。这套基础设施已经声明了你内容的当前版本是什么——Redirects for AI Training 的作用就是把这个声明变成强制执行的行动。简单说canonical 标签你已经有了缺的只是一个让 AI 爬虫必须遵从它的机制。四、Redirects for AI Training 如何工作两个核心输入Redirects for AI Training 依赖两个输入Cloudflare 的cf.verified_bot_category字段以及已经存在于你 HTML 中的link relcanonical标签。AI 爬虫分类涵盖了为 AI 模型训练而抓取的机器人包括 GPTBot、ClaudeBot 和 Bytespider与 AI 助手、AI 搜索等其他分类相互独立。执行过程当来自已验证 AI 爬虫的请求到达时Cloudflare 读取响应 HTML。如果存在非自引用的 canonical 标签Cloudflare 在返回响应之前向 canonical URL 发出301 Moved Permanently跳转。人类流量、搜索索引以及其他自动化流量完全不受影响。以 GPTBot 请求一个废弃路径为例交互过程如下# 请求 GET /durable-objects/api/legacy-kv-storage-api/ User-Agent: Mozilla/5.0 (compatible; GPTBot/1.1; https://openai.com/gptbot) # 响应 HTTP/1.1 301 Moved Permanently Location: https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/爬虫被直接引导到最新文档旧页面内容从未进入训练数据。明确的边界这个功能不做以下事情不会追溯性地修正已经被摄取的训练数据不覆盖 AI 爬虫分类之外的未验证爬虫不会重定向访问废弃页面的人类用户或 AI 助手跨域 canonical 标签指向不同域名的标签通常用于域名整合被排除在外自引用 canonical 标签指向自身 URL也不会触发跳转以避免循环。为什么不直接写重定向规则单条重定向规则可以按 User-Agent 字符串针对 AI 爬虫对于只有少数几个已知废弃路径的站点确实可行。但无法扩展每个新的废弃路径都需要修改规则User-Agent 必须手动维护还会占用可能用于活动 URL 或域名迁移的计划配额。重定向规则还是在手动重新编码 canonical 标签已经声明的内容并且会随着内容变化而失去同步。五、Cloudflare 自身踩过的坑这不是假设的场景Cloudflare 在自己身上发现了这个问题。2026 年 3 月Cloudflare 旧版 Workers 文档被 OpenAI 爬取约 46,000 次被 Anthropic 爬取约 3,600 次被 Meta 爬取约 1,700 次。这些对废弃页面的爬取可能就是为什么在 2026 年 4 月向某个主流 AI 助手询问如何用 Wrangler CLI 写入 KV 值时它给出了过时的答案kv:key put命令。而正确的语法截至 2026 年 4 月是wrangler kv key put冒号语法在 Wrangler 3.60.0 中已被废弃。文档里写有废弃说明但训练管道如何解读这些说明目前并不清楚。Cloudflare 在 developers.cloudflare.com 上启用了 Redirects for AI Training 并进行了测量。前七天内所有带有非自引用 canonical 标签的页面其 AI 训练爬虫请求 100% 被重定向没有一次被提供废弃内容。六、如何开启操作路径极其简单在 Cloudflare 控制台进入任意域名依次点击AI Crawl Control Quick Actions Redirects for AI Training打开开关即可。适用于所有付费 Cloudflare 计划对站点已有的 canonical 标签无需做任何修改。七、全网视角Radar 响应状态码分析Cloudflare 同时更新了 Radar 的 AI Insights 页面新增了响应状态码分析让人可以看到整个网络是如何回应 AI 爬虫的。在整体流量分布中约 70% 的请求获得了成功响应20010.1% 的请求被重定向301、302到其他 URL3.7% 的请求是对不存在文件的请求4048.3% 的请求访问内容被屏蔽403。在单个爬虫维度以 GPTBot 为例超过 80% 的请求被成功响应4.7% 被重定向约 6% 被屏蔽返回 403。这个视角很有价值——它揭示了整个互联网正在如何真实地回应 AI 爬虫哪些内容在被提供哪些在被拦截哪些在被重定向。你可以按行业、按爬取目的训练 vs. 搜索 vs. 助手进行筛选观察不同类型爬虫的行为差异。八、总结这个功能解决的问题用一句话概括就是把建议变成执行。noindex、canonical 标签、废弃横幅这些都是建议性信号面向人类设计AI 爬虫不一定买账。Redirects for AI Training 把你已有的 canonical 标签基础设施直接转化为 HTTP 301 跳转对经过验证的 AI 训练爬虫强制生效不需要改一行代码不需要维护任何规则列表一个开关搞定。这不能修复已经被吞进训练数据的过时内容但它能从此刻起阻止更多废弃内容进入下一轮训练。随着模型重新训练和重新抓取效果会逐渐体现出来。原文链接https://blog.cloudflare.com/ai-redirects/