Cloudflare 排查

为什么 Claude-SearchBot 没有访问记录?

如果你在近 72 小时日志里看不到任何 Claude-SearchBot,先按证据分层排查。多数问题都落在下面四层。

第 1 层:查询 token 写错

grep -i "Claude-SearchBot" /var/log/nginx/access.log | wc -l
grep -i "ClaudeBot" /var/log/nginx/access.log | wc -l
grep -i "Claude-User" /var/log/nginx/access.log | wc -l

第 2 层:Cloudflare 边缘策略拦截

常见现象是 robots 看起来已放行,但边缘层仍返回挑战或 403。

  1. 在 Cloudflare Security Events 筛选 /robots.txt/sitemap.xml、核心公开页面。
  2. 检查托管规则、Bot 防护规则是否误触发。
  3. 必要时只对公开入口路径做窄范围放行,不扩大到敏感路径。

相关页面:Bot Fight Mode 会拦截 AI 爬虫吗?

第 3 层:robots 在不同主机名或版本不一致

实际项目里经常出现 apex 和 www 配置不一致,或者发布后缓存了旧文件。

curl -s https://llmsfile.com/robots.txt | sed -n '1,80p'
curl -s https://www.llmsfile.com/robots.txt | sed -n '1,80p'

如果内容不同,先统一策略再继续观察。

第 4 层:抓取入口 URL 不稳定

for p in /robots.txt /sitemap.xml /sitemap-index.xml /feed.xml; do
  curl -s -A "Claude-SearchBot/1.0" -o /dev/null -w "%{http_code} %{url_effective}\n" "https://yourdomain.com$p"
done

排查后如何决策

执行 Claude-SearchBot 访问检查