mcpField
G
geo-review

geo-review

github.com/shiplightai营销与增长2416 次安装16 周前更新
代码仓库

关于 geo-review

geo-review 是评估网站内容能否被 AI 搜索和问答引擎发现并引用的工作流技能。它结合内容与技术检查、浏览器引用测试,并生成发现、修复建议和 YAML 回归测试。

主要功能

  1. 01评估内容是否适合引用
  2. 02检查面向 AI 检索的内容结构
  3. 03检查权威性与信任信号
  4. 04审查 AI 可发现性的技术设置
  5. 05厘清品牌和产品信息
  6. 06测试 AI 搜索引擎中的引用情况

适用场景

  1. 01评估产品页面的 AI 可见度
  2. 02改进文档以便问答引擎检索
  3. 03调查竞争对手获得引用的原因
  4. 04在发布前检查 AI 可发现性

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/shiplightai/agent-skills --skill geo-review

安装后在 Claude Code 中输入/geo-review确认已加载。

详细介绍

GEO 评审

评估你的应用和内容针对 AI 驱动的搜索与问答引擎的优化程度,包括 ChatGPT、Perplexity、Google AI Overviews、Claude,以及其他会引用网络来源的生成式 AI 系统。传统 SEO 帮你在链接列表中获得排名;GEO 则让你被 AI 生成的答案引用。

适用场景

在以下情况使用 /geo-review:

  • 用户会通过 AI 助手发现你的产品(开发者工具、SaaS、API)
  • 你希望出现在 Google AI Overviews 中
  • 用户会向 AI 提问“什么是适合 Y 的最佳 X?”来寻找你的产品
  • 你发布文档、指南或教育内容
  • 你的竞争对手出现在 AI 答案中,而你没有
  • 你正在打造值得 AI 引用的思想领导力内容
  • 你正在推出一款重视 AI 驱动发现的新产品

GEO 为何在当下如此重要

  • 40% 的 Z 世代使用 TikTok 和 AI 聊天机器人代替 Google 搜索(Adobe,2024)
  • Google AI Overviews 现在出现在约 30% 的搜索查询中,将传统搜索结果挤到首屏以下
  • Perplexity 每月处理 1 亿次以上查询,并在每个答案中引用网络来源
  • 支持浏览和搜索的 ChatGPT 正逐渐成为主要的研究工具
  • AI 系统不会对链接排名,而是依据不同于传统 SEO 的信号筛选并引用来源
  • 成为 AI 引用的来源,就是新的“排名第 1”

参考标准与框架

  • GEO 研究(Georgia Tech / Princeton / IIT Delhi,2024)——“GEO:生成式引擎优化”
  • Google E-E-A-T——经验、专业知识、权威性、可信度
  • Schema.org——用于实体理解的结构化数据
  • llms.txt——新兴的 AI 爬虫指令标准(类似于面向大模型的 robots.txt)
  • 检索增强生成(RAG)——AI 系统获取和引用内容的方式

阶段概览

Phase 1: EDUCATE   → How AI search works differently from traditional search
Phase 2: SCOPE     → Identify content types, target queries, AI visibility goals
Phase 3: ANALYZE   → Content analysis + browser-based AI search validation
Phase 4: REPORT    → Findings with citation gap analysis and confidence scores
Phase 5: REMEDIATE → Fix guidance + YAML regression tests

阶段 1:了解

AI 搜索有何不同:传统搜索引擎会抓取、索引网页,并根据相关性信号(反向链接、关键词、权威性)进行排名。AI 问答引擎的做法则截然不同:它们会检索内容、理解其语义,并筛选最值得引用的来源来综合生成答案。你的内容需要清晰、具体、权威,并能直接回答问题,才有机会被选中。

关键见解:AI 系统倾向于选择包含具体、可验证的主张和支持证据的内容。含糊的营销文案会被忽略;包含数据、比较信息和清晰结构的具体陈述更容易被引用。


阶段 2:确定范围

收集背景信息
  1. 从代码库/内容中自动识别:

    • 内容页面(文档、博客、落地页、关于页面、定价页面、常见问题)
    • 现有结构化数据(JSON-LD、Schema.org)
    • 内容管理方式(静态、CMS、MDX 等)
    • 是否存在 llms.txt
    • 站点地图和内容组织方式
    • 作者/专业知识信号
    • 发布日期和内容新鲜度信号
  2. 向用户提问(一次一个问题):

    • 产品类型:你的产品/网站是做什么的?(用于了解 AI 查询背景)
    • 目标 URL:内容发布在哪里?
    • 目标 AI 查询:你希望 AI 用你的内容回答哪些问题?(例如:“适合初创公司的最佳 CI/CD 工具”“如何在 Node.js 中实现 OAuth”)
    • 竞争对手:AI 回答这些查询时还会提到谁?(可选,但很有价值)
    • 内容目标:文档?思想领导力?产品发现?以上全部?
  3. 梳理内容版图:

    • 关键内容页面及其用途
    • 每个页面应满足的目标查询
    • 当前的 AI 引用情况(在 ChatGPT/Perplexity 中测试几个查询)
    • 与竞争对手相比的内容缺口

阶段 3:分析

使用 new_session 开启浏览器会话,并设置 record_evidence: true。运行所有适用的检查类别。

类别 A:内容的引用价值(CITE)
检查 ID检查项原则方法
CITE-01内容包含具体、可验证的主张GEO 研究扫描页面,查找包含数据或数字的具体陈述
CITE-02内容包含统计数据和原始数据GEO 研究检查是否有独特数字、基准数据和研究发现
CITE-03内容直接回答目标查询RAG 检索将内容与目标查询进行匹配——是否包含直接答案?
CITE-04主张有支持性证据或引用E-E-A-T检查是否有来源引用、链接和数据出处
CITE-05内容具体(而非泛泛而谈或含糊不清)GEO 研究分析内容是否具体,还是充斥营销套话
CITE-06存在对比内容(与其他方案对比)AI 偏好检查是否有 AI 可引用的“X 与 Y”对比或对比表格
CITE-07内容包含清晰、可引用的总结句引用格式检查关键段落是否以可引用的主张开头
CITE-08观点或数据独特(而非重复转述)E-E-A-T评估原创性——内容是否提供了 AI 无法自行综合得出的新信息?
CITE-09内容展现亲身经验E-E-A-T(经验)检查是否有案例研究、个人经验和真实示例
CITE-10技术准确且深入E-E-A-T(专业性)评估内容是否超越表面层次

浏览器验证: 导航至内容页面。提取文本内容。分析主张密度、统计数据和可引用陈述。将内容与目标查询进行比较,检查是否能直接匹配答案。

类别 B:面向 AI 检索的内容结构(STRUCT)
检查 ID检查项原则方法
STRUCT-01清晰的标题层级对应各类问题RAG 分块检查 H2/H3 标题是否采用问题形式或清晰指明主题
STRUCT-02FAQ 部分采用直接问答格式AI 偏好检查是否有 FAQ 部分和问答对
STRUCT-03定义或解释段落开门见山地给出答案检索检查段落是否在开头先给出关键主张(倒金字塔结构)
STRUCT-04包含表格和结构化对比AI 偏好检查是否有标题清晰的 HTML 表格
STRUCT-05内容分块为易于理解的小节(300-500 个词)RAG 分块测量各标题之间的小节长度
STRUCT-06多点信息采用列表形式AI 偏好检查多步骤或多条目内容是否使用有序或无序列表
STRUCT-07代码示例完整且可运行(适用于技术内容)开发者体验检查代码块是否完整并标注语言
STRUCT-08长篇内容开头包含 TL;DR 或摘要检索检查是否有执行摘要或要点总结部分

浏览器验证: 提取标题结构,统计 FAQ 模式,测量小节长度,并通过 DOM 检查表格和列表。

类别 C:权威性与信任信号(AUTH)
检查 ID检查项原则方法
AUTH-01作者信息完整(姓名、简介、资历)E-E-A-T检查作者署名和关于页面
AUTH-02组织/品牌身份清晰实体识别检查关于页面和品牌形象是否一致
AUTH-03发布和更新日期清晰可见时效性检查内容页面的日期元数据
AUTH-04引用了来源和参考资料E-E-A-T检查是否有指向权威来源的外部链接
AUTH-05有客户评价/社会认同信任检查客户评价、徽标和案例研究
AUTH-06提供专业联系信息信任检查联系页面、实际地址和支持渠道
AUTH-07内容近期更新(过去 12 个月内)时效性检查发布日期/更新日期
AUTH-08域名权威性指标(网站已建立)E-E-A-T检查网站历史、关于页面内容深度和团队页面

**浏览器验证:**访问内容页面、关于页面和作者页面。提取日期、作者信息和引用链接。

类别 D:AI 技术可发现性(TECH)
检查 ID检查项原则方法
TECH-01网站根目录中存在 llms.txtAI 爬虫标准获取 /llms.txt,检查格式和内容
TECH-02存在包含详细内容的 llms-full.txt(如适用)AI 爬虫标准获取 /llms-full.txt
TECH-03JSON-LD 结构化数据包含丰富的实体信息Schema.org检查 Organization、Product、Article、FAQ 架构
TECH-04无需 JavaScript 即可访问内容RAG 爬取禁用 JS,检查内容是否能正常呈现
TECH-05HTML 清晰且语义明确(不是框架代码堆砌)可爬取性检查有意义的标签,而非充斥 div 的 DOM
TECH-06robots.txt 允许 AI 爬虫抓取可发现性检查 GPTBot、ClaudeBot、PerplexityBot、Bingbot 规则
TECH-07站点地图包含带有 lastmod 的内容页面可发现性检查站点地图中的内容页面和日期
TECH-08Open Graph 标签有助于 AI 理解内容社交 + AI检查 OG 标签是否准确描述内容
TECH-09API 文档可供机器读取(如适用)开发者 GEO检查 OpenAPI 规范和 API 参考文档格式
TECH-10内容不受身份验证限制RAG 访问确认关键内容可公开访问

**浏览器验证:**获取 llms.txt,检查 robots.txt 中的 AI 机器人规则,验证 SSR 内容,检查结构化数据。

类别 E:实体与品牌清晰度(ENTITY)
检查 ID检查项原则方法
ENTITY-01产品/品牌名称使用一致实体识别检查各页面中的名称是否一致
ENTITY-02明确声明产品类别AI 分类检查内容是否明确表述“X 是一种[类别]”
ENTITY-03清晰说明关键功能/差异化优势AI 比较检查功能列表和独特价值主张
ENTITY-04具体描述用例AI 推荐检查是否有“最适合[具体用例]”等表述
ENTITY-05定价/套餐信息结构清晰AI 推荐检查定价页面是否提供清晰、结构化的套餐
ENTITY-06提供集成/兼容性信息AI 推荐检查是否有“可与 X 配合使用”之类的信息或集成页面
ENTITY-07对竞争对手的差异化描述基于事实AI 比较检查比较内容是否包含事实性(而非仅营销性)声明
ENTITY-08明确指定行业/垂直领域目标AI 分类检查内容是否面向特定行业/角色

**浏览器验证:**访问关键页面并提取产品定位、功能列表、用例和定价结构。检查是否有清晰说明实体身份的陈述。

类别 F:AI 引用测试(TEST)

此类别是 GEO 独有的,用于测试实际的 AI 可见度。

检查 ID检查项方法
TEST-01在 Perplexity 中测试目标查询访问 perplexity.ai,搜索目标查询,检查是否引用了你的网站
TEST-02在 ChatGPT 中测试目标查询(如果支持浏览)通过 ChatGPT 搜索,检查引用
TEST-03在 Google 中测试目标查询(检查 AI Overview)在 Google 中搜索,检查 AI Overview 是否引用了你的内容
TEST-04对比你与竞争对手的引用频率统计你和主要竞争对手在各查询中的引用次数
TEST-05分析实际被引用的内容(来自竞争对手)研究被引用内容的格式、结构和主张

浏览器验证: 使用 new_session 访问 Perplexity 和 Google。搜索目标查询。截取结果。检查是否引用了用户的域名。这可以提供当前 AI 可见度的真实证据。

重要提示: TEST 类别的结果是确凿依据——它们能显示你的内容是否确实被引用,无论其他类别得出的结论如何。


第 4 阶段:报告

生成结构化报告并保存到 shiplight/reports/geo-review-{date}.md:

# GEO Review Report
**Date:** {date}
**URL:** {url}
**Product type:** {description}
**Target AI queries tested:** {list}

## Overall GEO Score: {X}/10 | Confidence: {X}%

## Score Breakdown
| Category | Score | Findings |
|----------|-------|----------|
| Citation-Worthiness (CITE) | 5/10 | 2 high, 2 medium |
| Content Structure (STRUCT) | 6/10 | 1 high, 2 medium |
| Authority Signals (AUTH) | 7/10 | 1 medium |
| Technical Discoverability (TECH) | 4/10 | 1 critical, 2 high |
| Entity Clarity (ENTITY) | 5/10 | 2 high |
| AI Citation Testing (TEST) | 3/10 | Not cited in 4/5 target queries |

## AI Citation Status
| Target Query | Perplexity | Google AI Overview | Cited? | Competitor Cited? |
|-------------|------------|-------------------|--------|------------------|
| "best X for Y" | Not cited | Not in overview | ❌ | CompetitorA: ✅ |
| "how to do Z" | Cited (#3 source) | Cited | ✅ | CompetitorB: ✅ |
| ... | | | | |

## Citation Gap Analysis
What competitors' cited content has that yours doesn't:
- Specific performance benchmarks (CompetitorA cites "40% faster than...")
- Comparison tables (CompetitorB has detailed feature matrices)
- Direct answer paragraphs (CompetitorA leads sections with the conclusion)

## Findings
(structured findings with evidence and priority)
可信度评分
  • 90-100%:通过实时 AI 搜索验证——内容已被引用或未被引用(TEST 类别)
  • 70-89%:有力的结构性证据——内容具备或缺少值得引用的特征
  • 50-69%:对内容质量信号进行启发式评估
  • 低于 50%:不要报告

第 5 阶段:修正

1. 修复指导(示例)
#### CITE-01: Landing page lacks specific, verifiable claims
**Impact:** AI systems skip vague marketing copy — your landing page is invisible to AI answers
**Current:** "We're the fastest platform for modern teams"
**Fix:** Add specific, citable claims:
- "Deploys complete in 47 seconds on average (based on 10,000 deployments in Q4 2025)"
- "Used by 2,300 companies including [notable names]"
- "Reduces CI/CD pipeline time by 62% compared to Jenkins (internal benchmark, Jan 2026)"
**Principle:** AI cites facts, not adjectives. Every claim should be verifiable.
#### TECH-01: No llms.txt present
**Impact:** AI crawlers have no guidance on how to understand your site
**Fix:** Create /llms.txt at site root:

# [Your Product Name]

> One-sentence description of what your product does.

## Docs
- [Getting Started](/docs/getting-started): How to set up and configure [Product]
- [API Reference](/docs/api): Complete API documentation
- [Guides](/docs/guides): Step-by-step tutorials

## Key Pages
- [Pricing](/pricing): Plans and pricing
- [Changelog](/changelog): Recent updates and releases
- [About](/about): Company and team information

Also create /llms-full.txt with expanded content for deeper AI understanding.
2. YAML 回归测试
- name: tech-01-llms-txt-present
  description: Verify llms.txt exists and is properly formatted
  severity: high
  standard: llms-txt-standard
  steps:
    - URL: /llms.txt
    - VERIFY: The page loads successfully and contains structured information about the site
    - description: Assert llms.txt is present and uses markdown headings
      js: |
        const content = await page.textContent('body');
        if (!content || content.trim().length < 50) {
          throw new Error('llms.txt is missing or too short');
        }
        if (!content.includes('#')) {
          throw new Error('llms.txt should use markdown heading structure');
        }
        console.log(`llms.txt found (${content.length} chars)`);

- name: tech-06-ai-crawlers-allowed
  description: Verify robots.txt allows AI search crawlers
  severity: high
  standard: AI-Discoverability
  steps:
    - URL: /robots.txt
    - description: Assert robots.txt does not block AI crawlers
      js: |
        const content = await page.textContent('body');
        const blockedBots = ['GPTBot', 'ClaudeBot', 'PerplexityBot', 'Google-Extended'];
        const blocked = blockedBots.filter(bot => {
          const pattern = new RegExp(`User-agent:\\s*${bot}[\\s\\S]*?Disallow:\\s*/`, 'i');
          return pattern.test(content);
        });
        if (blocked.length > 0) {
          throw new Error(`AI crawlers blocked in robots.txt: ${blocked.join(', ')}`);
        }
        console.log('All major AI crawlers are allowed');
    - VERIFY: robots.txt does not block major AI search engine crawlers

- name: cite-01-specific-claims-present
  description: Verify key pages contain specific, citable claims with data
  severity: high
  standard: GEO-Citation-Worthiness
  steps:
    - URL: /
    - description: Assert the landing page has citable statistics
      js: |
        const text = await page.textContent('main') || await page.textContent('body');
        // Check for specific numbers/statistics
        const hasNumbers = /\d+[%xX]|\$[\d,.]+|\d{1,3}(,\d{3})+|\d+\s*(users|customers|companies|teams|downloads)/i.test(text);
        if (!hasNumbers) {
          throw new Error('Landing page lacks specific statistics or data points that AI can cite');
        }
        console.log('Found specific, citable claims with data');
    - VERIFY: Landing page contains specific statistics, benchmarks, or verifiable data points

将所有 YAML 测试保存到 shiplight/tests/geo-review.test.yaml。


深度级别

  • --quick:llms.txt 检查 + robots.txt AI 爬虫检查 + 落地页主张分析。约 2 分钟。
  • 默认:所有内容类别 + 在 Perplexity 中测试 3 个目标查询。约 10-15 分钟。
  • --thorough:所有类别 + 在多个引擎中进行完整的 AI 引用测试 + 竞争对手引用分析 + 内容差距建议。约 25-40 分钟。

提示

  • TEST 类别(实时 AI 搜索测试)最有价值——它展示的是确凿依据,而非理论
  • Perplexity 是最佳测试平台,因为它总会显示引用
  • llms.txt 正在兴起,采用率也在不断提高——投入少、信号强
  • AI 系统更新知识的速度各不相同——更改可能需要数周才会反映在引用中
  • 专注于回答具体问题的内容,而不是提高品牌知名度的内容
  • GEO 的首要原则:AI 引用事实,而非形容词——将每个模糊的主张替换为具体说法
  • 使用 close_session 结束会话,并使用 generate_html_report 提供证据

评论

支持 Markdown