返回 Skill 列表
extension
分类: 数据与分析无需 API Key

GEO优化审计

帮助企业审计官网的 GEO(生成式引擎优化)和 SEO 就绪度。抓取页面内容,从 8 个维度(技术基础、结构化数据、内容资产、E-E-A-T 信号、AI 可访问性、实体标记、技术性能、外部信号)进行分析,计算 0-100 分评分,并输出可视化报告及可执行的优化建议。当用户提供 URL 并要求进行 GEO 审计、SEO 分析、AI 搜索就绪度评估或网站优化诊断时使用。

person作者: user_2d131db2hubcommunity

GEO Website Audit

Evaluate any website's readiness for AI-powered search engines (ChatGPT, DeepSeek, Perplexity, Kimi, etc.) and output a scored report with optimization recommendations.

Trigger

User provides a URL and asks for:

  • GEO audit / GEO score
  • AI search readiness assessment
  • SEO + GEO evaluation
  • Website optimization analysis

Workflow

Step 1: Fetch Target Pages

Use WebFetch to retrieve the provided URL.

WebFetch(url=<provided_url>, query="all content meta tags structured data schema")

Page coverage strategy:

  • External sites (WebFetch): Fetch homepage + at least 4-5 key subpages covering different content types (about, product/service, news/blog, contact, FAQ). For sites with <15 pages, fetch ALL pages.
  • Local projects (Read/Grep): Scan ALL HTML files in the project root. Use search_file("*.html") to enumerate, then Grep for patterns across all files. Do NOT sample — full coverage is required for accurate Schema and accessibility scoring.

Step 2: Analyze 8 Dimensions

Score each dimension. See scoring-model.md for detailed criteria.

| # | Dimension | Max Points | What to Check | |---|-----------|-----------|---------------| | D1 | Technical Foundation | 15 | lang, title, H1, meta desc, canonical, OG, robots meta | | D2 | Structured Data | 15 | JSON-LD presence, Schema types count, high-value types | | D3 | Content Assets | 15 | word count, original insights, Q&A sections, freshness | | D4 | E-E-A-T Signals | 10 | author info, credentials, citations, about page, privacy | | D5 | AI Accessibility | 15 | SSR vs JS-rendered, robots.txt, content visibility to crawlers | | D6 | Entity Markup | 10 | Organization/Person entity, sameAs, @id cross-references | | D7 | Technical Performance | 10 | mobile viewport, image optimization (alt/lazy), video, HTTPS | | D8 | External Signals | 10 | brand consistency, social links, backlink indicators |

Total: 100 points

Step 2.5: Source Code Verification (CRITICAL)

Before finalizing scores, perform deep verification to avoid false positives:

  1. For local projects: Use Read tool to inspect HTML source of EVERY page (not just fetched pages). Use Grep to search for patterns across all files:

    • Grep(regex="application/ld\+json", glob="*.html") — catalog ALL JSON-LD blocks site-wide
    • Grep(regex="<h1", glob="*.html") — find all H1 tags including hidden ones
    • Grep(regex="\.html\(|innerHTML|document\.write", glob="*.js") — identify JS-rendered content
  2. Verify JS-rendered vs static: For any content that appears JS-generated:

    • Read the HTML source FIRST — check if static fallback content exists in the same container
    • If setNav() overwrites <ul id="index_nav"> but the HTML already has <li> items inside, score as STATIC (not JS-dependent)
    • Pattern: JS .html() that overwrites identical static content = no penalty
  3. Schema inventory: Build a complete inventory of ALL Schema types across ALL pages before scoring D2. List each type with page count.

  4. Hidden content check: Elements with sr-only, visually-hidden, screen-reader-text classes ARE present in source — do not mark as missing.

Step 3: Calculate Scores

For each dimension, assign a score based on the criteria in scoring-model.md.

Grade mapping:

  • 90-100: A+ (AI Search Leader)
  • 80-89: A (AI Search Ready)
  • 70-79: B (Good Foundation)
  • 60-69: C (Needs Improvement)
  • 40-59: D (Significant Gaps)
  • 0-39: F (AI Invisible)

Step 4: Identify Top 3 Actions

From the lowest-scoring dimensions, extract the 3 most impactful actions that would improve the GEO score the most. Each action must include:

  • What to do (specific technical action)
  • Why it matters (impact on AI search citation)
  • Expected score gain (estimated points)

Step 5: Output Report

Use show_widget to display an interactive report. Follow the template in report-template.md.

Widget rules:

  • Use qoder/canvas components: Stack, Grid, Stat, BarChart, Table, Card, Callout, Pill, Tag
  • Call load_guidelines before first widget
  • Use CSS variables for colors, flat design only
  • No gradients, box-shadows, or blur

Widget Structure

┌─ Header: Site URL + Grade + Overall Score ─┐
├─ Score Overview (Stat cards)                │
├─ 8-Dimension Breakdown (Horizontal bars)    │
├─ Key Findings Table                         │
├─ Top 3 Next Actions (Callout cards)         │
└─ Footer: Methodology note                   │

Important Notes

  • Always explain your scoring: For each dimension, cite specific evidence from the page
  • Be actionable: "Add JSON-LD" is vague; "Add HowTo Schema to /guides page" is actionable
  • Compare when possible: If the user mentions competitors, fetch and compare
  • Local files: If analyzing a local project, use Read/Grep tools instead of WebFetch
  • Multiple pages: For comprehensive audits, analyze homepage + 2-3 subpages
  • Language: Output in the user's language (Chinese or English based on user preference)

Known False Positive Patterns (MUST check before scoring)

Before deducting points, verify these common false positives:

  1. JS overwrite with identical content: setNav() / setBottom() patterns where JS overwrites static HTML with the same content — NOT a JS dependency
  2. Visually hidden headings: <h1 class="sr-only"> or u-sr-only — heading IS present for crawlers
  3. Conditional JS enhancement: Static HTML exists but JS enhances it (adds interactivity, formatting) — content is crawlable
  4. JSON-LD on subpages only: Schema types like VideoObject may exist only on relevant pages (video pages), not homepage — check all pages before marking as missing
  5. document.write for script loading: Used to include shared JS files, not to render content — not a content accessibility issue

Example Usage

User: /geo-audit https://www.example.com
Agent: Fetches page → Analyzes 8 dimensions → Outputs scored report
User: Analyze the GEO readiness of our website qinlinkeji.com
Agent: Fetches multiple pages → Full audit → Report with next steps

Re-audit Mode

When the user has implemented optimizations from a previous audit:

User: /geo-audit --re-audit https://www.example.com
  1. Read the previous audit scores (from the conversation history or user-provided)
  2. Re-score ONLY the dimensions that were targeted for improvement
  3. Output a delta report showing:
    • Before/After scores per dimension
    • Total score change
    • Grade change (e.g., B → A)
    • Remaining gaps (if any)
  4. Use update_mode: 'patch' on the existing widget if available, otherwise render a new widget

Quick Analysis Checklist

Before outputting the report, verify:

  • [ ] All 8 dimensions scored with evidence
  • [ ] Grade correctly mapped from total score
  • [ ] Top 3 actions identified from weakest areas
  • [ ] Specific file/element references cited (not generic advice)
  • [ ] Widget renders correctly with all data