中文问答

为什么 OAI-SearchBot 会被 Cloudflare 返回 403?

如果 robots 已经允许但仍然 403,问题通常在边缘层(WAF、挑战规则、Bot 安全策略),不是 robots 文件本身。

先查这四项

  1. Cloudflare WAF 事件里是否有 OAI-SearchBot 请求被命中规则。
  2. 是否有自定义防火墙规则按 ASN、地区、路径或风险分数拦截。
  3. 是否开启了会对非浏览器请求触发 challenge 的策略。
  4. 对照源站同时间日志,确认请求是否到达源站。

现场排查命令

jq -r 'select(((.request.headers."User-Agent"[0] // "") | test("OAI-SearchBot"; "i"))) | [.ts, .request.uri, .status] | @tsv' /var/lib/caddy/logs/llmsfile-access.log | tail -n 80

curl -I https://yourdomain.com/robots.txt
curl -I https://yourdomain.com/sitemap.xml

规则顺序核对

  1. 确认通配符拦截规则没有先于爬虫放行规则生效。
  2. 放行规则只覆盖公开抓取路径(robots、sitemap、问答/指南页)。
  3. 后台、登录、私有 API 路径仍保持排除。

修复后应看到的信号

正确修复后,通常会先看到 /robots.txt 和 sitemap 的 403 下降,然后才是内容页状态码改善。

实操结论

/robots.txt/sitemap.xml 这类基础路径持续出现 403,应先修 Cloudflare 边缘策略,再看内容策略。

如果你已经明确要放行,可继续看:如何在 Cloudflare WAF 放行 OAI-SearchBot

如果开启了 Bot Fight Mode,可先看:Bot Fight Mode 会拦截 AI 爬虫吗?

生成排查命令