Cloudflare bot allowlist 配置:WAF 放行、AI 爬虫与验证清单

Cloudflare bot allowlist 配置:WAF 放行、AI 爬虫与验证清单

作者:maxaeo.cn|发布日期:2026-09-03|更新日期:2026-09-03

Cloudflare bot allowlist 配置的核心不是“放行所有机器人”,而是只让可信搜索爬虫、必要 AI 抓取器和业务监测工具绕过会误拦的安全层,同时保留对恶意自动化流量的拦截。

换句话说,正确做法是:先识别请求身份,再按路径、类别和动作做最小放行,最后用 Cloudflare Security Events、源站日志和抓取结果复测。只改一条 User-Agent 白名单,通常不够安全,也不够稳定。

Cloudflare bot allowlist 配置中的 WAF、Verified Bots 与 AI 爬虫放行关系图

什么是 Cloudflare bot allowlist

Cloudflare bot allowlist 指在 Cloudflare 安全规则中允许可信机器人通过,常见对象包括 Googlebot、Bingbot、监控服务、部分 AI 爬虫和站点预览工具。

在 Cloudflare 官方文档中,可信机器人通常通过 cf.client.bot 字段判断。Cloudflare 的说明是,该字段用于识别请求是否来自已知的良性机器人或爬虫,可参考 Cloudflare 允许搜索引擎机器人流量的 WAF 文档

但要注意:allowlist 不等于关闭防护。如果把所有匹配 User-Agent 的流量直接 Allow,攻击者可以伪造 UA 绕过防线。更稳妥的方式是使用 Cloudflare 已验证字段、机器人类别、路径范围和 Skip 动作组合。

什么时候需要配置 bot allowlist

当正常爬虫被 Cloudflare WAF、Bot Fight Mode、托管规则或 AI Crawl Control 拦截时,就需要检查 allowlist 配置。

典型症状有 5 类:

  1. Google Search Console 报抓取异常,但 robots.txt 没有屏蔽。
  2. AI 搜索工具无法读取官网正文,只能引用第三方页面。
  3. Cloudflare Security Events 中出现 Googlebot、Bingbot 或 AI crawler 被 Challenge/Block。
  4. 官网 llms.txtrobots.txt、文档页可以浏览器访问,但爬虫状态码为 403/1020。
  5. 内容更新后,AI 回答长期讲旧信息,且引用来源没有自有官网。

如果你正在排查 AI 爬虫能否读取官网,可以配合站内的 大模型爬虫请求头识别方法ai 爬虫 UA 识别清单 一起看,先确认请求身份,再写 Cloudflare 规则。

最小可用配置:先放行 Verified Bots

最小配置建议从 Cloudflare 的 Verified Bots 入手,而不是从手写 User-Agent 开始。

在 WAF Custom Rules 中,可创建一条靠前的规则:

cf.client.bot

动作建议使用 Skip,并只跳过容易误拦爬虫的组件,例如 WAF Managed Rules、Super Bot Fight Mode 或后续自定义规则。Cloudflare 对 Skip 的定义是让特定请求绕过原本可能阻断它的安全功能,详见 Cloudflare WAF Skip action 文档

更保守的版本是按类别限制:

cf.verified_bot_category eq "Search Engine Crawler"

适用场景是:只想放行搜索引擎,不想自动放行所有已验证机器人。若你还需要页面预览、可访问性检测或监控工具,可再按 Cloudflare 支持的 bot category 增加类别。

AI 爬虫要单独决策:训练、搜索与用户代理不同

AI 爬虫不应被一刀切放行。训练型爬虫、搜索型爬虫和用户触发型抓取,对业务价值与风险不同。

一个可执行的判断框架是:

类型 常见目的 建议策略 验证重点
搜索引擎爬虫 索引网页 优先放行 是否返回 200、是否抓到正文
AI 搜索/答案引用爬虫 生成回答、引用页面 按路径放行 是否引用官网、是否读取最新内容
训练型 AI 爬虫 数据训练 按品牌策略允许或限制 是否遵守 robots.txt 与频率
监控/SEO 工具 可用性与索引检测 限定路径或 IP 是否影响安全策略
未验证高频爬虫 扫描、采集或攻击 挑战或拦截 请求频率、路径异常、UA 伪造

Cloudflare 已提供 AI crawler 相关控制能力,并说明 AI bot policy 可设置允许或阻止相关机器人。需要细分策略时,可参考 Cloudflare Block AI Bots 文档Cloudflare AI Crawl Control 文档

如果你的目标是让 AI 搜索正确引用品牌官网,还需要关注抓取后的“引用结果”。MaxAEO 在 AI 搜索可见性监测中会看提及率、推荐位次、情感与引用来源;站点侧排查可参考 AI 引用来源分析方法

AI 爬虫按训练、搜索和用户触发三类分别放行的决策表

推荐规则顺序:先白名单,再拦截异常流量

Cloudflare 规则顺序会影响结果。更安全的顺序是:可信流量先 Skip,异常流量再 Challenge 或 Block。

推荐顺序如下:

  1. 规则 1:放行已验证搜索爬虫
    表达式:cf.verified_bot_category eq "Search Engine Crawler"
    动作:Skip 误拦组件。

  2. 规则 2:按路径放行必要公开文件
    表达式示例:

    http.request.uri.path in {"/robots.txt" "/llms.txt" "/sitemap.xml"}
    

    动作:Skip 或 Allow,视站点风险而定。

  3. 规则 3:按路径放行内容页抓取
    只对 /blog//docs//pricing/ 等需要被引用的页面放宽,不开放登录、结算、后台路径。

  4. 规则 4:挑战低信誉或高频自动化流量
    对非 verified bot、异常国家、异常路径或短时间高频请求做 Managed Challenge。

如果你需要更细的路径策略,可以参考站内的 Cloudflare 按路径放行爬虫指南。如果是 WAF 托管规则误伤,则更适合阅读 Cloudflare WAF 例外规则配置

只按 User-Agent 放行为什么危险

只按 User-Agent 放行的主要风险是 UA 可以伪造。攻击者把请求头写成 Googlebot、ClaudeBot 或其他爬虫名,并不代表请求真的来自对应服务。

更可靠的做法是三层验证:

  1. Cloudflare 侧验证:优先使用 cf.client.botcf.verified_bot_category
  2. 日志侧验证:检查 IP、ASN、访问路径、状态码、频率、请求头完整性。
  3. 结果侧验证:看搜索索引、AI 回答引用、自有域名是否进入信源。

在 MaxAEO 的网站体检工作流中,常用一张 30 分钟核查表:先抽取最近 24 小时 Cloudflare Security Events,再筛出 403、1020、Managed Challenge 请求,最后按“可信字段、路径、状态码、引用结果”四列判断是否应放行。这个表的价值在于避免把“抓取失败”误判为“内容质量问题”。

验证配置是否真的生效

配置完成后,不要只看规则是否保存成功,要做同口径复测。

建议检查 6 个指标:

  • Cloudflare Security Events 中目标 bot 是否仍被 Block 或 Challenge。
  • /robots.txt/llms.txt/sitemap.xml 是否返回 200。
  • 核心内容页是否对目标爬虫返回 200,而不是 403、429、1020。
  • 源站日志是否出现来自目标爬虫的成功请求。
  • Google Search Console 或 Bing Webmaster Tools 抓取状态是否恢复。
  • AI 搜索回答是否开始引用官网或更新品牌描述。

对 AI 搜索来说,最后一项尤其关键。爬虫能访问页面,不等于 AI 一定引用页面。建议将配置前的提及率、推荐位次和引用 URL 记录为基线,再在 7–14 天后复测。MaxAEO 的 GEO 效果验证框架 也强调用同一问题矩阵、同一平台范围和同一指标口径判断变化。

Cloudflare allowlist 生效验证中的状态码、Security Events 与 AI 引用结果看板

常见错误配置与修正方法

最常见的错误不是“没有白名单”,而是白名单过宽、顺序错误或没有验证结果。

错误做法 可能后果 修正方式
http.user_agent contains "bot" 直接 Allow 大量伪造 UA 绕过防护 改用 cf.client.bot 或类别字段
先 Block 再 Skip 后续放行规则不生效 将可信 bot Skip 规则前置
全站放行 AI 爬虫 后台、搜索页、参数页被抓 只放行公开内容路径
只看 robots.txt CDN/WAF 仍可能拦截 同查 Cloudflare 事件与源站日志
只放行一个 AI UA 不同 AI 平台抓取器命名不同 建立请求头与引用结果复测表
关闭所有 WAF 规则 安全风险过高 跳过具体误拦组件,而非关停防护

如果你的重点是 DeepSeek、豆包、Kimi、腾讯元宝等国产 AI 的可见性,还应同时排查 robots、WAF、CDN 和页面可读性。MaxAEO 国内版覆盖 9 个中国大陆 AI 平台,包括 Kimi、DeepSeek、腾讯元宝、豆包、通义千问、文心一言等,可用于持续观察品牌在 AI 回答中的提及率、排序、情绪评价与引用来源。

一套可直接执行的配置清单

Cloudflare bot allowlist 配置可以按“识别、放行、限制、验证、复盘”五步完成。

  1. 识别目标 bot
    从 Security Events 和源站日志中筛选被拦截的爬虫请求,记录 UA、路径、状态码、规则 ID。

  2. 优先使用 Cloudflare 验证字段
    搜索爬虫用 cf.client.botcf.verified_bot_category,不要优先写 UA 包含规则。

  3. 设置最小放行范围
    先放行 /robots.txt/llms.txt/sitemap.xml,再放行需要被搜索和 AI 引用的内容页。

  4. 用 Skip 替代全局 Allow
    只跳过误拦组件,保留 DDoS、防火墙基础防护和异常请求拦截。

  5. 建立复测口径
    记录配置前后的状态码、Cloudflare 事件、索引状态、AI 引用 URL 和品牌表述变化。

对品牌站而言,最终目标不是让“所有机器人都能抓”,而是让可信爬虫抓到正确、最新、结构清晰的内容。Cloudflare 只解决可访问性问题,AI 是否引用还取决于页面结构、信源权威度、内容一致性和竞品对比信号。

常见问题

Cloudflare 中 Allow 和 Skip 有什么区别?

Allow 更像直接允许请求继续通过,Skip 是让匹配请求绕过指定安全产品或规则。爬虫误拦排查中,通常优先用 Skip,因为它能保留未被跳过的安全防护。

cf.client.bot 是否能覆盖所有 AI 爬虫?

不能。cf.client.bot 主要识别 Cloudflare 已验证的良性机器人。部分 AI 抓取器可能未被验证,或属于需要单独管理的 AI crawler 类别,因此还要结合 AI Crawl Control、路径规则和日志验证。

是否应该放行所有 AI 爬虫?

不建议。更稳妥的策略是:放行能带来搜索可见性和品牌引用价值的抓取,限制训练型、高频、未验证或不遵守规则的爬虫,并按路径控制访问范围。

配置后多久能看到 AI 搜索变化?

WAF 放行通常能立即影响访问状态,但 AI 搜索引用变化需要等待重新抓取、索引和答案更新。建议至少保留配置前基线,并在 7–14 天后用同一问题矩阵复测。

robots.txt 已经允许,为什么 Cloudflare 仍然会拦?

robots.txt 只是爬虫协议声明,不会自动覆盖 WAF、Bot Fight Mode、托管规则或 AI Crawl Control。若 Cloudflare 层返回 403、429 或 1020,爬虫仍然无法读取页面。