solo-seo-audit

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

/seo-audit

/seo-audit

SEO health check for any URL or project landing page. Fetches the page, analyzes meta tags, OG, JSON-LD, sitemap, robots.txt, checks SERP positions for target keywords, and outputs a scored report.
针对任意URL或项目着陆页的SEO健康检测。获取页面内容,分析元标签、OG标签、JSON-LD、站点地图、robots.txt,检查目标关键词的SERP排名,并输出带评分的检测报告。

MCP Tools (use if available)

MCP工具(若可用则使用)

  • web_search(query, engines, include_raw_content)
    — SERP position check, competitor analysis
  • project_info(name)
    — get project URL if auditing by project name
If MCP tools are not available, use Claude WebSearch/WebFetch as fallback.
  • web_search(query, engines, include_raw_content)
    — SERP排名检测、竞品分析
  • project_info(name)
    — 若按项目名称审计,获取项目URL
若MCP工具不可用,使用Claude WebSearch/WebFetch作为备选方案。

Steps

操作步骤

  1. Parse target from
    $ARGUMENTS
    .
    • If URL (starts with
      http
      ): use directly.
    • If project name: look up URL from project README, CLAUDE.md, or
      docs/prd.md
      .
    • If empty: ask via AskUserQuestion — "Which URL or project to audit?"
  2. Fetch the page via WebFetch. Extract:
    • <title>
      tag (length check: 50-60 chars ideal)
    • <meta name="description">
      (length check: 150-160 chars ideal)
    • Open Graph tags:
      og:title
      ,
      og:description
      ,
      og:image
      ,
      og:url
      ,
      og:type
    • Twitter Card tags:
      twitter:card
      ,
      twitter:title
      ,
      twitter:image
    • JSON-LD structured data (
      <script type="application/ld+json">
      )
    • <link rel="canonical">
      — canonical URL
    • <html lang="...">
      — language tag
    • <link rel="alternate" hreflang="...">
      — i18n tags
    • Heading structure: H1 count (should be exactly 1), H2-H3 hierarchy
  3. Check infrastructure files:
    • Fetch
      {origin}/sitemap.xml
      — exists? Valid XML? Page count?
    • Fetch
      {origin}/robots.txt
      — exists? Disallow rules? Sitemap reference?
    • Fetch
      {origin}/favicon.ico
      — exists?
  4. Forced reasoning — assess before scoring: Write out before proceeding:
    • What's present: [list of found elements]
    • What's missing: [list of absent elements]
    • Critical issues: [anything that blocks indexing or sharing]
  5. SERP position check — for 3-5 keywords:
    • Extract keywords from page title + meta description + H1.
    • For each keyword, search via MCP
      web_search(query="{keyword}")
      or WebSearch.
    • Record: position of target URL in results (1-10, or "not found").
    • Record: top 3 competitors for each keyword.
  6. Score calculation (0-100):
    CheckMax PointsCriteria
    Title tag10Exists, 50-60 chars, contains primary keyword
    Meta description10Exists, 150-160 chars, compelling
    OG tags10og:title, og:description, og:image all present
    JSON-LD10Valid structured data present
    Canonical5Present and correct
    Sitemap10Exists, valid, referenced in robots.txt
    Robots.txt5Exists, no overly broad Disallow
    H1 structure5Exactly one H1, descriptive
    HTTPS5Site uses HTTPS
    Mobile meta5Viewport tag present
    Language5
    lang
    attribute on
    <html>
    Favicon5Exists
    SERP presence15Found in top 10 for target keywords
  7. Write report to
    docs/seo-audit.md
    (in project context) or print to console:
    markdown
    # 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. Output summary — print score and top 3 recommendations.
  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
      — 是否存在?是否有禁用规则?是否引用了站点地图?
    • 获取
      {origin}/favicon.ico
      — 是否存在?
  4. 强制推理——评分前评估: 在继续操作前,需明确列出:
    • 已存在项:[已检测到的元素列表]
    • 缺失项:[未检测到的元素列表]
    • 关键问题:[任何会阻碍索引或分享的问题]
  5. SERP排名检测——针对3-5个关键词:
    • 从页面标题、元描述和H1标签中提取关键词。
    • 对每个关键词,通过MCP
      web_search(query="{keyword}")
      或WebSearch进行搜索。
    • 记录:目标URL在搜索结果中的排名(1-10,或“未找到”)。
    • 记录:每个关键词对应的Top 3竞品。
  6. 评分计算(0-100分):
    检查项最高分评分标准
    标题标签10存在,长度50-60字符,包含核心关键词
    元描述10存在,长度150-160字符,具有吸引力
    OG标签10og:title、og:description、og:image均存在
    JSON-LD10存在有效的结构化数据
    规范URL5存在且正确
    站点地图10存在、有效,且在robots.txt中被引用
    Robots.txt5存在,无过度宽泛的禁用规则
    H1结构5恰好1个H1标签,描述清晰
    HTTPS5站点使用HTTPS
    移动端元标签5存在视口标签
    语言设置5
    <html>
    标签上存在
    lang
    属性
    网站图标5存在
    SERP曝光15目标关键词进入搜索结果前10名
  7. 生成报告:保存至项目上下文的
    docs/seo-audit.md
    或打印至控制台:
    markdown
    # SEO审计报告:{URL}
    
    **日期:** {YYYY-MM-DD}
    **评分:** {N}/100
    
    ## 摘要
    {2-3句话概述SEO健康状况}
    
    ## 检查详情
    
    | 检查项 | 状态 | 得分 | 细节 |
    |-------|--------|-------|---------|
    | 标题 | 通过/未通过 | X/10 | "{实际标题}"(共N字符) |
    | ... | ... | ... | ... |
    
    ## SERP排名
    
    | 关键词 | 排名 | Top竞品 |
    |---------|----------|----------------|
    | {关键词} | #N 或 未找到 | 竞品1, 竞品2, 竞品3 |
    
    ## 关键问题
    - {问题及修复建议}
    
    ## 优先级最高的3项建议
    1. {影响最大的修复方案}
    2. {次优先级方案}
    3. {第三优先级方案}
  8. 输出摘要——打印评分和优先级最高的3项建议。

Notes

注意事项

  • Score is relative — 80+ is good for a landing page, 90+ is excellent
  • SERP checks are approximations (not real-time ranking data)
  • Run periodically after content changes or before launch
  • 评分是相对值——着陆页得分80+为良好,90+为优秀
  • SERP排名检测为近似值(非实时排名数据)
  • 内容更新后或上线前需定期运行检测

Common Issues

常见问题

Page fetch fails

页面获取失败

Cause: URL is behind authentication, CORS, or returns non-HTML. Fix: Ensure the URL is publicly accessible. For SPAs, check if content is server-rendered.
原因: URL需要身份验证、存在CORS限制,或返回非HTML内容。 修复方案: 确保URL可公开访问。对于单页应用(SPA),检查内容是否为服务端渲染。

SERP positions show "not found"

SERP排名显示“未找到”

Cause: Site is new or not indexed by search engines. Fix: This is expected for new sites. Submit sitemap to Google Search Console and re-audit in 2-4 weeks.
原因: 站点较新或未被搜索引擎收录。 修复方案: 新站点出现此情况为正常现象。将站点地图提交至Google Search Console,2-4周后重新审计。

Low score despite good content

内容优质但评分较低

Cause: Missing infrastructure files (sitemap.xml, robots.txt, JSON-LD). Fix: These are the highest-impact fixes. Generate sitemap, add robots.txt with sitemap reference, and add JSON-LD structured data.
原因: 缺失基础设施文件(sitemap.xml、robots.txt、JSON-LD)。 修复方案: 这些是影响最大的修复项。生成站点地图,添加包含站点地图引用的robots.txt,并添加JSON-LD结构化数据。