怎么检查并放行 AI 爬虫?robots.txt 与 CDN 双层配置实操

直接回答

分两层检查:robots.txt 文本层(是否写了针对 AI 爬虫的 Disallow)与网络层(CDN/WAF/安全插件是否静默返回 403)。验证方法是逐一模拟各 AI 爬虫的 User-Agent 请求核心页面,正常返回 200 即放行;返回 403/429 说明被拦。两层必须同时确认,只改 robots.txt 而忽略 CDN 层是最常见的无效操作。

核心要点

  • 第一层:查看并修正 robots.txt 中的 Disallow 规则
  • 第二层:检查 CDN(尤其 Cloudflare Bot 管理默认策略)与 WAF 规则
  • 验证手段:curl -A 模拟各爬虫请求,逐个确认返回 200
  • 日志验证:grep 访问日志确认 AI 爬虫真实到访记录
  • 放行检索爬虫优先于一切内容优化——抓不到,后面全免谈

一图速览:爬虫放行双层实操

双层放行第一层robots.txt 检查第二层CDN Bot 策略WAF / 安全插件验证curl -A 模拟请求grep 访问日志

第一层:robots.txt 检查

访问 https://你的域名/robots.txt,检查是否存在针对 AI 爬虫的拦截规则,例如「User-agent: GPTBot」+「Disallow: /」的组合。检索类爬虫(OAI-SearchBot、Claude-SearchBot、PerplexityBot)必须放行;训练类爬虫(GPTBot、ClaudeBot、CCBot 等)可按商业策略自行决定。robots 协议遵循 RFC 9309,规则区分大小写且按最具体匹配生效。

    第二层:CDN 与防火墙检查

    行业审计中大量站点问题出在这一层:robots.txt 写着放行,CDN 却默认拦截。三个高发位置:Cloudflare 的「Bot Fight Mode / AI 爬虫管理」默认策略、Vercel 的严格 bot 规则、WordPress 安全插件(Wordfence、Sucuri)的 UA 白名单。逐一进入控制台确认 AI 爬虫未被归入「疑似恶意流量」。

      验证与日志

      用 curl 逐一模拟:`curl -A "OAI-SearchBot" https://你的域名/`,正常应返回 200 与完整 HTML。再查访问日志:`grep -Ei "gptbot|claudebot|perplexitybot|oai-searchbot" access.log`——如果近期日志中没有任何 AI 爬虫记录,说明抓取链路某处仍被拦截。

        双层检查清单

        层检查项通过标准
        robots.txt无检索爬虫的 Disallow 规则检索类 UA 可见 Allow/无限制
        CDN/WAFBot 管理未拦 AI 爬虫curl 模拟返回 200
        服务器日志存在 AI 爬虫访问记录近 30 天日志有 UA 记录
        核心页面首页/服务页/内容页均可抓逐页模拟均 200 且非 JS 空壳

        常见追问

        curl 模拟返回 403 但 robots.txt 没问题,怎么定位?

        按顺序排查:CDN 控制台的安全规则 → WAF/防火墙 → 应用层中间件(安全插件、UA 过滤代码)。可以先用 curl -v 查看响应头中是否有 CDN 厂商标识,缩小范围。

        放行 AI 爬虫会不会被恶意抓取?

        放行特定 UA 与防恶意抓取并不冲突:对检索类 AI 爬虫放行,同时对高频未知 UA 保留限流。建议按 UA + 速率双重策略,而不是一刀切封禁所有陌生爬虫。

        信息来源

        本页数据均来自上述公开信源,如与官方最新文档不一致,以官方为准。

        需要针对你的行业做一次 AI 可见度诊断?

        免费诊断