这个坑值得记一笔。在 Cloudflare 后台打开 AI 爬虫管理后,线上 robots.txt 变成了平台生成的那一份,我自己写的 Sitemap 行和几条 Disallow 全都不见了。

刚开始盯着「面板里的选项叫 Managed robots.txt,和源站的同名文件不是一回事」,折腾了半个多小时,排掉了。

真正麻烦的地方在于,几个原因的现象几乎一样。AI Crawl Control 开启后会由边缘直接返回一份托管的 robots.txt;源站的 robots.txt 请求在边缘就被拦截,根本没回源;缓存里还留着上一版本的托管内容,改完仍读到旧文件。

先确认返回的 robots 是不是平台生成的

curl -sI https://www.example.com/robots.txt | grep -i 'cf-\|server'

随后在面板里关掉托管并清除边缘缓存

curl -X PURGE https://www.example.com/robots.txt

回源对照源文件的真实内容

curl -s -H 'Host: www.example.com' http://127.0.0.1/robots.txt | head -20

怎么算真的好了,看的是同一批现象。线上和源站输出的 robots.txt 逐行一致,Sitemap 行重新出现,GSC 抓取 robots 的测试返回 200 且内容是最新那份。

提醒一点。托管开关默认可能对全部流量生效,关掉后记得同时检查是否残留一份备份文件,边缘会优先返回离用户最近的版本。改动前把原配置备份一份,出问题能马上回滚,这比任何技巧都实用。

作者 9823189