云计算百科
云计算领域专业知识百科平台

拒绝 AI 抓取的新标准,最后又落回了 robots.txt

2026 年 11 月 1 日,IT之家报道了一条消息:OpenAI、谷歌、微软和 Anthropic 四家宣布采用同一项标准,内容发布方可以用一种统一的声明,告诉这些公司自家网站的内容能不能被用于模型训练,不必再挨家挨户单独配一遍。标准由 Anthropic 技术负责人 Kevin Kelley 向 IETF 提出,最终形态是集成进网站的 robots.txt 文件。
这个文件对做运维的人来说太熟了。它躺在站点根目录,用 User-agent 分组,告诉爬虫哪些路径能进、哪些不能,搜索索引、网页归档、模型训练这些场景一直共用同一套规则。现在四家愿意在同一份文件里读同一行字,等于承认了这个老约定还能再往前挪一步。## 抓取许可和流量分配是两笔账标准公布的前一天,Solidot 在 11 月 2 日凌晨的条目里记了另一件事。Reddit 的财报证实,Google 的 AI Mode 没有给网站带来流量。AI Mode 用生成总结的方式回答查询,不再像传统搜索那样给出一串链接和简要摘要。Reddit 联合创始人兼 CEO Steve Huffman 的说法是:“用户依然需要 Reddit,只是 Google 不再像过去那样将他们引导到 Reddit。”上季度来自 Google 搜索的引荐流量显著下滑。两件事挨得很近,但不是因果。robots.txt 管的是内容能不能被拿走,管不了拿走之后给不给你导流。四家愿意在同一份文件里读同一行字,谈的是前半段。后半段——摘要截走点击之后怎么结算——这份草案里没人提。把这两个问题混在一起讨论,很容易得出“写了 robots.txt 就能保住流量”这种判断,而事实并非如此。## 这个文件本来是怎么解析的robots.txt 的规则不复杂。爬虫抓到文件后,按 User-agent 找到匹配自己名字的那一组,读其中的 Allow 和 Disallow,取第一条命中的规则。RFC 9309 在 2022 年把这套约定写成了正式文档,在此之前它靠的是二十多年的默契。所以按厂商分别拒绝,今天就能做,不需要等新标准落地:robots## 默认放开抓取User-agent: *Allow: /Disallow: /admin/Disallow: /search## 生成式 AI 相关爬虫,整站不给User-agent: GPTBotDisallow: /User-agent: ClaudeBotDisallow: /User-agent: CCBotDisallow: /User-agent: Google-ExtendedDisallow: /上面是演示写法,各家爬虫的 User-agent 名称要以官方文档公布的为准,改名或者新增是常事。这套配置能生效的前提只有一个:对方主动来读,并且读完照做。新标准要解决的正是这个“主动”背后的一致性——一次声明,多家认账,而不是每家一套字段各写一遍。## 真正拦得住的是 WAFrobots.txt 没有强制力。爬虫可以不理这个文件,也可以伪造一个普通浏览器的 User-agent。想真的拦住,执行点在反向代理或者 CDN 上。nginx 里可以这么干,配置是演示用量,UA 名单按需增减:nginx## http 块map $http_user_agent $ai_bot { default 0; "~*GPTBot" 1; "~*ClaudeBot" 1; "~*CCBot" 1;}## server 块server { listen 443 ssl; server_name example.com; if ($ai_bot) { return 403; }}验证走两条 curl,第一条应该回 403,第二条应该回 200:bashcurl -s -o /dev/null -w "%{http_code}\\n" \\ -A "GPTBot/1.0" https://example.com/curl -s -o /dev/null -w "%{http_code}\\n" \\ -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_0)" https://example.com/这套做法的代价很直接:UA 是客户端自己填的字符串,改一个字母就绕过去了。真想收紧,得叠 IP 段匹配、请求频率、TLS 指纹、JS 挑战。而这些手段会误伤一部分真实用户,尤其是走企业代理或者隐私浏览器的那些。拦得越狠,误杀面越大,这个平衡点只能按站点的业务性质自己找。

几个容易翻车的地方robots.txt 被 CDN 缓存是常事。改完之后只测源站,看着生效了,回源缓存还在吐旧文件。改规则的时候顺手在控制台刷一次,或者给这个文件单独设短 TTL,省得半夜被投诉。通配符的支持度各家不一样。Google 认 * 和 $,别的爬虫未必实现,写了也不一定被解析。指望用 /articles/*/draft 这种路径精确拦住某个目录,不如在 nginx 层用 location 直接拒,行为可预期。已经抓走的内容不会因为事后改 robots.txt 就消失。这个文件约束的是下一次抓取,不是已经进入语料的东西。所以任何关于训练数据的声明,时效上都是向前生效的。还有一点容易忽略:关闭训练抓取,和关闭搜索收录,是两个开关。前者少的是语料,后者少的是流量。把两者当成一个开关来拨,通常会在几个月后从搜索后台的曲线里看出来。谷歌把训练用途单独拆成一个 token,正是为了让这两件事能分开控制。## 该不该写这一行对内容站来说,写死拒绝训练,等于放弃一部分未来的品牌曝光和引用来源;不写,等于默认接受自己的内容成为别人的模型参数,而对方未必会把点击还回来。Reddit 的处境把这个矛盾摆得很清楚:它并不缺用户,缺的是从搜索到站内的那条路径。四家在同一份 IETF 草案上签字,说明谈判桌已经摆好了。桌子摆好不等于有人会让价。接下来值得盯的是这个标准落地后会不会带上可审计的字段,比如声明生效时间或者验证端点。如果只是又一个自愿遵守的文本声明,那它和以前的 robots.txt 没有本质区别——区别只在于这一次,网站主终于能一次把话说完。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 拒绝 AI 抓取的新标准,最后又落回了 robots.txt
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!