关于 geo-crawlers
geo-crawlers 是用于检查网站 robots.txt 和页面指令如何影响 AI 爬虫访问的 Skill,适合评估 AI 搜索可见性和爬虫访问设置的网站管理者及 GEO 从业者。
主要功能
- 01检查 robots.txt 爬虫规则
- 02审查 AI 爬虫访问权限
- 03检查抓取延迟和站点地图指令
- 04检查页面级机器人指令
适用场景
- 01检查网站的 AI 爬虫访问情况
- 02发现阻止爬虫的 robots.txt 规则
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ zubair-trabzada/ geo-seo-claude --skill geo-crawlers安装后在 Claude Code 中输入/geo-crawlers确认已加载。
详细介绍
AI 爬虫访问分析技能
目的
此技能用于分析网站对 AI 爬虫的可访问性——AI 公司使用这些机器人来发现、索引和训练网络内容。如果 AI 爬虫遭到屏蔽,无论网站内容质量如何,都无法出现在 AI 生成的回答中。爬虫访问是 GEO 的基础技术要求。
关键洞察
截至 2026 年初,许多网站因过于激进的 robots.txt 规则而无意中屏蔽了 AI 爬虫,这些规则沿袭自旧有的 SEO 配置。Originality.ai 在 2025 年开展的一项研究发现,排名前 1,000 的网站中,超过 35% 至少屏蔽了一种主流 AI 爬虫,5-10% 屏蔽了所有 AI 爬虫。屏蔽 AI 爬虫是导致网站在 AI 生成的搜索结果中迅速隐身的最直接原因。
完整的 AI 爬虫参考
第 1 级:对 AI 搜索可见度至关重要(建议:允许)
这些爬虫为用户主动查找答案的 AI 搜索产品提供支持。屏蔽它们会直接降低你的网站出现在 AI 生成回答中的可见度。
GPTBot
- 运营方: OpenAI
- User-Agent:
GPTBot - 完整 User-Agent 字符串:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot) - 用途: 获取内容,供 ChatGPT 的网页浏览、插件和搜索功能使用。GPTBot 访问的内容可能会用于改进 OpenAI 模型。
- 屏蔽的影响: 内容将不会出现在 ChatGPT Search 结果中,也无法在用户要求 ChatGPT 浏览网页时被访问。这是最值得允许访问的 AI 爬虫。
- 建议: 允许——截至 2025 年,ChatGPT 每周活跃用户超过 3 亿。屏蔽 GPTBot 会让你的内容无法出现在规模最大的 AI 搜索入口之一。
OAI-SearchBot
- 运营方: OpenAI
- User-Agent:
OAI-SearchBot - 完整 User-Agent 字符串:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; OAI-SearchBot/1.0; +https://docs.openai.com/bots/overview) - 用途: 专门为 ChatGPT 的搜索功能提供支持。与 GPTBot 不同,OAI-SearchBot 访问的内容不会用于模型训练,仅用于实时搜索结果。
- 屏蔽的影响: 即使允许 GPTBot 访问,内容也不会出现在 ChatGPT 的搜索结果中。
- 建议: 允许——这是仅用于搜索的爬虫,不涉及训练。没有理由从战略上屏蔽它。
ChatGPT-User
- 运营方: OpenAI
- User-Agent:
ChatGPT-User - 完整 User-Agent 字符串:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ChatGPT-User/1.0; +https://openai.com/bot) - 用途: 当 ChatGPT 用户明确要求模型访问某个特定 URL 时使用。它作为用户的浏览器 Agent 工作。
- 屏蔽的影响: 用户要求 ChatGPT 阅读或总结你的页面时,ChatGPT 将无法访问这些页面。这会阻止用户主动访问内容。
- 建议: 允许——屏蔽此机器人会阻止那些主动尝试访问你内容的用户通过 ChatGPT 获取这些内容。
ClaudeBot
- 运营方: Anthropic
- User-Agent:
ClaudeBot - 完整 User-Agent 字符串:
ClaudeBot/1.0; +https://www.anthropic.com/claude-bot - 用途: 获取网页内容,供 Claude 的各项功能使用,包括网页搜索、引用和分析工具。
- 屏蔽的影响: Claude 将无法通过网页搜索访问内容,也无法在用户要求 Claude 分析特定 URL 时访问内容。
- 建议: 允许——Claude 是一款市场份额持续增长的主流 AI 助手。屏蔽 ClaudeBot 会缩小你在 AI 搜索中的覆盖范围。
PerplexityBot
- 运营方: Perplexity AI
- User-Agent:
PerplexityBot - 完整 User-Agent 字符串:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot) - 用途: 为 Perplexity 的 AI 搜索引擎提供支持,该引擎会给出附有来源引用和源页面链接的答案。
- 屏蔽的影响: 内容不会出现在 Perplexity 搜索结果中。Perplexity 是 AI 搜索产品中最优质的引荐流量来源之一,因为它始终会显示来源链接。
- 建议: 允许——Perplexity 能带来实际的引荐流量,并始终注明来源。对于出版商和企业而言,这是高价值的 AI 爬虫。
第 2 级:对更广泛的 AI 生态系统很重要(建议:允许)
这些爬虫服务于大型 AI 平台或搜索生态系统。允许它们访问可以扩大内容的覆盖面。
Google-Extended
- 运营方: Google
- User-Agent:
Google-Extended - 用途: 控制 Google 是否使用你的内容训练 Gemini 模型并改进 AI Overviews。**重要说明:**屏蔽 Google-Extended 不会影响你在 Google 搜索中的排名,也不会影响你的内容在 Google 搜索结果中的展示。这些由标准 Googlebot 控制。
- 屏蔽的影响: 内容可能不会用于 Gemini 训练或改进 AI Overviews。不过,基于标准搜索索引,你的内容仍可能出现在 AI Overviews 中。
- 建议: 允许——屏蔽所带来的内容保护收益有限,却会降低你在 Google AI 功能中的曝光度。由于这不会影响标准搜索排名,屏蔽的唯一理由是反对将内容用作训练数据。
GoogleOther
- 运营方: Google
- User-Agent:
GoogleOther - 用途: Google 将其用于各种不影响搜索排名的用途,包括研究、临时抓取和 AI 相关的数据收集。
- 屏蔽的影响: 对搜索排名的影响极小。可能会降低你在 Google AI 研究和实验性功能中的曝光度。
- 建议: 允许——风险较低,对加入 AI 功能有一定潜在好处。
Applebot-Extended
- 运营方: Apple
- User-Agent:
Applebot-Extended - 用途: Apple 使用它来训练和改进 Apple Intelligence 功能、Siri 及 Apple 的 AI 产品。它与标准 Applebot 分开,后者为 Siri 搜索和 Spotlight 建议提供支持。
- 屏蔽的影响: 内容可能不会用于 Apple Intelligence 功能。标准 Siri 和 Spotlight 功能不受影响(由 Applebot 控制)。
- 建议: 允许——Apple Intelligence 已集成到所有 Apple 设备中(活跃设备超过 20 亿台)。在 Apple AI 功能中的曝光度正日益具有战略价值。
Amazonbot
- 运营方: Amazon
- User-Agent:
Amazonbot - 完整 User-Agent 字符串:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot) - 用途: 为 Alexa 回答和 Amazon 的 AI 功能索引内容。
- 屏蔽的影响: 内容不会出现在 Alexa 语音回复或 Amazon 的 AI 搜索功能中。
- 建议: 允许——对语音搜索优化有帮助。优先级低于第 1 级爬虫,但允许它访问没有不利影响。
FacebookBot
- 运营方: Meta
- User-Agent:
FacebookBot - 用途: Meta 将其用于 Facebook、Instagram、WhatsApp 和 Meta AI 助手中的 AI 功能。
- 屏蔽的影响: Meta AI 可能无法访问内容。Facebook/Instagram 的链接预览由另一个爬虫处理,不受影响。
- 建议: 允许——Meta AI 已嵌入合计拥有超过 30 亿用户的应用中。它对 AI 曝光度的重要性正在上升。
第 3 级:仅用于训练的爬虫(根据策略允许或屏蔽)
这些爬虫主要用于 AI 模型训练,而非实时搜索功能。屏蔽它们不会影响 AI 搜索可见度。
CCBot
- 运营方: Common Crawl(非营利组织)
- User-Agent:
CCBot - 完整的 User-Agent 字符串:
CCBot/2.0 (https://commoncrawl.org/faq/) - 用途: 构建 Common Crawl 数据集,许多 AI 公司(Google、Meta、Stability AI 等)会将其用作训练数据。
- 屏蔽的影响: 内容不会出现在未来的 Common Crawl 数据集中。不会影响任何实时 AI 搜索产品。
- 建议: 视情况而定 —— 如果希望尽可能提高长期 AI 训练数据中的曝光度,则允许。如果希望控制训练数据的使用,则屏蔽。不会影响搜索可见度。
anthropic-ai
- 运营方: Anthropic
- User-Agent:
anthropic-ai - 用途: Anthropic 将其用于 AI 安全研究和 Claude 模型训练。与 ClaudeBot(用于支持实时功能)相互独立。
- 屏蔽的影响: 内容不会用于 Claude 训练。不会影响 Claude 的实时搜索或网页浏览功能(由 ClaudeBot 控制)。
- 建议: 视情况而定 —— 与 CCBot 类似。允许以提高训练数据曝光度,屏蔽以控制训练数据的使用。不会影响实时 AI 搜索。
Bytespider
- 运营方: ByteDance
- User-Agent:
Bytespider - 用途: ByteDance 将其用于多种 AI 产品,包括 TikTok 的 AI 功能和 Doubao(其在中国的 ChatGPT 竞品)。
- 屏蔽的影响: 内容不会用于 ByteDance 的 AI 产品。对面向西方市场的企业影响很小。
- 建议: 对大多数西方企业而言,屏蔽(据报告,其爬取行为较为激进,带来的搜索可见度收益很小)。如果目标市场是中国或亚洲,则允许。
cohere-ai
- 运营方: Cohere
- User-Agent:
cohere-ai - 用途: Cohere 将其用于模型训练。Cohere 为企业级 AI 解决方案和 Coral 聊天产品提供支持。
- 屏蔽的影响: 内容不会用于 Cohere 模型训练。对直接面向消费者的业务影响很小。
- 建议: 视情况而定 —— 优先级较低。根据对训练数据的总体态度决定允许或屏蔽。
建议矩阵摘要
| 爬虫 | 级别 | 建议 | 原因 |
|---|---|---|---|
| GPTBot | 1 | 允许 | 为 ChatGPT Search 提供支持(3 亿以上用户) |
| OAI-SearchBot | 1 | 允许 | 仅用于搜索,不用于训练 |
| ChatGPT-User | 1 | 允许 | 由用户发起的浏览 |
| ClaudeBot | 1 | 允许 | Claude 网页搜索和分析 |
| PerplexityBot | 1 | 允许 | AI 搜索中最佳的引荐流量 |
| Google-Extended | 2 | 允许 | 支持 Gemini 功能;不影响搜索排名 |
| GoogleOther | 2 | 允许 | Google AI 研究 |
| Applebot-Extended | 2 | 允许 | Apple Intelligence(20 亿以上设备) |
| Amazonbot | 2 | 允许 | Alexa 和 Amazon AI |
| FacebookBot | 2 | 允许 | Meta AI(30 亿以上应用用户) |
| CCBot | 3 | 视情况而定 | 仅用于训练数据 |
| anthropic-ai | 3 | 视情况而定 | 仅用于训练数据 |
| Bytespider | 3 | 屏蔽 | 爬取行为激进,收益较低 |
| cohere-ai | 3 | 视情况而定 | 仅用于训练数据 |
最大化 AI 可见度配置(robots.txt)
对于希望最大化 AI 搜索可见度的网站:
# AI Crawlers - ALLOWED for AI search visibility
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: anthropic-ai
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: GoogleOther
Allow: /
User-agent: Applebot-Extended
Allow: /
User-agent: Amazonbot
Allow: /
User-agent: FacebookBot
Allow: /
# AI Crawlers - BLOCKED (aggressive/low value)
User-agent: Bytespider
Disallow: /
User-agent: CCBot
Disallow: /
分析流程
第 1 步:获取并解析 robots.txt
- 使用 WebFetch 获取
[domain]/robots.txt。 - 解析所有 User-agent 指令及其对应的 Allow/Disallow 规则。
- 对于上方参考列表中的每个 AI 爬虫:
- 检查是否有针对该爬虫的特定 User-agent 规则块
- 检查是否有适用于该爬虫的通配符(
User-agent: *)规则块 - 确定实际访问权限:允许、屏蔽或未提及(继承通配符规则)
- 注意任何可能减慢 AI 爬虫访问速度的
Crawl-delay指令。 - 检查
Sitemap指令(AI 爬虫会利用它们发现内容)。
步骤 2:检查 Meta Robots 标签
- 抽取 5-10 个关键页面,获取其 HTML 并检查以下内容:
<meta name="robots" content="noindex">—— 阻止所有机器人<meta name="robots" content="nofollow">—— 阻止跟踪链接<meta name="robots" content="noai">—— 新兴标签,用于阻止 AI 使用<meta name="robots" content="noimageai">—— 阻止 AI 图像训练- 针对特定机器人的 Meta 标签:
<meta name="GPTBot" content="noindex">
- 记录任何页面级别的覆盖 robots.txt 指令的设置。
步骤 3:检查 HTTP 标头
- 检查同一批示例页面的响应标头,查找以下内容:
X-Robots-Tag: noindex—— 与 Meta noindex 等效的 HTTP 标头X-Robots-Tag: noai—— 用于阻止 AI 使用的 HTTP 标头X-Robots-Tag: noimageai—— 阻止 AI 图像训练- 针对特定机器人的标头:
X-Robots-Tag: GPTBot: noindex
- 请注意,HTTP 标头优先于 Meta 标签,并且也适用于非 HTML 资源。
步骤 4:检查 AI 专用文件
- 检查是否存在
/llms.txt(用于指导 AI 爬虫的新兴标准)。 - 检查是否存在
/.well-known/ai-plugin.json(OpenAI 插件清单)。 - 检查是否存在
/ai.txt(提议中的标准,类似于面向 AI 的 ads.txt)。 - 记录每个文件是否存在及其质量。
步骤 5:评估 JavaScript 渲染要求
- 检查网站是否为单页应用(SPA)或严重依赖 JavaScript 渲染。
- AI 爬虫的 JavaScript 渲染能力各不相同:
- GPTBot:JavaScript 渲染能力有限
- ClaudeBot:JavaScript 渲染能力有限
- PerplexityBot:JavaScript 渲染能力有限
- Googlebot:支持完整的 JavaScript 渲染(但 Google-Extended 也继承了这一能力)
- 如果关键内容需要通过 JavaScript 渲染,请将其标记为潜在问题。
- 检查是否采用了服务器端渲染(SSR)或静态站点生成(SSG)作为缓解措施。
步骤 6:解析内容信号
使用步骤 1 中已获取的 robots.txt,扫描 Content-Signal: 指令(IETF 草案 draft-romm-aipref-contentsignals)。
- 扫描每一行,查找以
Content-Signal:开头的行(不区分大小写)。 - 如果找到:
- 解析所有键值对(先按
,拆分,再按=拆分)。 - 根据已知集合验证键:
ai-train、search、ai-personalization、ai-retrieval。 - 验证值:仅
yes和no有效。 - 将任何未知键或无效值标记为警告——该规范仍是 IETF 草案。
- 将结果记录为 通过,并以通俗易懂的语言说明解析出的值。
- 解析所有键值对(先按
- 如果不存在:将其记录为 建议——该网站尚未声明 AI 使用偏好。
无需额外的 HTTP 请求。步骤 1 中已获取 robots.txt。
步骤 7:检测 Cloudflare 托管的 robots.txt
使用步骤 1 中已获取的 robots.txt,检查是否存在以 # BEGIN Cloudflare Managed content 开头的区块(不区分大小写)。
- 如果找到,说明 Cloudflare 在网站自有文件前添加了其托管的 robots.txt。该区块禁止 GPTBot、ClaudeBot、Google-Extended、Applebot-Extended、Amazonbot、Bytespider、CCBot 和 meta-externalagent。
- 如果网站所有者自有规则允许 AI 爬虫,则将其记录为 严重问题。所有者通常不知道该功能已启用,因为该区块不会出现在其服务器上的 robots.txt 文件中,只会出现在实时响应中。
- 建议:在 Cloudflare 控制面板中,前往 Security Settings,按 “Bot traffic” 筛选,并关闭 “block training in robots.txt”,以允许 AI 使用该网站。如果有意阻止训练,请将其注明为有意选择,而非问题。
无需额外的 HTTP 请求。fetch_page.py robots 会将其作为 cloudflare_managed: true 返回。
输出格式
生成名为 GEO-CRAWLER-ACCESS.md 的文件:
# AI Crawler Access Report: [Domain]
**Analysis Date:** [Date]
**Domain:** [Domain]
**robots.txt Status:** [Found/Not Found/Error]
---
## Crawler Access Summary
| Crawler | Operator | Tier | Status | Impact |
|---|---|---|---|---|
| GPTBot | OpenAI | 1 | [Allowed/Blocked/Not Mentioned] | [Impact description] |
| OAI-SearchBot | OpenAI | 1 | [Status] | [Impact] |
| ChatGPT-User | OpenAI | 1 | [Status] | [Impact] |
| ClaudeBot | Anthropic | 1 | [Status] | [Impact] |
| PerplexityBot | Perplexity | 1 | [Status] | [Impact] |
| Google-Extended | Google | 2 | [Status] | [Impact] |
| GoogleOther | Google | 2 | [Status] | [Impact] |
| Applebot-Extended | Apple | 2 | [Status] | [Impact] |
| Amazonbot | Amazon | 2 | [Status] | [Impact] |
| FacebookBot | Meta | 2 | [Status] | [Impact] |
| CCBot | Common Crawl | 3 | [Status] | [Impact] |
| anthropic-ai | Anthropic | 3 | [Status] | [Impact] |
| Bytespider | ByteDance | 3 | [Status] | [Impact] |
| cohere-ai | Cohere | 3 | [Status] | [Impact] |
## AI Visibility Score: [X]/100
**Tier 1 Access:** [X/5 crawlers allowed]
**Tier 2 Access:** [X/5 crawlers allowed]
**Tier 3 Access:** [X/4 crawlers allowed]
---
## Critical Issues
[List any Tier 1 crawlers that are blocked]
## Recommendations
### Immediate Actions
[Specific robots.txt changes needed]
### robots.txt Recommendation
[面向 AI 爬虫的完整推荐 robots.txt 内容]
### Additional Technical Findings
- **Meta Robots Tags:** [Findings]
- **X-Robots-Tag Headers:** [Findings]
- **JavaScript Rendering:** [Assessment]
- **llms.txt:** [Present/Absent]
- **Sitemap Accessibility:** [Assessment]
### Content Signals (IETF Draft)
**Status:** Present / Absent
| Signal Key | Value | Meaning |
|---|---|---|
| ai-train | no | Opted out of AI model training |
| search | yes | Permits use in AI-powered search results |
**Recommendation:** Add a `Content-Signal:` directive to robots.txt to declare AI usage preferences explicitly. Example:
`Content-Signal: ai-train=no, search=yes, ai-retrieval=yes`
See https://contentsignals.org/ for the full specification.
爬虫访问评分
AI 爬虫访问评分的计算方式如下:
| 组成部分 | 权重 | 评分方式 |
|---|---|---|
| 允许的 Tier 1 爬虫 | 50% | 每允许一个 Tier 1 爬虫得 20 分(5 个爬虫最高 100 分,按比例折算为 50 分) |
| 允许的 Tier 2 爬虫 | 25% | 每允许一个 Tier 2 爬虫得 20 分(5 个爬虫最高 100 分,按比例折算为 25 分) |
| 未一概屏蔽 AI | 15% | 如果没有 User-agent: * Disallow: /,且没有 noai 元标签,则得满分 |
| 存在 AI 专用文件 | 10% | llms.txt 得 5 分,AI 爬虫可访问的站点地图得 5 分 |
最终得分 = 所有加权组成部分之和,最高不超过 100 分。