作者:maxaeo.cn|发布日期:2026-09-03|更新日期:2026-09-03
Cloudflare 自定义规则放行爬虫的核心不是“全站放开”,而是用 Skip 动作让可信爬虫绕过可能误拦的 WAF、速率限制或安全级别,同时继续拦截登录、后台、接口等高风险路径。

什么是 Cloudflare 自定义规则放行爬虫
Cloudflare 自定义规则放行爬虫,是指在 WAF Custom Rules 中用 UA、路径、国家、Bot 字段等条件匹配合法爬虫,并选择 Skip 或 Allow 等动作,避免正常抓取被挑战、403 或限速。
更推荐使用 Skip,而不是简单 Allow。Cloudflare 官方说明中,Skip 可让特定请求跳过一个或多个安全功能,例如 WAF Managed Rules、Rate Limiting、Super Bot Fight Mode 等;但它不能跳过 Free 计划的 Bot Fight Mode,具体边界可见 Cloudflare Skip action 文档。
对企业官网、文档站和博客来说,放行目标通常是:让搜索引擎、AI 搜索工具、国产大模型爬虫能读取公开内容;同时不让伪装 UA 的扫描器进入 /admin、/login、/api、下载备份文件等区域。
放行前先判断:哪些页面值得让爬虫读
爬虫放行应优先覆盖可被公开引用的页面:/robots.txt、/llms.txt、官网核心介绍页、产品页、文档页、博客页、价格页和案例页。后台、支付、用户中心和私有接口不应为了抓取而放开。
一个可执行的分层是:
| 页面类型 | 建议策略 | 原因 |
|---|---|---|
/robots.txt、/llms.txt |
优先放行 | 爬虫判断抓取边界的入口 |
/blog/、/docs/、/pricing |
条件放行 | 适合搜索与 AI 引用 |
/login、/admin、/wp-admin |
不放行 | 高风险入口 |
/api/、/checkout |
默认不放行 | 可能涉及业务或用户数据 |
| 静态资源 | 视渲染需要放行 | 页面无法渲染时再补充 |
如果企业站正在做 AI 搜索可见性优化,可先检查内容入口是否清晰,例如通过 llms.txt 目录索引设计 把品牌介绍、产品能力、价格、文档、案例等页面整理成 AI 更容易读取的入口。
最小放行规则怎么写:推荐四层条件
最小放行不是只匹配 UA,而是“UA + 路径 + 动作范围 + 日志复测”。这样即使某个请求伪装成爬虫,也很难获得全站通行权。
推荐顺序如下:
- 先建 Log 规则:观察 3–7 天,不直接放行。
- 再限定 UA:只匹配明确的爬虫标识。
- 再限定路径:只开放公开内容路径。
- 最后选择 Skip 项:只跳过造成误拦的功能,不跳过所有防护。
示例表达式可从这个版本开始:
(
http.user_agent contains "Googlebot"
or http.user_agent contains "bingbot"
or http.user_agent contains "GPTBot"
or http.user_agent contains "ClaudeBot"
or http.user_agent contains "Bytespider"
or http.user_agent contains "DeepSeekBot"
)
and (
http.request.uri.path eq "/robots.txt"
or http.request.uri.path eq "/llms.txt"
or starts_with(http.request.uri.path, "/blog/")
or starts_with(http.request.uri.path, "/docs/")
or http.request.uri.path eq "/pricing"
)
国内站还需要额外维护国产 AI 爬虫 UA 清单。可结合服务器日志和 国产大模型爬虫 user-agent 识别与放行清单 做人工核验,不建议看到 UA 含 “bot” 就直接放行。
Skip 该勾选哪些安全项
Skip 应只跳过导致误拦的项。Cloudflare 的可跳过选项包括剩余自定义规则、速率限制、Super Bot Fight Mode、WAF Managed Rules,以及部分产品项;官方还特别说明,账户级 Skip 不会影响 zone 级规则,详见 Cloudflare available skip options。
企业站可按下面的判断配置:
| 误拦现象 | 优先 Skip 项 | 不建议做法 |
|---|---|---|
| Security Events 显示 Managed Rules 拦截 | All managed rules | 全站 Allow |
| 爬虫频率被限速 | All rate limiting rules,且仅限内容路径 | 取消全站限速 |
| Super Bot Fight Mode 挑战合法爬虫 | All Super Bot Fight Mode rules | 关闭全部机器人防护 |
| User Agent Blocking 命中 | User Agent Blocking 产品项 | 删除所有 UA 规则 |
| 安全级别过高导致挑战 | Security Level 产品项 | 降低全站安全级别 |
这里有一个容易忽略的细节:Skip 规则要排在可能拦截它的规则之前。Cloudflare Bot 文档说明,自定义规则会在 Super Bot Fight Mode managed rules 之前执行;如果前面的自定义规则已经 Block 或 Managed Challenge,请求就不会继续到后续设置。可参考 Cloudflare Bot custom rules 文档。

按路径放行:官网、文档、博客不要同一套规则
按路径放行爬虫的关键,是把“可引用内容”和“业务敏感入口”分开。官网首页、博客和文档可以更宽松,登录、后台、表单提交和 API 应继续保持挑战或阻断。
建议拆成三条规则,而不是一条大规则:
规则一:基础入口放行
(
http.request.uri.path eq "/robots.txt"
or http.request.uri.path eq "/llms.txt"
)
and (
http.user_agent contains "Googlebot"
or http.user_agent contains "bingbot"
or http.user_agent contains "DeepSeekBot"
or http.user_agent contains "Bytespider"
)
动作:Skip WAF Managed Rules、Security Level,并开启日志。
规则二:内容页放行
(
starts_with(http.request.uri.path, "/blog/")
or starts_with(http.request.uri.path, "/docs/")
or starts_with(http.request.uri.path, "/product/")
)
and not (
starts_with(http.request.uri.path, "/api/")
or starts_with(http.request.uri.path, "/admin")
or starts_with(http.request.uri.path, "/login")
)
and http.user_agent contains "Bot"
动作:先 Log,确认无异常后再改为 Skip。更完整的路径拆分方法可参考 Cloudflare 按路径放行爬虫:只开放 robots、llms 与内容页。
规则三:高风险路径强保护
(
starts_with(http.request.uri.path, "/admin")
or starts_with(http.request.uri.path, "/login")
or starts_with(http.request.uri.path, "/api/")
)
and not cf.client.bot
动作:Managed Challenge 或 Block。Cloudflare 官方在搜索引擎放行示例中也使用 cf.client.bot 判断已知良性爬虫,并对非已知爬虫进行挑战,可见 Cloudflare allow traffic from verified bots 示例。
按国家和安全级别放行时,别把 GEO 优化做成安全漏洞
国家条件适合降低噪音,但不适合作为唯一信任依据。AI 爬虫可能从多地区节点访问,企业站如果只允许中国大陆或只允许美国,可能造成某些 AI 搜索工具抓取失败。
更稳妥的写法是:
(
ip.src.country in {"CN" "US" "SG" "JP"}
)
and (
http.user_agent contains "DeepSeekBot"
or http.user_agent contains "Bytespider"
or http.user_agent contains "Googlebot"
)
and (
http.request.uri.path eq "/robots.txt"
or http.request.uri.path eq "/llms.txt"
or starts_with(http.request.uri.path, "/blog/")
)
如果 Security Level 经常挑战爬虫,不要把全站安全级别从 High 调到 Low。更好的做法,是在这条爬虫规则里 Skip securityLevel,并继续保留 WAF、Bot、Rate Limit 的其他必要保护。
MaxAEO 的一线排查框架:用“抓取—引用—提及”闭环验证
只看到 200 状态码,不等于 AI 已经读懂品牌。MaxAEO 在 AI 搜索可见性诊断中更关注三层结果:爬虫是否到达、内容是否被引用、品牌是否在回答中被提及。
可用这张检查表复测:
| 层级 | 看什么 | 合格信号 |
|---|---|---|
| 抓取层 | Cloudflare Security Events、源站日志 | 合法爬虫访问公开路径返回 200/304 |
| 引用层 | AI 回答引用来源 | 官网、文档或博客 URL 开始出现 |
| 提及层 | 品牌在问题矩阵中的出现 | 提及率、推荐位次、情感描述改善 |
MaxAEO 国内版 maxaeo.cn 覆盖豆包、DeepSeek、腾讯元宝、通义千问、文心一言、Kimi 等 9 个中国大陆 AI 平台,支持监测品牌提及率、排序、情绪评价与引用来源。站点完成 WAF 放行后,可用 AI 引用来源分析 判断 AI 是否真正引用了你的官网内容,而不是仍在使用第三方旧信息。

上线后的验证清单
规则上线后,应至少复测一次“Cloudflare 事件 + 源站日志 + AI 搜索结果”。不要只看 WAF 命中次数下降,因为错误的全站放行也会让事件数变少。
推荐按 7 天观察:
- 在 Cloudflare Security Events 里筛选爬虫 UA。
- 确认被放行路径只包含公开页面。
- 检查是否仍有 Managed Challenge、403、429。
- 对比源站日志状态码和访问频率。
- 在 AI 平台用真实购买问题测试品牌是否被提及。
- 记录修改日期,避免后续模型更新时无法归因。
- 若出现异常抓取,先收窄路径,再考虑移除 UA。
如果需要更完整的误拦排查,可结合 Cloudflare WAF 例外规则配置 检查规则顺序、Skip 范围和日志记录。
常见问题
Cloudflare 放行爬虫应该用 Allow 还是 Skip?
多数场景优先用 Skip。Allow 更像直接允许请求通过,而 Skip 可以精确跳过 WAF Managed Rules、Rate Limiting、Security Level 等造成误拦的环节,适合企业站做最小放行。
只按 User-Agent 放行安全吗?
不够安全。UA 可以被伪造,至少应叠加路径条件;有 Bot Management 能力的站点,还可结合 cf.client.bot、verified bot、Bot Score、ASN、国家等字段降低误放行风险。
AI 爬虫一定要全站放行吗?
不需要。AI 爬虫主要需要读取公开、稳定、可引用的内容,例如品牌介绍、产品页、文档、博客、价格页和 llms.txt。登录、后台、表单、订单、API 默认不应放开。
配置后多久能看到 AI 搜索变化?
抓取层可能当天就能从日志看到变化,但 AI 回答是否更新取决于平台抓取、索引和生成策略。建议用同一组问题在配置前后复测,并观察 7–30 天趋势,而不是只看单次回答。
Cloudflare Bot Fight Mode 能用 Skip 绕过吗?
不能一概而论。Cloudflare 官方文档说明,WAF Custom Rules 的 Skip 不能跳过 Free 计划的 Bot Fight Mode;但可以跳过 Super Bot Fight Mode 相关阶段。配置前应确认当前套餐和启用的安全产品。
