ClaudeBot 403:先分清是 robots.txt 还是 WAF,再决定放行策略

ClaudeBot 403:先分清是 robots.txt 还是 WAF,再决定放行策略

更新于 2026-08-12

ClaudeBot 403 通常不是单点故障,而是声明层访问层不一致:你以为允许了,边缘或源站却仍在拒绝。先看 403 是谁返回的,再决定改 robots.txt、WAF 还是源站权限。

ClaudeBot 403 的三层排查路径:robots.txt、WAF 和源站

ClaudeBot 403 到底是什么意思

ClaudeBot 403 指 Anthropic 的爬虫请求拿到了 403 Forbidden。它不是“页面没了”,而是“这次请求没被允许继续”。Anthropic 官方把 ClaudeBot、Claude-User、Claude-SearchBot 分开说明,分别对应训练、用户主动访问和搜索质量;这意味着你拦到的,未必是同一种流量。可先对照 Anthropic 的官方说明

先别改规则,先判 403 来自哪一层

最常见的误区,是一看到 ClaudeBot 403 就直接改 robots.txt。更稳妥的做法,是先判断响应是谁回的,再决定改哪一层。Cloudflare 也明确写到:没有 Cloudflare 品牌的 403 往往来自源站,常见原因是 .htaccessmod_security 或 IP 规则;而带有 Cloudflare 品牌的 403 才更像边缘或 WAF 问题。

看到什么 更可能是哪层 先查什么
robots.txt 能打开,正文却 403 边缘 / WAF Cloudflare 规则、Bot Fight Mode、CDN 拦截
403 没有 Cloudflare 品牌 源站 .htaccess、权限、IP 黑名单、mod_security
只某个子域 403 子域配置不一致 每个子域的 robots.txt 和边缘策略
规则允许了,但 Claude 仍不引用 可见性 / 渲染 JS 渲染、canonical、sitemap、正文位置

这一步的价值,是把“声明”和“事实”拆开看。更多通用思路可参考 AI 爬虫 403 最小放行清单

一个更实用的三问法

  1. 403 是谁返回的? 先看响应头、品牌页和日志。
  2. 它拦的是哪条通道? 是训练爬虫,还是用户主动访问,还是搜索相关抓取。
  3. 你要的是放行、限速,还是继续拦? 目标不同,配置就不同。

这三问能直接避免把 WAF 问题误判成 robots.txt 问题。

最小放行清单:先让它读到,再决定读多少

如果你的目标不是“一刀切封死”,而是先恢复可见性,再逐步收紧,那么优先做最小放行。Anthropic 官方说明支持 robots.txt,也支持 Crawl-delay 这类非标准扩展;同时还提醒要按每个子域分别处理,不要只改主域。

User-agent: ClaudeBot
Allow: /

如果你要的是阻止训练而不是开放:

User-agent: ClaudeBot
Disallow: /

推荐按这个顺序做:

  1. 确认每个子域都一致www、主域、业务子域、API 子域都要查。
  2. 先看实际日志:只看 robots.txt 文本不够,要看请求是否真的 200 还是仍然 403。
  3. 再看边缘规则:如果前面有 CDN 或 Cloudflare,先核对 AI 爬虫规则。
  4. 需要降频时再试 Crawl-delay:适合保守放行,不适合替代完整策略。

如果你的站点前面还有 CDN,可以一起对照 Cloudflare 拦截 GPTBot 的排查与放行CDN 拦截 AI 爬虫的 403 排查清单

ClaudeBot 403 放行与验证清单示意

什么时候应该继续拦 ClaudeBot

如果你的目标是拒绝训练,但保留用户主动访问或搜索型入口,就不要把 ClaudeBot、Claude-User、Claude-SearchBot 混成一类。Anthropic 的官方说明已经把它们拆开:ClaudeBot 偏训练,Claude-User 偏用户请求,Claude-SearchBot 偏搜索质量。也就是说,拦 ClaudeBot 不等于拦所有 Claude 相关通道。

这对内容品牌很重要。你可以选择更保守的策略,也可以选择更开放的策略,但要先把“我想挡什么”说清楚,再写规则。若你想延展到更完整的 AI 爬虫矩阵,可继续看 国产 AI 爬虫都有谁、robots 该怎么写

常见问题

ClaudeBot 403 和 robots.txt Disallow 是一回事吗?

不是。Disallow 是访问声明,403 是实际拒绝。你可以在 robots.txt 里允许它,但边缘或源站仍然回 403。

robots.txt 已经改了,为什么还是 403?

通常是 WAF、CDN、源站权限 还在拦。先看日志里到底是谁回了 403,再决定是改规则还是改源站。

怎么确认来访的是真 ClaudeBot?

不要只看 User-Agent。更稳妥的做法,是结合 Anthropic 公布的来源线索、请求日志和访问行为一起判断。官方文档也建议用 robots.txt 配置和来源核验一起看。

ClaudeBot、Claude-User、Claude-SearchBot 有什么区别?

ClaudeBot 更偏训练相关;Claude-User 是用户主动触发时的访问;Claude-SearchBot 则偏搜索质量。三者要分开处理,别用一条规则概括全部。

要不要给 ClaudeBot 加 Crawl-delay?

如果你不想完全阻断,只想先降频,可以尝试。它适合保守放行,但不是万能解法;如果边缘已经在 403,单改 Crawl-delay 没用。

结语

ClaudeBot 403 最容易被误判成“改 robots.txt 就行”。更准确的做法,是先判断 403 的来源层,再决定是放行、限速,还是继续拦。对 SaaS 站点来说,最值钱的不是把规则写得最狠,而是把实际可见性测清楚。