Cloudflare 爬虫白名单怎么设置:WAF 放行、Bot 规则与验证清单

Cloudflare 爬虫白名单怎么设置:WAF 放行、Bot 规则与验证清单

作者:maxaeo.cn|发布日期:2026-08-31|更新日期:2026-08-31

Cloudflare 爬虫白名单怎么设置,核心不是把所有 User-Agent 加进白名单,而是先识别“可信机器人”,再用 WAF Skip 或 Allow 规则放行必要检查,最后用日志验证是否真的不再 403 或挑战。

对大多数网站,推荐顺序是:先放行 Cloudflare 已验证机器人,再为业务必需爬虫建立最小范围规则,最后单独处理 AI 爬虫。这样既不影响 Googlebot、Bingbot、监控服务抓取,也不会把伪装爬虫一并放进来。

Cloudflare 爬虫白名单怎么设置的规则路径示意图

什么是 Cloudflare 爬虫白名单?

Cloudflare 爬虫白名单指通过 WAF、自定义规则、Bot 管理或 AI Crawl Control,让可信搜索引擎、监控工具、支付回调、AI 抓取机器人绕过拦截、挑战或限速策略。

这里的“白名单”不等于无条件放行全站。更稳妥的做法是分三层处理:

类型 常见对象 推荐做法
搜索引擎爬虫 Googlebot、Bingbot 等 优先使用 Cloudflare Verified Bots
业务服务爬虫 监控、SEO 工具、支付回调 限定 IP、路径、Header 或 ASN
AI 爬虫 GPTBot、ClaudeBot、Bytespider 等 按“搜索、训练、代理访问”分别放行或限制

Cloudflare 官方 WAF 文档建议使用 cf.client.bot 判断已知良性机器人,并在规则中排除这些机器人,避免误挑战搜索引擎流量,可参考 Cloudflare 允许搜索引擎和已验证机器人流量的文档

推荐方案:先用 Verified Bots,而不是手写 UA 列表

最稳的做法是优先信任 Cloudflare Verified Bots,因为它不仅看 User-Agent,还结合身份验证机制;单靠 UA 字符串容易被伪造,适合临时排查,不适合作为长期白名单。

在 Cloudflare 控制台中,可以按以下思路配置:

  1. 进入目标站点的 Security / WAF
  2. 新建 Custom Rule。
  3. 条件选择 Known Bots equals true,或在表达式中使用:
    cf.client.bot
    
  4. 动作根据你的规则体系选择 SkipAllow
  5. 如果站点已有国家、IP 信誉、Bot Fight、速率限制规则,把这条规则放在更靠前位置。

如果你的目标只是“不拦 Googlebot、Bingbot 等搜索引擎”,不要写 http.user_agent contains "Googlebot" 这类规则作为唯一依据。真实 Googlebot 可通过反向 DNS 等方式验证,而恶意请求也可以伪装成相同 UA。

WAF 里具体怎么写放行规则?

通用写法是:用 cf.client.bot 放行已验证机器人,用路径、IP 或 UA 限定业务爬虫,用排除条件避免后续规则误伤。规则动作优先选 Skip,而不是粗暴 Allow。

一个常见的搜索引擎放行表达式是:

cf.client.bot

如果你只想跳过部分安全动作,可以在动作里选择 Skip,并勾选需要跳过的项目,例如 WAF Managed Rules、Super Bot Fight Mode 或 Rate Limiting。这样比 Allow 更可控,因为它不会绕过所有安全能力。

如果你的站点设置了“海外访问挑战”,可改成:

(ip.src.country in {"US" "SG"} and not cf.client.bot)

这表示:来自美国或新加坡且不是已验证机器人的请求才触发挑战。Cloudflare 官方示例也采用了“挑战特定国家流量,但排除 Known Bots”的思路。

业务爬虫白名单怎么做才不危险?

业务爬虫白名单应遵循“最小放行”:能限定 IP 就不要只看 UA,能限定路径就不要放行全站,能加 Header 密钥就不要只靠来源声明。

例如,你有一个监控服务每 5 分钟访问 /health,可以这样写:

(ip.src in {203.0.113.10 203.0.113.11} and http.request.uri.path eq "/health")

如果服务方没有固定 IP,只能提供 UA,可临时使用:

(http.user_agent contains "ExampleMonitor" and http.request.uri.path starts_with "/health")

但这类规则应加过期时间或定期复核。本文建议用一个“四限原则”管理业务爬虫:限身份、限路径、限频率、限日志复查。这比简单问“Cloudflare 爬虫白名单怎么设置”更接近生产环境的真实安全边界。

AI 爬虫要不要放行?

AI 爬虫不应一刀切。想提升 AI 搜索可见性的站点,可以允许“搜索型”或“引用型”抓取;对训练用途敏感的内容,则应通过 Cloudflare AI Crawl Control、robots.txt 与 WAF 共同约束。

Cloudflare 已将 AI 爬虫管理拆成更细的行为类别,例如 Search、Agent、Training 等;官方的 Block AI Bots 文档 也说明,站点可按 AI 行为类型决定允许或阻止。

一个可落地的判断框架是:

  • 产品页、文档页、价格说明页:通常建议允许搜索型 AI 抓取,便于被 AI 答案引用。
  • 会员内容、原创报告、下载资源:建议限制训练型爬虫,并增加登录或访问控制。
  • 结账页、后台页、接口页:通常不需要任何通用爬虫访问。
  • 品牌介绍、FAQ、案例页:可结合 llms.txt、结构化内容和引用溯源做可见性优化。

如果你遇到 AI 爬虫访问被拦,可以参考 MaxAEO 的 AI 爬虫访问被拦截排查指南,从 robots.txt、WAF、状态码和日志四层定位问题。

Bot Fight Mode 误拦时怎么处理?

Bot Fight Mode 误拦时,先看 Security Events 里命中的具体规则,再用 Skip 规则放行可信爬虫;不要直接关闭全部防护,除非你只是短时间验证问题来源。

排查顺序建议如下:

  1. 打开 Security Events,筛选被拦请求的 URI、IP、UA、Ray ID。
  2. 看动作是 Block、Managed Challenge、JS Challenge,还是 Rate Limit。
  3. 判断请求是否属于 Cloudflare Verified Bots。
  4. 若是可信爬虫,在相关拦截规则之前增加 Skip。
  5. 复测抓取工具,确认状态码从 403、429 或挑战页恢复为 200。

如果你的问题集中在 Bot Fight Mode,可参考 Cloudflare Bot Fight Mode 放行的最小修复方案。如果是更泛化的误伤,建议结合 WAF 误伤机器人流量的排查方法 做日志复盘。

Cloudflare Security Events 中定位爬虫误拦的示意图

一套更稳的白名单配置顺序

Cloudflare 爬虫白名单的最佳顺序是:先保护敏感路径,再放行已验证机器人,然后限制业务爬虫,最后对 AI 爬虫分层策略化处理。顺序错了,白名单可能被后续规则再次拦截。

建议规则顺序如下:

优先级 规则 目的
1 后台、登录、支付、API 强保护 防止白名单误放敏感区域
2 已验证搜索引擎 Skip 避免 SEO 抓取被挑战
3 业务监控和回调白名单 确保可用性
4 AI 爬虫分类放行或限制 平衡可见性与版权控制
5 国家、信誉、速率、Bot 挑战规则 处理未知或高风险流量

这套顺序的独特价值在于把“安全优先级”和“可抓取性”拆开,而不是把所有爬虫都塞进一个大白名单。对 SaaS 官网尤其重要,因为官网通常同时承担获客、文档、试用注册和品牌信息源功能。

如何验证白名单已经生效?

验证白名单是否生效,要同时看三件事:Cloudflare 事件日志不再拦截、源站访问日志返回 200、目标平台或爬虫工具能重新抓取页面。

可按这张清单逐项确认:

  • 在 Cloudflare Security Events 中搜索目标 UA、IP 或路径。
  • 查看命中规则是否从 Block/Challenge 变为 Skip/Allow。
  • 在源站 Nginx、Apache 或应用日志中确认真实请求到达。
  • 用 Google Search Console 的 URL 检查工具复测搜索抓取。
  • 对 AI 搜索场景,复测同一问题下品牌是否被引用或提及。
  • 记录测试时间、页面 URL、平台、状态码和 AI 原文回答。

MaxAEO 在 AI 搜索可见性场景中,会关注品牌在豆包、DeepSeek、腾讯元宝、通义千问、文心一言等国产 AI 平台中的提及率、排序、情绪评价与引用来源。若你放行 AI 抓取后想看是否产生实际变化,可以用 国产 AI 爬虫 UA 识别、放行与 WAF 白名单配置 进一步核对抓取入口。

常见错误:为什么白名单写了还是被拦?

白名单失效通常不是表达式写错,而是规则顺序、动作类型、Bot Fight Mode、AI Crawl Control 或源站二次拦截共同造成的。

最常见的 5 个原因是:

  1. 规则顺序靠后:前面的 Block 已经生效,后面的 Allow 没机会执行。
  2. 只放行了 WAF,没跳过 Bot Fight Mode:请求仍被机器人规则挑战。
  3. UA 被伪造或未被 Cloudflare 认证cf.client.bot 不会返回 true。
  4. Cloudflare 放行了,源站还在拦:服务器防火墙、Nginx、插件仍返回 403。
  5. AI 爬虫被单独策略拦截:Block AI Bots 或 AI Crawl Control 与 WAF 规则冲突。

处理时不要一次改动多条规则。每次只改一个条件,保留 Ray ID 和日志截图,避免“看似修好了,实际不知道是哪条规则起效”。

Cloudflare 爬虫白名单验证清单和日志字段示意图

常见问题

Cloudflare 免费版能设置爬虫白名单吗?

可以。免费版也能使用部分 WAF Custom Rules 和 Bot Fight Mode 设置,但不同套餐可用字段、规则数量和 Bot 管理能力不同。生产站点应以控制台实际可见选项为准。

直接 Allow Googlebot User-Agent 可以吗?

不建议。User-Agent 很容易伪造,长期规则应优先用 cf.client.bot 或 Cloudflare Verified Bots。只有在短期排查、并且叠加 IP、路径或频率限制时,才考虑 UA 条件。

AI 爬虫和搜索引擎爬虫要放在同一条规则里吗?

不建议。搜索引擎爬虫通常目标是索引,AI 爬虫可能涉及搜索、训练或代理访问。分开管理更容易控制授权范围,也便于后续复盘 AI 引用效果。

白名单放行后多久能看到 SEO 或 AI 搜索变化?

技术放行通常可即时生效,但搜索索引和 AI 答案更新并不保证同步。建议至少记录 7–14 天同口径日志、抓取状态和引用变化,再判断是否真正改善。

MaxAEO 能用于 Cloudflare 规则配置吗?

MaxAEO 不会自动修改你的 Cloudflare 配置,也不会自动发布内容。它更适合在放行后监测品牌在 AI 平台中的提及率、推荐位次、情绪和引用来源,用来判断优化是否带来 AI 搜索可见性变化。

结论:白名单的目标是“可控放行”,不是“全部放开”

Cloudflare 爬虫白名单怎么设置,答案可以概括为一句话:用 Verified Bots 放行可信搜索爬虫,用最小规则放行业务爬虫,用分类策略管理 AI 爬虫,并用日志验证每一次改动。

如果你只改 robots.txt,却没有检查 WAF、Bot Fight Mode、AI Crawl Control 和源站日志,很容易出现“协议允许、网络层仍拦截”的情况。对依赖搜索和 AI 推荐获客的 SaaS 官网,白名单配置应和内容结构、引用来源、品牌提及监测一起看,才能判断真实效果。