放行是一个要明确做出的决定,不是默认状态
屏蔽 AI 爬虫的站点仍然可能被模型依据二手资料描述,但无法被引用,而引用才是把链接带回你这里的东西。决定放行是一个有真实权衡的商业选择:你的内容会被用在你无法控制的答案里。
要明确地做这个决定并写下来,因为日后收紧防火墙规则的那个人,需要知道这次放行是有意为之。
三层都可能挡住,而只有一层是显而易见的
robots 是可见的那一层,也最容易配对。它下面,CDN 的机器人管理规则通常会默认对陌生 UA 做挑战或丢弃 —— 请求根本到不了你的服务器,所以你的日志里什么都没有,而 robots 文件看起来毫无问题。再往下,限速会先放过前几个页面然后开始拒绝,形成一次不完整的抓取,这比彻底屏蔽更难发现。
从外部验证
从办公室以外的网络、用各家爬虫的 UA 抓取自己的页面,检查状态码和返回的正文。返回 200 但正文是一张挑战页,同样是被挡住了。然后在禁用脚本的情况下再抓一次:如果正文回来是一个空壳,说明内容只在客户端渲染后才存在,不执行脚本的爬虫什么也看不到。
把检查变成常态
可访问性不是一次性的事。CDN 厂商会更新机器人规则、证书会过期,一次出于好意的 WAF 规则调整可能在几个月后把放行撤销掉。一个定时抓取、状态变化就告警的任务成本极低,却能抓住这些静默失败。