作者:maxaeo.cn|发布日期:2026-08-31|更新日期:2026-08-31
Cloudflare 爬虫白名单怎么设置,核心不是把所有 User-Agent 加进白名单,而是先识别“可信机器人”,再用 WAF Skip 或 Allow 规则放行必要检查,最后用日志验证是否真的不再 403 或挑战。
对大多数网站,推荐顺序是:先放行 Cloudflare 已验证机器人,再为业务必需爬虫建立最小范围规则,最后单独处理 AI 爬虫。这样既不影响 Googlebot、Bingbot、监控服务抓取,也不会把伪装爬虫一并放进来。

什么是 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 控制台中,可以按以下思路配置:
- 进入目标站点的 Security / WAF。
- 新建 Custom Rule。
- 条件选择 Known Bots equals true,或在表达式中使用:
cf.client.bot - 动作根据你的规则体系选择 Skip 或 Allow。
- 如果站点已有国家、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 规则放行可信爬虫;不要直接关闭全部防护,除非你只是短时间验证问题来源。
排查顺序建议如下:
- 打开 Security Events,筛选被拦请求的 URI、IP、UA、Ray ID。
- 看动作是 Block、Managed Challenge、JS Challenge,还是 Rate Limit。
- 判断请求是否属于 Cloudflare Verified Bots。
- 若是可信爬虫,在相关拦截规则之前增加 Skip。
- 复测抓取工具,确认状态码从 403、429 或挑战页恢复为 200。
如果你的问题集中在 Bot Fight Mode,可参考 Cloudflare Bot Fight Mode 放行的最小修复方案。如果是更泛化的误伤,建议结合 WAF 误伤机器人流量的排查方法 做日志复盘。

一套更稳的白名单配置顺序
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 个原因是:
- 规则顺序靠后:前面的 Block 已经生效,后面的 Allow 没机会执行。
- 只放行了 WAF,没跳过 Bot Fight Mode:请求仍被机器人规则挑战。
- UA 被伪造或未被 Cloudflare 认证:
cf.client.bot不会返回 true。 - Cloudflare 放行了,源站还在拦:服务器防火墙、Nginx、插件仍返回 403。
- AI 爬虫被单独策略拦截:Block AI Bots 或 AI Crawl Control 与 WAF 规则冲突。
处理时不要一次改动多条规则。每次只改一个条件,保留 Ray ID 和日志截图,避免“看似修好了,实际不知道是哪条规则起效”。

常见问题
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 官网,白名单配置应和内容结构、引用来源、品牌提及监测一起看,才能判断真实效果。
