mcpField
G
geo-crawlers

geo-crawlers

github.com/zubair-trabzada营销与增长11.3k887 次安装3 周前更新
代码仓库

关于 geo-crawlers

geo-crawlers 是用于检查网站 robots.txt 和页面指令如何影响 AI 爬虫访问的 Skill,适合评估 AI 搜索可见性和爬虫访问设置的网站管理者及 GEO 从业者。

主要功能

  1. 01检查 robots.txt 爬虫规则
  2. 02审查 AI 爬虫访问权限
  3. 03检查抓取延迟和站点地图指令
  4. 04检查页面级机器人指令

适用场景

  1. 01检查网站的 AI 爬虫访问情况
  2. 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 模型训练。对直接面向消费者的业务影响很小。
  • 建议: 视情况而定 —— 优先级较低。根据对训练数据的总体态度决定允许或屏蔽。

建议矩阵摘要

爬虫级别建议原因
GPTBot1允许为 ChatGPT Search 提供支持(3 亿以上用户)
OAI-SearchBot1允许仅用于搜索,不用于训练
ChatGPT-User1允许由用户发起的浏览
ClaudeBot1允许Claude 网页搜索和分析
PerplexityBot1允许AI 搜索中最佳的引荐流量
Google-Extended2允许支持 Gemini 功能;不影响搜索排名
GoogleOther2允许Google AI 研究
Applebot-Extended2允许Apple Intelligence(20 亿以上设备)
Amazonbot2允许Alexa 和 Amazon AI
FacebookBot2允许Meta AI(30 亿以上应用用户)
CCBot3视情况而定仅用于训练数据
anthropic-ai3视情况而定仅用于训练数据
Bytespider3屏蔽爬取行为激进,收益较低
cohere-ai3视情况而定仅用于训练数据
最大化 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
  1. 使用 WebFetch 获取 [domain]/robots.txt。
  2. 解析所有 User-agent 指令及其对应的 Allow/Disallow 规则。
  3. 对于上方参考列表中的每个 AI 爬虫:
    • 检查是否有针对该爬虫的特定 User-agent 规则块
    • 检查是否有适用于该爬虫的通配符(User-agent: *)规则块
    • 确定实际访问权限:允许、屏蔽或未提及(继承通配符规则)
  4. 注意任何可能减慢 AI 爬虫访问速度的 Crawl-delay 指令。
  5. 检查 Sitemap 指令(AI 爬虫会利用它们发现内容)。
步骤 2:检查 Meta Robots 标签
  1. 抽取 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">
  2. 记录任何页面级别的覆盖 robots.txt 指令的设置。
步骤 3:检查 HTTP 标头
  1. 检查同一批示例页面的响应标头,查找以下内容:
    • X-Robots-Tag: noindex —— 与 Meta noindex 等效的 HTTP 标头
    • X-Robots-Tag: noai —— 用于阻止 AI 使用的 HTTP 标头
    • X-Robots-Tag: noimageai —— 阻止 AI 图像训练
    • 针对特定机器人的标头:X-Robots-Tag: GPTBot: noindex
  2. 请注意,HTTP 标头优先于 Meta 标签,并且也适用于非 HTML 资源。
步骤 4:检查 AI 专用文件
  1. 检查是否存在 /llms.txt(用于指导 AI 爬虫的新兴标准)。
  2. 检查是否存在 /.well-known/ai-plugin.json(OpenAI 插件清单)。
  3. 检查是否存在 /ai.txt(提议中的标准,类似于面向 AI 的 ads.txt)。
  4. 记录每个文件是否存在及其质量。
步骤 5:评估 JavaScript 渲染要求
  1. 检查网站是否为单页应用(SPA)或严重依赖 JavaScript 渲染。
  2. AI 爬虫的 JavaScript 渲染能力各不相同:
    • GPTBot:JavaScript 渲染能力有限
    • ClaudeBot:JavaScript 渲染能力有限
    • PerplexityBot:JavaScript 渲染能力有限
    • Googlebot:支持完整的 JavaScript 渲染(但 Google-Extended 也继承了这一能力)
  3. 如果关键内容需要通过 JavaScript 渲染,请将其标记为潜在问题。
  4. 检查是否采用了服务器端渲染(SSR)或静态站点生成(SSG)作为缓解措施。
步骤 6:解析内容信号

使用步骤 1 中已获取的 robots.txt,扫描 Content-Signal: 指令(IETF 草案 draft-romm-aipref-contentsignals)。

  1. 扫描每一行,查找以 Content-Signal: 开头的行(不区分大小写)。
  2. 如果找到:
    • 解析所有键值对(先按 , 拆分,再按 = 拆分)。
    • 根据已知集合验证键:ai-train、search、ai-personalization、ai-retrieval。
    • 验证值:仅 yes 和 no 有效。
    • 将任何未知键或无效值标记为警告——该规范仍是 IETF 草案。
    • 将结果记录为 通过,并以通俗易懂的语言说明解析出的值。
  3. 如果不存在:将其记录为 建议——该网站尚未声明 AI 使用偏好。

无需额外的 HTTP 请求。步骤 1 中已获取 robots.txt。

步骤 7:检测 Cloudflare 托管的 robots.txt

使用步骤 1 中已获取的 robots.txt,检查是否存在以 # BEGIN Cloudflare Managed content 开头的区块(不区分大小写)。

  1. 如果找到,说明 Cloudflare 在网站自有文件前添加了其托管的 robots.txt。该区块禁止 GPTBot、ClaudeBot、Google-Extended、Applebot-Extended、Amazonbot、Bytespider、CCBot 和 meta-externalagent。
  2. 如果网站所有者自有规则允许 AI 爬虫,则将其记录为 严重问题。所有者通常不知道该功能已启用,因为该区块不会出现在其服务器上的 robots.txt 文件中,只会出现在实时响应中。
  3. 建议:在 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 分)
未一概屏蔽 AI15%如果没有 User-agent: * Disallow: /,且没有 noai 元标签,则得满分
存在 AI 专用文件10%llms.txt 得 5 分,AI 爬虫可访问的站点地图得 5 分

最终得分 = 所有加权组成部分之和,最高不超过 100 分。

评论

支持 Markdown