blog-seo-check

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Blog SEO Check -- Post-Writing Validation

博客SEO检查 -- 文章撰写后验证

Runs a comprehensive on-page SEO validation against a completed blog post and generates a pass/fail checklist with specific fixes for each failure. Designed to run after writing — catches issues before publishing.
针对已完成的博客文章运行全面的页面SEO验证,并生成包含具体修复方案的通过/未通过检查清单。专为文章撰写完成后使用设计——在发布前发现问题。

Workflow

工作流程

Step 1: Read Content

步骤1:读取内容

Read the target file and extract:
  • Frontmatter — title, description, date, lastUpdated, author, tags, canonical, og:image, slug/URL
  • Heading structure — H1, H2, H3 hierarchy with full text
  • Links — All internal and external links with anchor text
  • Meta tags — OG tags, Twitter Card tags, canonical URL
  • Body content — Full text for keyword and structural analysis
If the user provides a URL instead of a file path, use WebFetch to retrieve the page and extract the relevant elements.
读取目标文件并提取以下信息:
  • 前端元数据(Frontmatter) — 标题、描述、日期、最后更新时间、作者、标签、规范URL(canonical)、og:image、路径别名/URL
  • 标题结构 — H1、H2、H3层级及完整文本
  • 链接 — 所有内链和外链及其锚文本
  • 元标签 — OG标签、Twitter Card标签、规范URL
  • 正文内容 — 用于关键词和结构分析的完整文本
如果用户提供的是URL而非文件路径,使用WebFetch获取页面并提取相关元素。

Step 2: Title Tag Validation

步骤2:标题标签验证

CheckPass Criteria
Character count40-60 characters (no truncation in SERPs)
Keyword placementPrimary keyword in first half of title
Power wordContains at least one power word (e.g., Guide, Best, How, Why, Essential, Proven, Complete)
Truncation riskNo critical meaning lost if truncated at 60 chars
UniquenessNot generic — specific to the content
检查项通过标准
字符数40-60个字符(在搜索引擎结果页SERPs中不会被截断)
关键词位置核心关键词位于标题前半部分
强力词汇包含至少一个强力词汇(例如:Guide、Best、How、Why、Essential、Proven、Complete)
截断风险即使在60字符处截断,也不会丢失核心含义
独特性非通用标题——与内容紧密相关

Step 3: Meta Description

步骤3:元描述

CheckPass Criteria
Character count150-160 characters
Statistic includedContains at least one specific number or data point
Value propositionEnds with clear reader benefit or value proposition
Keyword presencePrimary keyword appears naturally (not stuffed)
No keyword stuffingKeyword appears at most once
Call to actionImplies action (learn, discover, find out, see)
检查项通过标准
字符数150-160个字符
包含统计数据至少包含一个具体数字或数据点
价值主张结尾包含清晰的读者收益或价值主张
关键词存在核心关键词自然出现(不堆砌)
无关键词堆砌关键词出现次数不超过1次
行动号召隐含行动引导(例如:learn、discover、find out、see)

Step 4: Heading Hierarchy

步骤4:标题层级

CheckPass Criteria
Single H1Exactly one H1 tag (the title)
No skipped levelsH1 -> H2 -> H3, never H1 -> H3 or H2 -> H4
Keyword in headingsPrimary keyword in 2-3 headings (natural, not forced)
Question format60-70% of H2 headings are questions
H2 count6-8 H2 sections for a standard blog post
Heading lengthEach heading under 70 characters
检查项通过标准
单个H1恰好有一个H1标签(即文章标题)
无层级跳跃遵循H1 -> H2 -> H3的层级,不得出现H1 -> H3或H2 -> H4
标题中包含关键词核心关键词出现在2-3个标题中(自然融入,不生硬)
疑问式标题60-70%的H2标题为疑问形式
H2数量标准博客文章包含6-8个H2章节
标题长度每个标题不超过70个字符

Step 5: Internal Links

步骤5:内链

CheckPass Criteria
Link count3-10 internal links per post
Anchor textDescriptive (not "click here" or "read more")
BidirectionalCheck if linked pages also link back (flag if not)
No orphan statusPost links to at least 3 other pages on the site
Link distributionLinks spread across the post, not clustered
No self-linksPost does not link to itself
Use Grep and Glob to scan the project for existing blog content and verify bidirectional linking where possible.
检查项通过标准
链接数量每篇文章包含3-10个内链
锚文本描述性文本(非“点击这里”或“阅读更多”)
双向链接检查被链接页面是否也反向链接(若未反向则标记)
非孤立页面文章至少链接到网站内的3个其他页面
链接分布链接分散在文章各处,不集中堆砌
无自链接文章不链接到自身
使用Grep和Glob扫描项目中已有的博客内容,尽可能验证双向链接情况。

Step 6: External Links

步骤6:外链

CheckPass Criteria
Source tierLinks to tier 1-3 sources only (authoritative, not SEO blogs)
Broken linksUse WebFetch to verify top external links are reachable
Rel attributesExternal links have appropriate rel attributes (nofollow for sponsored/UGC)
Link countAt least 3 external links to authoritative sources
No competitor linksNot linking to direct competitors unnecessarily
检查项通过标准
来源层级仅链接到1-3级权威来源(非SEO博客类网站)
无失效链接使用WebFetch验证主要外链是否可访问
Rel属性外链带有合适的rel属性(赞助/用户生成内容UGC使用nofollow)
链接数量至少链接到3个权威来源
无竞争对手链接不不必要地链接到直接竞争对手

Step 7: Canonical URL

步骤7:规范URL(Canonical URL)

CheckPass Criteria
PresentCanonical URL is defined in frontmatter or meta tags
Correct formatFull absolute URL (https://domain.com/path)
Trailing slashConsistent with site convention (no mixed trailing slashes)
Self-referencingCanonical points to the page itself (unless intentional cross-domain)
检查项通过标准
已定义规范URL在前端元数据或元标签中已定义
格式正确完整的绝对URL(https://domain.com/path)
尾斜杠一致性与网站约定保持一致(不混合有无尾斜杠的情况)
自引用规范URL指向页面自身(除非是有意的跨域引用)

Step 8: OG Meta Tags

步骤8:OG元标签

CheckPass Criteria
og:titlePresent, matches or complements the title tag
og:descriptionPresent, 150-160 characters, compelling for social sharing
og:imagePresent, 1200x630 minimum dimensions, absolute URL
og:typeSet to "article" for blog posts
og:urlPresent, matches canonical URL
og:site_namePresent, matches site/brand name
检查项通过标准
og:title已定义,与标题标签匹配或互补
og:description已定义,150-160个字符,适合社交分享
og:image已定义,最小尺寸1200x630,绝对URL
og:type博客文章设置为“article”
og:url已定义,与规范URL一致
og:site_name已定义,与网站/品牌名称一致

Step 9: Twitter Card

步骤9:Twitter Card

CheckPass Criteria
twitter:cardSet to "summary_large_image" for blog posts
twitter:titlePresent, under 70 characters
twitter:descriptionPresent, under 200 characters
twitter:imagePresent, same as or similar to og:image
twitter:sitePresent if the site has a Twitter/X account
检查项通过标准
twitter:card博客文章设置为“summary_large_image”
twitter:title已定义,不超过70个字符
twitter:description已定义,不超过200个字符
twitter:image已定义,与og:image相同或类似
twitter:site若网站有Twitter/X账号则需定义

Step 10: URL Structure

步骤10:URL结构

CheckPass Criteria
LengthShort — under 75 characters for the path portion
Keyword presencePrimary keyword or close variant in the URL slug
No datesURL does not contain /2025/ or /2026/ date segments
No special charactersOnly lowercase letters, numbers, and hyphens
LowercaseEntire URL path is lowercase
No stop wordsMinimal use of "the", "a", "and", "of" in slug
No file extensionNo .html or .php in the URL (clean URLs)
检查项通过标准
长度简短——路径部分不超过75个字符
关键词存在URL路径别名中包含核心关键词或近似变体
无日期URL不包含/2025/或/2026/这类日期分段
无特殊字符仅包含小写字母、数字和连字符
全小写整个URL路径为小写
无停用词路径别名中尽量少用“the”“a”“and”“of”这类停用词
无文件扩展名URL中无.html或.php这类文件扩展名(简洁URL)

Step 11: Generate Report

步骤11:生成报告

Output a comprehensive SEO validation report in this format:
undefined
输出格式如下的全面SEO验证报告:
undefined

SEO Validation Report: [Title]

SEO验证报告: [标题]

File: [path or URL] Date: [check date] Overall: [X/Y checks passed] — [PASS/NEEDS WORK/FAIL]
文件: [路径或URL] 日期: [检查日期] 整体结果: [X/Y项检查通过] — [通过/需要优化/未通过]

Results

检查结果

#CheckStatusDetailsFix
1Title lengthPASS52 chars
2Title keywordPASS"keyword" in first half
3Title power wordFAILNo power word foundAdd "Guide", "Essential", or "Complete"
4Meta description lengthPASS155 chars
5Meta description statFAILNo number foundAdd a key statistic from the post
...............
序号检查项状态详情修复方案
1标题长度通过52个字符
2标题关键词通过“关键词”位于前半部分
3标题强力词汇未通过未发现强力词汇添加“Guide”“Essential”或“Complete”
4元描述长度通过155个字符
5元描述统计数据未通过未发现数字添加文章中的关键统计数据
...............

Summary

总结

Passed: [N] checks Failed: [N] checks
通过项: [N]项 未通过项: [N]项

Priority Fixes

优先级修复方案

  1. [Most impactful fix — what to change and where]
  2. [Second most impactful fix]
  3. [Third most impactful fix]
  1. [影响最大的修复方案——修改内容及位置]
  2. [影响第二大的修复方案]
  3. [影响第三大的修复方案]

Notes

备注

  • [Any observations about overall SEO health]
  • [Suggestions for improvement beyond the checklist]

Status values:
- **PASS** — Meets the criteria
- **FAIL** — Does not meet the criteria, fix provided
- **WARN** — Partially meets criteria or edge case, recommendation provided
- **N/A** — Not applicable (e.g., no Twitter Card tags if site has no X account)
  • [关于整体SEO健康状况的观察]
  • [检查清单之外的改进建议]

状态值说明:
- **通过** — 符合标准
- **未通过** — 不符合标准,提供修复方案
- **警告** — 部分符合标准或属于边缘情况,提供建议
- **不适用** — 不适用(例如:若网站无X账号则无需Twitter Card标签)