Cloudflare 机器人规则配置:放行好机器人、限制坏爬虫的实操指南

Cloudflare 机器人规则配置:放行好机器人、限制坏爬虫的实操指南

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

Cloudflare 机器人规则配置的核心,是把“可信机器人、业务接口、普通访客、未知自动化流量”分开处理:该放行的先放行,该限速的限速,该挑战的挑战,最后才是封禁。这样既能减少恶意抓取,也能避免 Googlebot、AI 搜索爬虫、监控探针和支付回调被误拦。

Cloudflare 机器人规则配置分层示意图

什么是 Cloudflare 机器人规则配置?

Cloudflare 机器人规则配置,是通过 Bot Fight Mode、Super Bot Fight Mode、WAF 自定义规则、速率限制和 Verified Bots 字段,控制不同自动化访问的安全策略。

需要先区分一个容易踩坑的点:Cloudflare 官方文档说明,免费版 Bot Fight Mode 不能通过 WAF Custom Rules 或 Page Rules 跳过;如果要用 Skip 动作精细放行,通常需要 Super Bot Fight Mode 或更高阶的 Bot 管理能力。可参考 Cloudflare Bot Fight Mode 官方说明WAF Skip 动作说明

因此,配置前不要急着写表达式,先确认当前套餐和启用的安全功能。

先判断:你要解决的是哪一种机器人问题?

最稳妥的做法是先按“误拦、滥抓、撞库、AI 抓取”四类归因,再选择动作;不要把所有机器人都放进一个 Block 规则。

场景 典型现象 建议动作 不建议做法
好机器人被误拦 搜索收录下降、监控 403、回调失败 Verified Bots 或可信 IP 放行 用 UA 字符串裸放行
恶意扫描 /wp-login.php/.env/admin 高频访问 阻断或挑战 只靠 robots.txt
接口被刷 API QPS 异常、登录失败激增 速率限制 + 路径规则 全站挑战
AI 爬虫不可见 内容无法被 AI 搜索引用 对目标爬虫最小放行 无差别开启 Block AI Bots

如果问题是 AI 搜索抓取失败,可以先按 AI 爬虫访问被拦截的排查路径 检查 robots.txt、WAF、源站状态码和日志证据,再回到 Cloudflare 做规则修正。

推荐规则顺序:先放行,再限速,最后拦截

规则顺序会影响最终结果。一个可复用的顺序是:可信放行规则放最前,业务接口例外其次,风险路径限速居中,最后再处理未知高风险机器人。

  1. 规则 1:放行已验证好机器人
    用 Cloudflare 的 Verified Bots 字段识别高可信爬虫,而不是只看 User-Agent。官方在 Bot 自定义规则文档中说明,可使用 bot management 字段与 Verified Bot 类别做规则判断,详见 Cloudflare Custom Rules for bots

  2. 规则 2:放行业务必要接口
    例如支付回调、监控探针、Webhook、健康检查。建议叠加 IP、路径、请求方法,不要只靠路径。

  3. 规则 3:限制高消耗路径
    搜索页、筛选页、登录页、动态 API 更适合 Rate Limiting 或 Managed Challenge,而不是简单 Block。

  4. 规则 4:阻断明显恶意请求
    例如访问敏感文件、异常参数注入、扫描器 UA、非业务国家地区的后台访问。

这个顺序的好处是:先保业务和收录,再压制消耗,最后清理明显攻击流量。

可直接参考的表达式模板

以下模板要按站点实际情况调整。上线前建议先用 Log 或 Challenge 观察 24–72 小时,再切换为 Skip、Block 或 Rate Limit。

放行 Cloudflare 已验证机器人

cf.client.bot

这个字段适合放在前置规则中,用于识别 Cloudflare 认可的好机器人。若你的目标是 SEO 收录、AI 搜索可见性或第三方监控稳定性,优先考虑这种方式,而不是维护一长串 UA。

只放行特定业务回调

(http.request.uri.path starts_with "/api/payment/callback")
and ip.src in {203.0.113.10 203.0.113.11}
and http.request.method eq "POST"

这类规则适合支付、CRM、营销自动化、监控系统。路径、IP、方法三个条件同时满足,误放行风险更低。

对高频抓取路径加挑战

(http.request.uri.path contains "/search")
and not cf.client.bot

搜索页、站内筛选页和动态列表页容易被爬虫拖垮。对非验证机器人施加 Managed Challenge,通常比直接封禁更稳。

阻断敏感文件扫描

(http.request.uri.path contains "/.env")
or (http.request.uri.path contains "/wp-config.php")
or (http.request.uri.path contains "/phpmyadmin")

这类请求与正常业务关联很低,可以更果断地拦截。

Bot Fight Mode 与 WAF Skip 有何区别?

Bot Fight Mode 是开关式防护,WAF Skip 是规则式例外;两者不在所有套餐和场景下都能互相覆盖。

Cloudflare 官方明确提到,Bot Fight Mode 不运行在 Ruleset Engine 中,因此 WAF 的 Skip、Bypass、Allow 对它无效。也就是说,如果免费版 Bot Fight Mode 正在误伤 API 或监控,你写 WAF Skip 规则很可能看起来正确,但实际不生效。

遇到这种情况有三种选择:

  • 关闭 Bot Fight Mode,改用 WAF 自定义规则和速率限制组合;
  • 升级到支持更细粒度控制的 Super Bot Fight Mode;
  • 对非常明确的来源使用 IP Access Rules,但仍需谨慎验证。

若你遇到的是“开启 Bot Fight Mode 后 AI 爬虫或监控被拦”,可以结合 Cloudflare Bot Fight Mode 放行的最小修复方案 判断是否应关闭开关式防护,改为规则化治理。

AI 爬虫要不要放行?

AI 爬虫不应一刀切放行或封禁;更合理的策略是“核心内容允许抓取,高成本路径限速,敏感接口拒绝”。

对于希望进入 AI 搜索答案的品牌站、SaaS 官网、文档站和内容站,AI 爬虫能否稳定访问,会影响内容被理解、引用和推荐的机会。但放行不等于无限制抓取,尤其是参数页、搜索页和大批量列表页。

建议采用三层策略:

  • 可引用内容:产品页、方案页、帮助文档、品牌介绍页,允许主流爬虫访问;
  • 高成本内容:站内搜索、筛选、分页、动态 API,设置限速;
  • 非公开内容:用户中心、后台、订单、内部 API,直接阻断。

如果你正在处理国产 AI 平台抓取,可结合 国产 AI 爬虫 UA 识别与 WAF 白名单配置 建立初始识别表,再用访问日志验证来源,而不是只凭名称判断。

上线前的 6 项验收清单

一条机器人规则是否合格,不看表达式写得多复杂,而看它是否能被日志验证、是否影响业务、是否便于回滚。

Cloudflare 机器人规则配置验收清单
验收项 合格标准
规则命名 能看出对象、动作和日期,例如 allow_verified_bots_20260826
匹配范围 同时限制路径、IP、方法或 bot 字段,避免全站误伤
执行动作 放行、跳过、挑战、限速、阻断与场景一致
日志验证 Security Events 中能看到命中记录
回滚方案 保留旧规则截图或导出表达式
复测周期 上线后 24 小时、7 天各复查一次

对 AI 搜索可见性来说,还要额外检查“AI 是否真的读到了内容”。MaxAEO 国内版 maxaeo.cn 可监测豆包、DeepSeek、腾讯元宝、通义千问、文心一言、Kimi 等国产 AI 平台中的品牌提及率、排序、情绪评价与引用来源;也可通过 MaxAEO 官网 获取免费诊断,输入品牌或官网后查看基础表现。

常见错误:看似安全,实际会误伤

最常见的错误是把所有未知机器人都 Block。这样短期日志会变干净,但搜索引擎、AI 引用、监控、Webhook 都可能被连带影响。

还要避免以下做法:

  • 只用 http.user_agent contains 作为放行依据;
  • 把 Skip 规则放在 Block 规则之后;
  • 免费版 Bot Fight Mode 误伤后仍继续写 WAF Skip;
  • 对全站开启严格挑战,导致 API、图片、静态资源异常;
  • 修改后不看 Cloudflare Security Events 和源站日志。

如果已经出现 403,可按 大模型抓取 403 原因排查顺序 从 robots.txt、Cloudflare、源站鉴权、内容可读性四层逐步定位。

一套适合多数站点的默认配置框架

多数内容站、SaaS 官网和电商落地页,可以从“白名单优先、路径分区、日志复测”这套框架开始。

推荐基线如下:

  1. 开启必要的 WAF Managed Rules,但先观察误报;
  2. cf.client.bot 或 Verified Bot 类别设置前置放行;
  3. 对支付、Webhook、监控路径设置精确例外;
  4. 对搜索、筛选、登录、注册接口设置速率限制;
  5. 对敏感文件扫描和明显攻击路径直接 Block;
  6. 对 AI 爬虫按内容价值分区放行或限速;
  7. 每次修改只改一类规则,并记录上线时间。

这套方法的关键不是“最严”,而是“可解释、可复测、可回滚”。安全团队、SEO 团队和增长团队都能看懂规则意图,后续才不会互相覆盖。

常见问题

Cloudflare 机器人规则配置需要写代码吗?

多数站点不需要写代码,可在 Cloudflare Dashboard 的 Security Rules、WAF Custom Rules、Rate Limiting 中完成。只有批量管理多站点时,才建议使用 API。

免费版 Bot Fight Mode 能用 WAF 放行吗?

通常不能。Cloudflare 官方说明,Bot Fight Mode 不能通过 WAF Custom Rules 或 Page Rules 跳过;若需要精细例外,应考虑关闭它后改用规则组合,或使用 Super Bot Fight Mode。

Verified Bots 是否一定安全?

不等于绝对安全。Verified Bots 更适合识别高可信来源,但仍建议结合路径、频率和业务影响判断。尤其是高消耗页面,不应无限制开放。

AI 爬虫被 Cloudflare 拦截会影响品牌曝光吗?

可能会。若 AI 平台无法访问官网、文档或权威介绍页,模型更可能引用第三方页面或旧信息。建议保留核心内容可抓取,并用日志和 AI 回答结果复测。

修改规则后多久复查?

建议至少复查两次:上线后 24 小时看误伤和异常流量,7 天后看搜索抓取、AI 引用、接口稳定性和安全事件趋势。