mcpField
B
blog-seo-check

blog-seo-check

github.com/infrasity-labs营销与增长15196 次安装18 周前更新
代码仓库

关于 blog-seo-check

blog-seo-check 是用于文章完成后的页面 SEO 检查技能,按多项标准生成通过或未通过清单,并为问题提供修正建议,涵盖元数据、链接、标题层级、URL 和引文。

主要功能

  1. 01检查标题、描述和标题层级
  2. 02审核内外部链接
  3. 03查找重复 URL 和链接问题
  4. 04验证规范链接及社交标签
  5. 05检查 URL 结构和引文
  6. 06生成含修正建议的 SEO 报告

适用场景

  1. 01发布前检查博客文章
  2. 02查找重复或缺失的内部链接
  3. 03检查元数据和标题结构
  4. 04核验公开统计数据的引文

安装

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

$npx skills add https://github.com/infrasity-labs/dev-gtm-claude-skills --skill blog-seo-check

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

详细介绍

博客 SEO 检查:写作后验证

对已完成的博客文章进行全面的页面内 SEO 验证,并生成一份通过/未通过清单,为每项未通过检查提供具体的修复建议。适用于写作完成后运行,可在发布前发现问题。

工作流

步骤 1:读取内容

读取目标文件并提取:

  • Frontmatter — 标题、描述、日期、lastUpdated、作者、标签、 canonical、og:image、slug/URL
  • 标题结构 — H1、H2、H3 层级及完整文本
  • 链接 — 所有内部和外部链接及其锚文本
  • Meta 标签 — OG 标签、Twitter Card 标签、canonical URL
  • 正文内容 — 用于关键词和结构分析的完整文本

如果用户提供的是 URL 而不是文件路径,请使用 WebFetch 获取页面并提取 相关元素。

步骤 2:标题标签验证
检查项通过标准
字符数40-60 个字符(在 SERP 中不会被截断)
关键词位置核心关键词出现在标题的前半部分
强效词至少包含一个强效词(例如,指南、最佳、如何、为何、必备、经验证的、完整)
截断风险截断至 60 个字符时不会丢失关键信息
独特性不泛泛而谈,内容指向明确
步骤 3:Meta 描述
检查项通过标准
字符数150-160 个字符
包含数据至少包含一个具体数字或数据点
价值主张以明确的读者收益或价值主张结尾
包含关键词自然地包含核心关键词(不堆砌)
不堆砌关键词关键词最多出现一次
行动号召暗示采取行动(学习、探索、了解、查看)
步骤 4:标题层级
检查项通过标准
单个 H1恰好一个 H1 标签(标题)
层级无跳跃H1 -> H2 -> H3,不得出现 H1 -> H3 或 H2 -> H4
标题中包含关键词2-3 个标题中自然地包含核心关键词,不刻意生硬
问句格式60-70% 的 H2 标题采用问句形式
H2 数量标准博客文章包含 6-8 个 H2 部分
标题长度每个标题少于 70 个字符
步骤 5:内部链接
检查项通过标准
链接数量每篇文章包含 3-10 个内部链接
锚文本描述明确(不是“点击此处”或“阅读更多”)
双向链接检查被链接页面是否也链接回来(如果没有则标记)
无孤立状态文章至少链接到网站上的其他 3 个页面
链接分布链接分散在文章中,而非集中在一处
无自链接文章不链接到自身

使用 Grep 和 Glob 扫描项目中的现有博客内容,并在可能的情况下验证双向链接。

步骤 5.5:链接去重
检查项通过标准
URL 不重复每个 URL 在正文内容中最多出现一次
保留最佳实例如果存在重复,保留锚文本描述性最强的实例
导航链接豁免页眉/页脚导航链接不计入正文去重
片段规范化将带有不同 #fragments 的 URL 视为同一 URL

对于发现的每个重复项:

  1. 规范化 URL(移除末尾斜杠、查询参数和片段)
  2. 根据锚文本的描述性对每个实例评分(包含丰富关键词的优于泛泛的)
  3. 建议保留得分最高的实例,删除其他实例
  4. SEO 优化得分中每出现一处重复扣 1 分

Google 会为每个页面上的每个 URL 记录 1-2 个锚文本(Zyppy 2023)。最佳做法:正文内容中每个 URL 只链接一次;每 2,000 个词包含 5-10 个内部链接;每页链接总数最多约 50 个。

步骤 6:外部链接
检查项通过标准
来源等级仅链接到 1–3 级来源(权威来源,而非 SEO 博客)
链接失效使用 WebFetch 验证重要外部链接是否可访问
rel 属性外部链接具有适当的 rel 属性(赞助内容/用户生成内容使用 nofollow)
链接数量至少包含 3 个指向权威来源的外部链接
无竞争对手链接不必要时不链接直接竞争对手
FLOW 证据三要素(引文)

对于帖子中的每项公开统计数据,请验证以下三个组成部分:

  • 正文中在统计数据之前出现年份标记(如“In 2026,”或“As of Q1 2026,”),不要将其埋在括号中。
  • 行内引文注明发布方和文档标题(或报告名称)。
  • 帖子底部的来源区块列出每个引用来源的 URL,以及 retrieved YYYY-MM-DD。

未满足以上任一项的帖子,应删除无法核实的说法,或将其替换为已核实的说法。参见 skills/blog/references/flow-alignment.md。如需使用一次性提示词驱动的检查,请参见 /blog flow optimize。

步骤 7:Canonical URL
检查项通过标准
已设置在 frontmatter 或 meta 标签中定义 Canonical URL
格式正确完整的绝对 URL(https://domain.com/path)
末尾斜杠与网站规范一致(末尾斜杠不混用)
指向自身Canonical 指向页面自身(有意跨域的情况除外)
步骤 8:OG Meta 标签
检查项通过标准
og:title已设置,且与 title 标签相符或形成补充
og:description已设置,长度为 150–160 个字符,适合社交分享且具有吸引力
og:image已设置,尺寸至少为 1200x630,且为绝对 URL
og:type博客帖子设为 "article"
og:url已设置,且与 Canonical URL 相符
og:site_name已设置,且与网站/品牌名称相符
步骤 9:Twitter Card
检查项通过标准
twitter:card博客帖子设为 "summary_large_image"
twitter:title已设置,且少于 70 个字符
twitter:description已设置,且少于 200 个字符
twitter:image已设置,与 og:image 相同或相似
twitter:site网站有 Twitter/X 账号时设置
步骤 10:URL 结构
检查项通过标准
长度简短,路径部分少于 75 个字符
包含关键词URL slug 中包含主要关键词或相近变体
不含日期URL 不包含 /2025/ 或 /2026/ 之类的日期段
不含特殊字符仅使用小写字母、数字和连字符
小写整个 URL 路径均为小写
不含停用词slug 中尽量少用 "the"、"a"、"and"、"of"
不含文件扩展名URL 中不含 .html 或 .php(使用简洁 URL)
步骤 11:生成报告

按以下格式输出全面的 SEO 验证报告:

## SEO Validation Report: [Title]

**File**: [path or URL]
**Date**: [check date]
**Overall**: [X/Y checks passed] - [PASS/NEEDS WORK/FAIL]

### Results

| # | Check | Status | Details | Fix |
|---|-------|--------|---------|-----|
| 1 | Title length | PASS | 52 chars | - |
| 2 | Title keyword | PASS | "keyword" in first half | - |
| 3 | Title power word | FAIL | No power word found | Add "Guide", "Essential", or "Complete" |
| 4 | Meta description length | PASS | 155 chars | - |
| 5 | Meta description stat | FAIL | No number found | Add a key statistic from the post |
| ... | ... | ... | ... | ... |

### Summary

**Passed**: [N] checks
**Failed**: [N] checks

### Priority Fixes
1. [Most impactful fix - what to change and where]
2. [Second most impactful fix]
3. [Third most impactful fix]

### Notes
- [Any observations about overall SEO health]
- [Suggestions for improvement beyond the checklist]

状态值:

  • PASS - 符合标准
  • FAIL - 不符合标准,已提供修复方案
  • WARN - 部分符合标准或存在边缘情况,已提供建议
  • N/A - 不适用(例如,网站没有 X 账号时无需设置 Twitter Card 标签)
可选:实时性能检查(blog-google)

如果帖子已有已发布的 URL,且有可用的 blog-google 凭据:

  1. 检查凭据:python3 skills/blog-google/scripts/run.py google_auth --check --json
  2. 如果为 Tier 0+,运行 PageSpeed:python3 skills/blog-google/scripts/run.py pagespeed_check <url> --json
  3. 将以下内容附加到报告中:
    • Lighthouse 的 Performance、Accessibility、Best Practices 和 SEO 分数
    • CWV 字段数据(LCP、INP、CLS)及红黄绿评级
    • 预计可节省时间最多的 3 个优化机会
  4. 如果凭据不可用或 URL 尚未发布,则静默跳过。

评论

支持 Markdown