Newshot
Account

Show HN:我做了一个工具,可检测 14 种 AI 爬虫对网站的访问情况

Translation(model translation, not the source's own text)

检查 URL

爬虫访问情况

站点检查

按爬虫

检查做了什么

  • 浏览器基线。使用普通桌面浏览器 user agent 请求页面。如果该请求也被拒绝,说明站点总体上阻止自动请求,针对特定爬虫的结果会被标记为未知。
  • robots.txt,按爬虫和按 URL。从提供页面的主机读取 /robots.txt 并应用 RFC 9309:指定该爬虫的组优先于 User-agent: *,最长匹配规则优先,平局时 Allow 优先。返回 5xx 或 429 的 robots.txt 视为“禁止所有”;404 视为“没有规则”。会报告 Cloudflare Content-Signal 行。
  • 每个爬虫 user agent 发起一次请求。使用每个爬虫的 user agent 再次请求页面,只读取状态码和响应头,并与浏览器请求的结果比较。Google-Extended 和 Applebot-Extended 只是 robots.txt token,因此请求使用 Googlebot 和 Applebot,由它们代为抓取。
  • 页面指令。读取 meta name="robots"、以爬虫命名的 meta 标签和 X-Robots-Tag 响应头,包括限定到某个爬虫的指令,例如 GPTBot: noindex。
  • 无 JavaScript 时的文本。移除 script、style 和 template 后,统计原始 HTML 中的单词数。许多 AI 爬虫抓取 HTML 时不运行 JavaScript,因此客户端渲染的页面在它们看来可能是空的。
  • 发现文件。检查 /llms.txt、robots.txt 中声明的 sitemap(或 /sitemap.xml)以及 canonical URL。

允许:robots.txt 允许该 URL,且该爬虫的 user agent 能获取页面。

部分:它能抓取页面,但某些因素限制了使用:noindex、nosnippet、限流、不使用 JavaScript 时几乎没有文本,或存在用户发起的 agent 可能不遵守的 robots.txt 规则。

已阻止:robots.txt 不允许该 URL、robots.txt 无法访问,或服务器在向浏览器提供服务的同时拒绝该 user agent。

未知:我们的请求无法判定,例如站点拒绝来自我们服务器的所有请求,或验证爬虫 IP 地址。

这个检查器无法告诉你什么

  • 请求来自 FloxoLab 的服务器,而不是来自 OpenAI、Anthropic 或 Google。一些 CDN 会检查声称是爬虫的请求是否来自该厂商公布的 IP 范围。这样的 CDN 可能拒绝我们的请求,却仍然放行真正的爬虫,或者相反。当站点连我们的 Googlebot-UA 请求都拒绝时,报告会标记这一点,并将 user-agent 阻止标记为未知。
  • 爬虫请求只读取响应头。如果机器人挑战对爬虫 user agent 返回 HTTP 200 和一个挑战页面,则不会被检测到;如果返回 403、429 或 503,则会被检测到。
  • 一次请求,一个时刻。速率限制、地理规则和 A/B 机器人规则可能在请求之间变化。服务器日志仍然是真实爬虫收到内容的证明。
  • 可访问不等于被收录。被允许的爬虫仍可能从不访问、索引、引用该页面,或不用其训练。
  • 一些 user agent 未公开。Anthropic 记录了其 robots.txt token,但没有完整的 user-agent 字符串,而 ByteDance 没有我们可以核实的官方 Bytespider 页面。对于这些情况,请求使用服务器日志中见到的格式;报告会说明这一点。
  • 用户发起的 agent。OpenAI 和 Perplexity 表示 ChatGPT-User 和 Perplexity-User 可能不遵守 robots.txt,因为是用户请求了该页面。因此 robots.txt 规则只会让它们成为“部分”。
  • noai / noimageai。这些 meta 值是社区约定。下面的厂商都没有将其记录为一种控制手段,因此报告会列出它们,但不将其计为阻止。
  • 不渲染 JavaScript,不登录。检查器读取最大 3 MB 的原始 HTML,不跟踪需要身份验证的页面。只检查端口 80 和 443;私有、本地和内部网络地址会被拒绝。

03 / 爬虫

测试的 14 个爬虫

token、用途和 user agent 已于 2026 年 11 月 6 日对照各厂商文档进行

robots.txt token厂商用途是否遵循 robots.txt来源
GPTBotOpenAI模型训练是OpenAI bots
OAI-SearchBotOpenAIChatGPT 搜索是OpenAI bots
ChatGPT-UserOpenAI用户发起的抓取可能不适用OpenAI bots
ClaudeBotAnthropic模型训练是Anthropic help
Claude-SearchBotAnthropic搜索质量是Anthropic help
Claude-UserAnthropic用户发起的抓取是Anthropic help
PerplexityBotPerplexity搜索索引是Perplexity bots
Perplexity-UserPerplexity用户发起的抓取通常忽略Perplexity bots
Google-ExtendedGoogleGemini 训练与 grounding;仅为 token,由 Googlebot 抓取是Google crawlers
Applebot-ExtendedApple生成式 AI 训练;仅为 token,由 Applebot 抓取是About Applebot
CCBotCommon Crawl用于训练的开放网络存档是CCBot
BytespiderByteDance模型训练未找到官方声明未核实到官方页面
Meta-ExternalAgentMeta训练与索引是Meta crawlers
AmazonbotAmazon产品与 AI 训练是Amazonbot

04 / QUESTIONS

问题

robots.txt 是对爬虫的请求;你的 CDN、防火墙或主机仍可拒绝该请求。Cloudflare 的 AI 爬虫控制、托管机器人规则以及部分主机的“坏机器人”过滤器会按 user agent 进行拦截。报告会显示每个 user agent 收到的状态码,与浏览器的状态码并列展示。

这是商业选择。厂商如今拆分职责:GPTBot 与 OAI-SearchBot、ClaudeBot 与 Claude-SearchBot、Google-Extended 与 Googlebot。Google 表示 Google-Extended 不影响是否被纳入 Google 搜索,OpenAI 将 GPTBot 和 OAI-SearchBot 列为独立设置。在拆分规则前,请查看上文链接的各厂商页面。

此列表中无主要厂商将 llms.txt 记录为抓取或排名输入。检查器报告它是因为部分工具和 agent 会读取它;参见 do you need llms.txt。

否。检查按请求运行,报告仅返回你的浏览器;检查器不保留 URL 或结果的数据库。主机访问日志可能像任何页面浏览一样记录该请求。

修复报告发现的问题

  • 配置 Cloudflare 的 AI 爬虫控制而不拦截搜索 ↗
  • 运行完整的 AI 搜索可见性审计 ↗
  • 什么能让页面在 AI 搜索中被引用 ↗
  • 所有 FloxoLab 工具 ↗

你的分析选择

允许 Google Analytics cookies 以帮助我们了解本站的使用情况?除非你接受,否则它保持关闭。Privacy Policy。

The translation is machine-generated and individual terms may be off. Nothing is rewritten or cut; the original is authoritative.

Published by HN AI
This site only summarises and aggregates; copyright stays with the original author. Headlines and summaries follow the source — where they differ, the original wins.
Read the original ↗