mcpField
S
solo-seo-audit

solo-seo-audit

github.com/fortunto2营销与增长1843 次安装今天更新
代码仓库

关于 solo-seo-audit

用于审查 URL 或项目落地页 SEO 的技能。它检查页面元数据和索引基础设施,评估搜索可见度,并生成带评分和建议的报告。

主要功能

  1. 01检查元数据和社交分享标签
  2. 02检查 JSON-LD、sitemap 和 robots.txt
  3. 03审查标题结构与页面基础设施
  4. 04查询目标关键词的搜索排名
  5. 05生成带评分的审查报告

适用场景

  1. 01上线落地页前评估 SEO 状况
  2. 02发现缺失的元数据和索引文件
  3. 03检查目标关键词的搜索可见度

MCP 相关

该技能可使用 MCP 工具检查搜索结果排名和查询项目 URL。若不可用,则改用网页搜索或检查项目文件。

安装

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

$npx skills add https://github.com/fortunto2/solo-factory --skill solo-seo-audit

安装后在 Claude Code 中输入/solo-seo-audit确认已加载。

详细介绍

/seo-audit

对任意 URL 或项目落地页进行 SEO 健康检查。抓取页面,分析元标签、OG、JSON-LD、站点地图、robots.txt,检查目标关键词的 SERP 排名,并输出评分报告。

seo-cli(如可用则使用)

专用 SEO CLI — 仓库:https://github.com/fortunto2/seo-cli

# Install (one-time)
git clone https://github.com/fortunto2/seo-cli.git ~/startups/shared/seo-cli
cd ~/startups/shared/seo-cli && uv venv && uv pip install -e .
cp config.example.yaml config.yaml  # add credentials (GSC, Bing, Yandex, IndexNow)
# Detect seo-cli
python ~/startups/shared/seo-cli/cli.py --help 2>/dev/null

如果可用,优先使用 seo-cli 命令,而非手动使用 WebFetch:

  • python ~/startups/shared/seo-cli/cli.py audit <url> — 深度页面审计(元数据、OG、JSON-LD、关键词、可读性)
  • python ~/startups/shared/seo-cli/cli.py status — 所有已注册网站的仪表板
  • python ~/startups/shared/seo-cli/cli.py analytics <site> — GSC 数据(查询、展示次数、CTR)
  • python ~/startups/shared/seo-cli/cli.py monitor <site> — 带快照的位置跟踪
  • python ~/startups/shared/seo-cli/cli.py reindex <url> — 通过 Google Indexing API 和 IndexNow 即时重新索引
  • python ~/startups/shared/seo-cli/cli.py competitors <keyword> — SERP 和竞争对手分析
  • python ~/startups/shared/seo-cli/cli.py launch <site> — 新网站完整推广工作流

如果 seo-cli 不可用,请改用下方基于 WebFetch 的审计方式。

MCP 工具(如可用则使用)

  • web_search(query, engines, include_raw_content) — SERP 排名检查、竞争对手分析
  • project_info(name) — 按项目名称审计时获取项目 URL

如果 MCP 工具不可用,请使用 Claude WebSearch/WebFetch 作为备用方案。

步骤

  1. 解析目标:从 $ARGUMENTS 中获取。

    • 如果是 URL(以 http 开头):直接使用。
    • 如果是项目名称:从项目的 README、CLAUDE.md 或 docs/prd.md 中查找 URL。
    • 如果为空:通过 AskUserQuestion 提问——“要审计哪个 URL 或项目?”
  2. 通过 WebFetch 获取页面。提取:

    • <title> 标签(长度检查:理想长度为 50-60 个字符)
    • <meta name="description">(长度检查:理想长度为 150-160 个字符)
    • Open Graph 标签:og:title、og:description、og:image、og:url、og:type
    • Twitter Card 标签:twitter:card、twitter:title、twitter:image
    • JSON-LD 结构化数据(<script type="application/ld+json">)
    • <link rel="canonical">——规范 URL
    • <html lang="...">——语言标签
    • <link rel="alternate" hreflang="...">——国际化标签
    • 标题层级结构:H1 数量(应恰好为 1 个)、H2-H3 层级
  3. 检查基础设施文件:

    • 获取 {origin}/sitemap.xml——是否存在?XML 是否有效?页面数量?
    • 获取 {origin}/robots.txt——是否存在?是否有 Disallow 规则?是否引用了 Sitemap?
    • 获取 {origin}/favicon.ico——是否存在?
  4. 强制推理——评分前先评估: 继续之前,先写出:

    • 已具备:[列出已找到的元素]
    • 缺失项:[列出缺失的元素]
    • 关键问题:[任何会阻碍索引或分享的问题]
  5. SERP 排名检查——针对 3-5 个关键词:

    • 从页面标题、meta description 和 H1 中提取关键词。
    • 对每个关键词,通过 MCP web_search(query="{keyword}") 或 WebSearch 进行搜索。
    • 记录:目标 URL 在结果中的排名(1-10,或“未找到”)。
    • 记录:每个关键词对应的前 3 个竞争对手。
  6. 计算得分(0-100):

    检查项最高分标准
    标题标签10存在,长度为 50-60 个字符,包含主要关键词
    Meta description10存在,长度为 150-160 个字符,有吸引力
    OG 标签10og:title、og:description、og:image 均存在
    JSON-LD10存在有效的结构化数据
    Canonical5存在且正确
    Sitemap10存在、有效,且在 robots.txt 中有引用
    Robots.txt5存在,且没有范围过广的 Disallow 规则
    H1 结构5恰好有一个 H1,且描述明确
    HTTPS5网站使用 HTTPS
    Mobile meta5存在 viewport 标签
    语言5<html> 上有 lang 属性
    Favicon5存在
    SERP 曝光15在目标关键词的搜索结果中位列前 10
  7. 将报告写入 docs/seo-audit.md(项目上下文中),或打印到控制台:

    # SEO Audit: {URL}
    
    **Date:** {YYYY-MM-DD}
    **Score:** {N}/100
    
    ## Summary
    {2-3 sentence overview of SEO health}
    
    ## Checks
    
    | Check | Status | Score | Details |
    |-------|--------|-------|---------|
    | Title | pass/fail | X/10 | "{actual title}" (N chars) |
    | ... | ... | ... | ... |
    
    ## SERP Positions
    
    | Keyword | Position | Top Competitors |
    |---------|----------|----------------|
    | {kw} | #N or N/A | competitor1, competitor2, competitor3 |
    
    ## Critical Issues
    - {issue with fix recommendation}
    
    ## Recommendations (Top 3)
    1. {highest impact fix}
    2. {second priority}
    3. {third priority}
    
  8. 输出摘要——打印得分和最重要的 3 条建议。

备注

  • 得分仅供相对参考——落地页达到 80+ 即为良好,90+ 则非常出色
  • SERP 检查结果仅为近似值(并非实时排名数据)
  • 内容变更后或发布前应定期运行

注意事项

  1. 没有 SSR 的 SPA 得分为零——如果页面仅由客户端渲染(React SPA,没有 Next.js SSR),搜索引擎看到的将是空的 <div id="root">。检查 view-source:,确认 HTML 中包含实际内容。
  2. robots.txt 中的 Sitemap 不可省略——Google 会通过 robots.txt 中的 Sitemap: 指令发现站点地图。没有该指令时,索引依赖于爬取内部链接,这对新网站来说速度很慢。
  3. JSON-LD 错误不会显现——格式错误的 JSON-LD 不会导致页面异常,但 Google 会完全忽略它。发布前请使用 https://search.google.com/test/rich-results 验证。
  4. 多个 H1 标签会让爬虫困惑——许多 UI 框架会将组件标题渲染为 H1。请审计实际 DOM——每个页面应恰好有一个 H1。章节标题请使用 H2-H3。
  5. Core Web Vitals 会影响排名——LCP(最大内容绘制)< 2.5s,FID(首次输入延迟)< 100ms,CLS(累积布局偏移)< 0.1。如果可以使用 lighthouse,请通过 npx lighthouse {url} --output=json 检查。

常见问题

页面抓取失败

原因: URL 需要身份验证、受到 CORS 限制,或返回的不是 HTML。 解决方法: 确保 URL 可公开访问。对于 SPA,请检查内容是否由服务器渲染。

SERP 排名显示“未找到”

原因: 网站较新,或尚未被搜索引擎收录。 解决方法: 新网站出现这种情况是正常的。将站点地图提交到 Google Search Console,并在 2-4 周后重新审计。

内容质量不错,但评分较低

原因: 缺少基础设施文件(sitemap.xml、robots.txt、JSON-LD)。 解决方法: 这些修复的影响最大。生成站点地图,添加带有站点地图引用的 robots.txt,并添加 JSON-LD 结构化数据。

评论

支持 Markdown