mcpField
S
seo-content-audit

seo-content-audit

github.com/seranking营销与增长19178 次安装18 周前更新
代码仓库

关于 seo-content-audit

seo-content-audit 是审核现有网页内容的 SEO Skill,供编辑和内容团队评估发布准备度。它按 E-E-A-T 与 CITE 标准评分,应用否决条件,并给出发布结论和优先修复项。

主要功能

  1. 01按 E-E-A-T 标准评分
  2. 02按 CITE 标准评分
  3. 03检查发布否决条件
  4. 04分析 AI Overview 引用情况
  5. 05输出发布结论及五项修复建议

适用场景

  1. 01评估文章是否适合发布
  2. 02审核 YMYL 内容的作者与事实依据
  3. 03比较页面与 AI Overview 来源的差距

MCP 相关

此 Skill 要求连接 SE Ranking MCP 服务,以查询 AI Overview、提示词样本及相关搜索数据。

安装

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

$npx skills add https://github.com/seranking/seo-skills --skill seo-content-audit

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
cite.md
core-eeat.md
templates/
verdict.md

详细介绍

示例输出:examples/seo-content-audit-stripe-rate-limiters-20260514/VERDICT.md

内容质量审计

根据现代 E-E-A-T(经验、专业性、权威性、可信度)和 CITE(明确回答、包含一手数据、时间戳、实体权威性)标准,评估现有内容。指出无论总分如何都会阻止内容发布的否决项。给出明确的发布/修复后发布/不予发布结论,并列出优先级最高的 5 项修复措施。

前提条件

  • 已连接 SE Ranking MCP 服务。
  • Claude 的 WebFetch 工具可用。
  • 用户提供:(a) 现有内容的 URL(或粘贴的内容及其预期 URL);(b) 内容旨在争取排名的目标关键词。可选:目标国家(默认 us)。

流程

  1. 抓取内容:始终使用 WebFetch;在可用时使用 mcp__firecrawl-mcp__firecrawl_scrape

    • 验证目标并执行预检。 关于规范的三阶段预检(额度余额、Firecrawl 可用性、Google API),请参阅 skills/seo-firecrawl/references/preflight.md。本技能专属说明:
      • 本技能预计消耗的 SE Ranking 额度:通常约 10–15 个额度(AIO 上下文 + 目标关键词的 AIO 提示词抽样 + 审计 URL)。
      • Firecrawl:可选;不可用时回退到 WebFetch。每个审计 URL 消耗 1 个 Firecrawl 额度(默认上限为 50 个 URL,硬上限为 200 个)。继续前,先说明预计消耗的 Firecrawl 额度数。传入 --no-firecrawl 可强制仅使用 WebFetch 检查(否决项检查的置信度较低;参见步骤 4 的注意事项)。
      • Google API:第 2 级(GA4 可用)可在 AIO 上下文步骤之后解锁步骤 3b(审计 URL 的 GA4 自然流量)。完整操作方法请参阅 skills/seo-google/references/cross-skill-integration.md 中的“seo-content-audit”部分。
    • 先使用 WebFetch(免费、即时):提取 Markdown,检查字数、H 标签层级、来源引用(指向权威来源的链接、编号参考文献)、图片、表格、代码块和评论串。
    • 识别页面类型。 根据 URL 模式、H1 措辞和 JSON-LD @type,将页面归类为以下一种:终极指南/支柱页、操作指南、清单/最佳榜单、对比(X 与 Y)、解说文章、评测(单一产品)、落地页(商业页面)。在 references/core-eeat.md →“各页面类型的字数下限”中查找相应的字数下限。在 evidence/01-content-snapshot.md 中列出识别出的页面类型、采用的字数下限和实际字数。如果实际字数明显低于下限,则将其标记为深度 E-E-A-T 检查项(自动判为 ✗,除非审计人员说明例外情况的理由)。
    • 再使用 Firecrawl——补充 WebFetch 的 Markdown 中缺失的信息:
      • 从 metadata 中提取:规范 URL、robots、lang、og:title。
      • 从返回的 html 中提取所有 <script type="application/ld+json"> 块。解析 Article/BlogPosting 架构,并提取 author(姓名、@type: Person、可选的 url 和 sameAs)、datePublished/dateModified(ISO 8601)、publisher、mainEntityOfPage。如果存在,也检测独立的 Person 架构。
      • DOM 级署名检测:定位结构化署名(<a rel="author">、<meta name="author">、<span class="byline">、[itemprop="author"])。区分真实署名元素与正文中的提及(正文中的“由 Jane 与……合作撰写”不算署名;<a rel="author">Jane Doe</a> 则算)。
    • 如果 Firecrawl 不可用: WebFetch 部分照常运行。在 evidence/01-content-snapshot.md 中,将架构类型检测和结构化署名检测标记为“(已跳过 — 需要 Firecrawl)”。步骤 4 的否决检查 #1 和 #4 改为基于正文检查(可靠性较低)——在 VERDICT.md 中说明这一注意事项。
  2. AIO 上下文 DATA_getAiOverview 和 DATA_getAiOverviewLeaderboard

    • 目标关键词是否存在 AIO?
    • AIO 引用了哪些来源?
    • 是否引用了候选 URL?
    • 被引用来源有哪些典型特征(出版物层级、时效性、结构)?
  3. AIO 提示词抽样 DATA_getAiPromptsByTarget

    • 抽样查看目标 URL 所属域名作为来源出现的大模型提示词。
    • 与候选 URL 交叉比对——它是否出现在任何抽样提示词中?

3b. 已审核 URL 的 GA4 自然流量 (仅当存在 google-api.json 且等级 ≥ 2 时)

  • 用实际测得的自然会话数替代隐含的流量估算,统计已审核 URL 的自然流量。
  • 获取排名靠前的自然流量落地页(最近 28 天): python3 scripts/ga4_report.py --report top-pages --days 28 --json
  • 在客户端按已审核 URL 的路径筛选结果。在 VERDICT.md 的“## Snapshot”中,与现有的 AIO 引用交叉核查结果一并呈现:
    • GA4 最近 28 天自然流量:{sessions} 次会话 / {users} 位用户 / 平均互动时长 {n} 秒
    • 如果该 URL 未出现在自然流量落地页前 100 名中:“GA4:最近 28 天未进入自然流量落地页前 100 名——流量较低或为零。”
  • 这是一项参考信号,而不是否决条件。 如果 YMYL 页面具有较高的 E-E-A-T,但 GA4 流量较低,这一信息很有参考价值(“我们的内容质量理应带来相应的曝光,但目前尚未获得”),但不会改变发布决定。
  • 完整流程请参阅 skills/seo-google/references/cross-skill-integration.md §“seo-content-audit”。
  1. 使用 references/core-eeat.md 评估 E-E-A-T

    • 包含 4 个维度、共 60 项的评分标准(每个维度 15 项)。
    • 每项评定为是/否/部分符合。计算各维度的得分(各为 0–100%)。
    • 对 AI 内容标记子部分的 8 项进行评分(参见 references/core-eeat.md → "AI-content markers")。标记每项是否触发。
    • 应用 4 项否决检查。任一项触发即不得发布。
      1. YMYL 主题的匿名作者。(通过 Firecrawl 恢复的作者结构化数据和 DOM 署名进行判断时,置信度较高;仅检查正文时,置信度中等。)
      2. 事实性声明没有引用来源。
      3. 未披露的联盟营销 / 赞助关系。
      4. AI 生成的 YMYL 内容缺少人工审核标记(触发 ≥4 项 AI 内容标记,且属于 YMYL 主题,同时没有编辑署名 /“审核者”署名 /“最后审核”或“事实核查日期”)。检查“编辑署名 / 审核者”时,优先使用 Firecrawl 恢复的 DOM 署名和 Article 架构中的 author;如果没有 Firecrawl,则回退到正文层面的模式匹配(置信度较低——请在 VERDICT.md 中注明)。
  2. 使用 references/cite.md 评估 CITE

    • 包含 30 项的 CITE 评分标准(前 200 字中给出清晰答案、包含主要统计数据、时间戳时效性、实体权威性)。
    • 每项评定为是/否/部分符合。计算各维度得分。
    • 应用 3 项否决检查(前 300 字中没有答案 / 时效性内容没有日期标记 / 针对专有名词查询未消歧实体)。
  3. 与 AIO 获胜来源交叉核查

    • 针对被引用来源的典型特征(来自第 2 步),逐项评估候选内容:是否具备获胜来源的特征?
    • 明确指出具体差距。
  4. 使用 templates/verdict.md 综合得出结论

    • **发布:**E-E-A-T ≥ 75%,CITE ≥ 70%,且未触发任何否决项。
    • **修复后发布:**E-E-A-T 为 60–74% 或 CITE 为 55–69%,且未触发任何否决项。列出排名前 5 的修复项。
    • **不予发布:**触发任一否决项,或 E-E-A-T < 60%,或 CITE < 55%。需要大幅改写。

输出格式

创建一个文件夹 seo-content-audit-{target-slug}-{YYYYMMDD}/,其中包含:

seo-content-audit-{target-slug}-{YYYYMMDD}/
├── VERDICT.md                       (publish / publish-with-fixes / no-publish — primary deliverable; inlines content snapshot + AIO context)
├── 03-eeat-scoring.md               (60-item rubric scored — load-bearing reference an editor consults item-by-item)
├── 04-cite-scoring.md               (30-item rubric scored — load-bearing reference)
├── 05-aio-winner-comparison.md      (gap vs cited sources — must remain top-level; live AIO competitive evidence per EVAL_RESULT_v2.md §9)
└── evidence/
    ├── 01-content-snapshot.md       (HTML extracts + page metadata — raw step output)
    └── 02-aio-context.md            (AIO presence, citations, patterns — raw step output)

步骤 01 和 02 的内容会内嵌在 VERDICT.md 的“Snapshot”/“AIO context”部分;evidence/ 中的副本保留原始步骤输出。03-eeat-scoring.md、04-cite-scoring.md 和 05-aio-winner-comparison.md 保留在顶层——编辑会直接查阅评分细则,而 AIO 获胜者对比是评分结论所依据的实时竞争证据。

VERDICT.md 遵循以下结构(另请参见 templates/verdict.md):

# Content Audit: {URL or title}

> Audited {YYYY-MM-DD} · Target keyword: "{keyword}" · Country: {country}

## Verdict: {PUBLISH | PUBLISH WITH FIXES | NO PUBLISH}

{One sentence summary of why}

## Scores

| Dimension | Score | Threshold | Status |
|---|---|---|---|
| Experience | {n}% | 75% | {✓/✗} |
| Expertise | {n}% | 75% | {✓/✗} |
| Authoritativeness | {n}% | 75% | {✓/✗} |
| Trustworthiness | {n}% | 75% | {✓/✗} |
| **E-E-A-T composite** | {n}% | 75% | {✓/✗} |
| Clear answer | {n}% | 70% | {✓/✗} |
| Include stats | {n}% | 70% | {✓/✗} |
| Timestamp | {n}% | 70% | {✓/✗} |
| Entity authority | {n}% | 70% | {✓/✗} |
| **CITE composite** | {n}% | 70% | {✓/✗} |

## Veto checks

- Anonymous author on YMYL: {triggered / not triggered}
- Unsourced factual claims: {triggered / not triggered}
- Undisclosed affiliate / sponsored: {triggered / not triggered}
- AI-generated YMYL with no human review: {triggered / not triggered} ({n}/8 AI-content markers fired)
- ...

## AI Search readiness
- AIO present for "{keyword}": {yes/no}
- Top citation patterns: {list}
- Candidate URL cited in any sampled AIO: {yes/no}
- Gap vs cited sources: {bulleted gaps}

## Snapshot (measured)
- GA4 organic last 28d: {sessions} sessions / {users} users / avg engagement {n}s  *(or `not in top-100` / `not configured (Tier 2 required)`)*

## Top 5 fixes

1. {Specific fix linked to a low-scored item or veto}
2. ...
5. ...

## Detailed scoring

See:
- 03-eeat-scoring.md (item-by-item E-E-A-T)
- 04-cite-scoring.md (item-by-item CITE)
- 05-aio-winner-comparison.md (gap analysis)

提示

  • 遵守速率限制。AIO + AIO-prompts 查询约需 5–10 次调用,额度绰绰有余。
  • 运行前调用 DATA_getCreditBalance。通常需要约 10–15 个 SE Ranking 积分;若安装了 Firecrawl,每审计一个 URL 还需 1 个 Firecrawl 积分(默认上限为 50 个 URL)。
  • E-E-A-T 75%、CITE 70% 的阈值只是起点。请根据域名进行调整——YMYL 网站(医疗、金融)应设定更高阈值(85%/80%);综合类博客可以设得更低(65%/60%)。
  • 否决检查不可协商。涉及 YMYL 主题且作者匿名的文章,无论得分多少都不能通过。
  • 对于评为“修改后发布”的文章,交付内容是前 5 项清单。将其交给作者;修改后重新审计。
  • 新文章可搭配 seo-content-brief:此技能审计现有内容,content-brief 则用于制作新内容。
  • 如果页面存在技术或页面类型问题,可搭配 seo-sxo——这是另一种诊断。
  • 60 项 E-E-A-T 评分标准和 30 项 CITE 评分标准位于 references/ 中。这些标准较有主见——请根据所在领域的编辑标准进行调整。

评论

支持 Markdown