Cloudflare 默认屏蔽 AI 爬虫怎么解除深度版 从判定到放行与验证的完整流程 — 答流 AIGeoFlow · GEO 实战指南

自 2025 年 7 月起,Cloudflare 对新接入域名默认在边缘屏蔽 AI 爬虫,GPTBot、ClaudeBot、Bytespider 等请求会被直接拒绝且与 robots.txt 无关,源站日志零痕迹。解除入口在 Dashboard 的 Security → AI Crawl Control(旧界面为 Security → Bots 的 Block AI bots 开关),将目标爬虫从 Block 切为 Allow 后边缘即时生效。解除后需同步核对 robots.txt 与源站 WAF,并用 Security Events、源站日志与抓取时间线三层验证闭环。

问题定位:robots.txt 全放行却没有 AI 爬虫来访

症状很典型:robots.txt 写满 Allow,sitemap 也提交了,但源站访问日志里连续多日看不到 GPTBot、ClaudeBot、PerplexityBot 的任何一条记录。此时问题大概率不在内容,而在边缘层。自 2025 年 7 月 1 日 Content Independence 政策生效起,Cloudflare 对新接入域名默认开启 Block AI bots,在边缘直接拒绝已验证的 AI 爬虫。本站实测确认了这一点:新接入站点默认启用该开关,GPTBot、ClaudeBot、Bytespider 等请求会在 Cloudflare 边缘被直接拒绝,且与 robots.txt 完全无关——robots.txt 是爬虫自愿遵守的协议,而 Cloudflare 的开关是硬执行,被拒请求根本到不了源站,所以源站日志零痕迹,这恰恰是最容易误导站长的一点。

判定三步走:

常见误判是"没流量等于没屏蔽"。爬虫本来就有回访周期,GPTBot 也可能数天后才首访。正确的判定依据是 Security Events 里的事件记录,而不是"等了两天没来"。反过来,只要事件记录里持续出现对 GPTBot 的 Block,无论 robots.txt 写得多友好,抓取都不会发生——先解除边缘拦截,再谈其他优化。

解除操作:AI Crawl Control 的准确路径与分类逻辑

解除入口只有一个权威位置:Cloudflare Dashboard → 选择域名 → Security(安全性)→ AI Crawl Control(AI 爬虫控制)。如果账号界面较旧,等价功能位于 Security → Bots 中的 Block AI bots 单开关:关掉它即整组放行。新版界面按用途把爬虫分成两组,可逐个设置:

做 GEO(生成式引擎优化)的目标是"被 AI 搜索引擎引用",第二组是最低放行集;第一组按内容策略自行决定——放行训练语抓取通常能提升品牌进入模型知识的概率,但决策权在你。逐个把目标爬虫从 Block 切为 Allow,保存后边缘即时生效,无需改 DNS、无需刷新缓存。

三个失败模式要提前知道:一是多域名账户存在账号级默认与域名级覆盖的差异,逐个域名核对,别只改了一个;二是切换 Allow 后没立刻看到爬虫属正常,本站实测 GPTBot 在站点上线第 4 天才完成全站 24 页的首次抓取,不要因为 48 小时没动静就反复开关;三是 Enterprise 套餐会出现第三个选项 Limit(Pay Per Crawl,按请求向爬虫计费),普通站点用 Allow/Block 即可。用 API 或 Terraform 管理配置的,改完后回 Dashboard 核对最终生效状态,防止配置漂移把开关悄悄改回去。

配置一致:robots.txt 完整放行模板与自查清单

Cloudflare 放行之后,robots.txt 成为第二道门。多数主题默认的 `User-agent: *` 不拦截,但部分 SEO 插件和安全插件会悄悄写入针对 GPTBot 的 Disallow。完整放行模板如下,直接放在域名根目录:

User-agent: GPTBot
Allow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: Claude-User
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Perplexity-User
Allow: /

User-agent: Bytespider
Allow: /

User-agent: meta-externalagent
Allow: /

User-agent: Google-Extended
Allow: /

三个容易踩的细节:第一,Google-Extended 是独立 token,只控制 Gemini 训练数据的访问,Disallow 它不影响 Google 搜索的 Googlebot;反过来放行它也不等于放行 Googlebot,两者互不干扰。第二,robots.txt 对爬虫是自愿协议,各厂商遵从度不同,Bytespider 历史上遵从度一般,所以 Cloudflare 边缘层才是硬闸门——两层必须同时对齐,缺一不可。第三,改完必须验证可达性:

curl -sI https://example.com/robots.txt | head -5

返回 HTTP 200 且 Content-Type 为 text/plain 才算就位。另外注意 robots.txt 的缓存由各爬虫自行控制,一般 24 小时内刷新,这与 Cloudflare 的即时生效不同——这也是"解除后第一天仍无抓取"的正常原因之一,不要误判为操作失败。

三层验证:事件、日志与实测时间线

解除是否真的生效,用三层证据链验证,缺一层都不算闭环。

第一层,Cloudflare Security Events:过滤近 7 天事件,确认此前针对 GPTBot、ClaudeBot 的 Block 事件不再新增,部分界面还能看到已验证机器人的 Allowed 记录。

第二层,源站访问日志,直接 grep:

grep -h -E "GPTBot|ClaudeBot|PerplexityBot|Bytespider|meta-externalagent" \
  /var/log/nginx/access.log | awk '{print $1, $7, $9}' | tail -30

出现 GET /sitemap.xml 且状态码 200,即证明请求真实到达源站。两个注意点:其一,UA 伪造极其普遍,本站实测伪装成浏览器 UA 的爬虫约占原始"人类访问"的 96%,所以统计真实人类流量必须加装 JS 信标分离;但反过来,UA 明写为 GPTBot 的记录可信度较高——伪造者通常伪装浏览器,而不是伪装成爬虫。其二,不能用自己 IP 加 GPTBot UA 去 curl 主域名来测试边缘策略:Cloudflare 通过 IP 段与反向解析验证 verified bot,伪装 UA 不构成验证,该请求的放行与否不能代表真爬虫。curl 的正确用途是测源站:

curl -s -o /dev/null -w "%{http_code}\n" \
  -A "Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)" \
  https://example.com/

返回 403 说明源站 WAF 或插件在拦(见第 5 节),200 说明源站放行,剩下的闸门只在 Cloudflare。

第三层,行为时间线。本站实测数据可作对照:GPTBot 在站点上线第 4 天完成全站 24 页抓取,此后每日 17:20–17:40 固定巡检 sitemap;Meta-ExternalAgent 在新文章发布当天抓取,最快间隔约 2 小时;向 IndexNow 推送 43 个 URL 返回 HTTP 202 后,次日 YandexBot 首次到访。据此安排观察窗口:48 小时看首访,7 天看全站覆盖率。

二次拦截:解除后仍不来的五个排查点

AI Crawl Control 放行后仍无抓取,按以下五点排查,每点都有对应的验证方法。

排查顺序建议:先看 Security Events 的 Action 字段区分 Block 与 Challenge,再用 curl 分离 Cloudflare 层与源站层,最后回日志确认。三层各归其位,问题一定能定位到具体位置,而不是笼统地"再等等"。

预期管理:解除屏蔽、被抓取、被索引、被引用是四件事

解除屏蔽只解决"门开了",后面还有三步,每一步都有滞后。本站实测:新域名上线 13 天、累计 53 篇内容,Bing 与 Google 的 site: 查询仍为零结果——索引建立明显滞后于抓取,抓取成功只代表进入候选池。同理,被 AI 爬虫抓取不等于被 AI 搜索引擎引用:引用还取决于内容的事实密度、结构清晰度、schema 标注以及模型侧的检索排序,这些属于 GEO 的内容层工作。

可执行的观察节奏是:第 1 周核对爬虫来访记录(源站日志加 Security Events 交叉验证);第 2 周起每周固定做一次引用实测存档,在 ChatGPT、Perplexity、豆包、Kimi、DeepSeek 等引擎用同一组问题实测并存档对比;有转化的站点再做归因。这个闭环能把"被抓了"和"被引了"严格区分开,避免凭感觉判断效果。

最后两点提醒。第一,任何承诺"保证被 AI 推荐"的服务都不可信,可查证的只有爬虫来访记录、每周引用存档、转化归因这类硬指标。第二,如果团队没有人力长期维护这条链路,答流 AIGeoFlow 提供 GEO 全栈交付:从 AI 可见性诊断(技术就绪度与内容就绪度双维度 0-100 评分免费生成)、Cloudflare Worker 边缘零改造接入(主站一行代码不动、域名权重全保留),到内容矩阵运营与每周引用实测存档,覆盖 ChatGPT、Perplexity、Gemini、豆包、Kimi、DeepSeek 等国内外引擎。只承诺可验证的硬指标,不承诺保证被推荐。

常见问题

robots.txt 已经全部 Allow,为什么还是看不到 GPTBot?
因为 Cloudflare 的屏蔽发生在边缘层,被拒请求到不了源站,日志自然零记录,这与 robots.txt 无关。自 2025 年 7 月起新接入域名默认开启 Block AI bots,需到 Security → AI Crawl Control 把目标爬虫切为 Allow。用 Security Events 里的 Block 事件可以一键确认。
解除后多久会有 AI 爬虫来访?
本站实测:GPTBot 在站点上线第 4 天完成全站 24 页首次抓取,此后每日 17:20–17:40 固定巡检 sitemap;Meta-ExternalAgent 在新文章发布当天抓取,最快间隔约 2 小时。建议以 48 小时看首访、7 天看全站覆盖为观察窗口,不要因前两天没动静就反复开关。
用 curl 伪装 GPTBot 的 UA 返回 200,能说明没被屏蔽吗?
不能。Cloudflare 通过 IP 段与反向解析验证 verified bot,伪装 UA 不构成验证。该测试的正确用途是直连源站:403 说明源站 WAF 或插件在拦,200 说明源站放行。边缘策略要看 Security Events 中的 Block 事件是否停止新增。
只想被 AI 搜索引用,不想内容被拿去训练,怎么设置?
在 AI Crawl Control 里分组设置:放行 AI 搜索与用户代理爬虫(OAI-SearchBot、ChatGPT-User、Perplexity-User、Claude-User、Claude-SearchBot),对训练类爬虫(GPTBot、ClaudeBot、Bytespider、Google-Extended)保持 Block,并在 robots.txt 同步写对应 Disallow,两层对齐。
解除屏蔽会影响 Google SEO 或网站安全吗?
不会影响 Google 搜索:Googlebot 是普通已验证爬虫,不在 AI 爬虫清单内;Google-Extended 只控制 Gemini 训练数据,两者互不干扰。安全方面,这些是已验证爬虫,放行不等于放行恶意流量,原有 WAF 规则继续生效,只需注意速率限制别误伤一次性全站抓取。
被抓取了就等于会被 ChatGPT 引用吗?
不是。抓取只是进入候选池。本站实测新域名上线 13 天、53 篇内容,Bing 与 Google 的 site: 查询仍为零结果,索引明显滞后于抓取;引用还取决于内容质量与模型侧检索排序。建议每周固定做一次引用实测存档,把"被抓"和"被引"分开统计。
免费测一测:AI 能找到你的网站吗?

相关阅读