mcpField
S
seo-review

seo-review

github.com/leonardomso营销与增长66.5k645 次安装21 周前更新
代码仓库

关于 seo-review

这是面向 33 JavaScript Concepts 项目概念文档页面的 SEO 审核 Agent 技能。它提供关键词规划、页面元素与内容结构检查清单,以及审核报告方法。

主要功能

  1. 01规划概念关键词集群
  2. 02检查页面 SEO 元素
  3. 03评估精选摘要结构
  4. 04审查内部链接
  5. 05按模板记录审核结果

适用场景

  1. 01发布概念页面前审核 SEO
  2. 02优化搜索表现不佳的页面
  3. 03内容重大更新后进行检查

安装

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

$npx skills add https://github.com/leonardomso/33-js-concepts --skill seo-review

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

详细介绍

技能:概念页面 SEO 审核

使用此技能,对 33 JavaScript Concepts 项目的概念文档页面进行重点 SEO 审核。目标是提升页面在 JavaScript 开发者搜索结果中的曝光度。

适用场景

  • 发布新的概念页面之前
  • 优化表现不佳的页面时
  • 定期进行内容审核时
  • 进行重大内容更新之后
  • 针对新的关键词时

目标

每个概念页面都应在以下搜索中获得较高排名:

  • “JavaScript 中的 [概念] 是什么”
  • “[概念] 在 JavaScript 中如何运作”
  • “JavaScript [概念] 讲解”
  • “JavaScript [概念] 教程”
  • “JavaScript [概念] 示例”

SEO 审核方法

遵循以下五个步骤,完成 SEO 审核。

步骤 1:确定目标关键词

开始审核前,先确定该概念的关键词组。

关键词组模板
类型模式示例(闭包)
主要关键词[概念] JavaScriptclosures JavaScript
是什么what is [concept] in JavaScriptwhat is a closure in JavaScript
如何运作how does [concept] workhow do closures work
如何使用how to use/create [concept]how to use closures
为什么why use [concept]why use closures JavaScript
示例[concept] examplesclosure examples JavaScript
对比[concept] vs [related]closures vs scope
面试[concept] interview questionsclosure interview questions
步骤 2:页面 SEO 审核

系统地检查所有页面 SEO 要素。

步骤 3:精选摘要优化

确认内容结构有利于获得精选摘要。

步骤 4:内部链接审核

检查内部链接结构。

步骤 5:生成报告

使用报告模板记录审核结果。


各概念的关键词组

使用以下为各概念预先整理的关键词组。

| 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript call stack, call stack JavaScript | | 是什么 | what is the call stack in JavaScript | | 如何运作 | how does the call stack work | | 错误 | maximum call stack size exceeded, stack overflow JavaScript | | 可视化 | call stack visualization, call stack explained | | 面试 | call stack interview questions JavaScript | | 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript primitive types, primitives in JavaScript | | 是什么 | what are primitive types in JavaScript | | 列表 | JavaScript data types, types in JavaScript | | 对比 | primitives vs objects JavaScript | | typeof | typeof JavaScript, JavaScript typeof operator | | 面试 | JavaScript types interview questions | | 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript value vs reference, pass by reference JavaScript | | 是什么 | what is pass by value in JavaScript | | 如何运作 | how does JavaScript pass objects | | 对比 | value types vs reference types JavaScript | | 复制 | how to copy objects JavaScript, deep copy JavaScript | | 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript type coercion, type conversion JavaScript | | 是什么 | what is type coercion in JavaScript | | 如何运作 | how does type coercion work | | 隐式转换 | implicit type conversion JavaScript | | 显式转换 | explicit type conversion JavaScript | | 面试 | type coercion interview questions | | 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript 相等性,JavaScript 中 == 与 === 的区别 | | 是什么 | == 和 === 有什么区别 | | 比较 | JavaScript 中的宽松相等与严格相等 | | 最佳实践 | 何时使用 == 与 === | | 面试 | JavaScript 相等性面试题 | | 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript 闭包,JavaScript 作用域 | | 是什么 | 什么是 JavaScript 闭包,什么是作用域 | | 如何工作 | 闭包如何工作,作用域如何工作 | | 类型 | JavaScript 作用域类型,词法作用域 | | 使用场景 | 闭包的使用场景,为什么使用闭包 | | 面试 | JavaScript 闭包面试题 | | 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript 事件循环,JavaScript 事件循环 | | 是什么 | 什么是 JavaScript 事件循环 | | 如何工作 | 事件循环如何工作 | | 可视化 | 事件循环可视化,事件循环详解 | | 相关主题 | 调用栈与事件循环,JavaScript 任务队列 | | 面试 | 事件循环面试题 | | 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript Promise,JavaScript 中的 Promise | | 是什么 | 什么是 JavaScript Promise | | 如何使用 | 如何使用 Promise,如何链式调用 Promise | | 方法 | Promise.all,Promise.race,Promise.allSettled | | 错误 | Promise 错误处理,Promise catch | | 对比 | Promise 与回调的对比,Promise 与 async await 的对比 | | 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript async await,JavaScript async await | | 是什么 | 什么是 JavaScript async await | | 如何使用 | 如何使用 async await,async await 教程 | | 错误 | async await 错误处理,异步 try catch | | 对比 | async await 与 Promise 的对比 | | 面试 | async await 面试题 | | 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript this 关键字,JavaScript 中的 this | | 是什么 | 什么是 JavaScript 中的 this | | 如何工作 | JavaScript 中的 this 如何工作 | | 绑定 | JavaScript call、apply、bind,this 绑定 | | 箭头函数 | 箭头函数中的 this | | 面试 | this 关键字面试题 | | 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript 原型,JavaScript 原型链 | | 是什么 | 什么是 JavaScript 原型 | | 如何工作 | 原型继承如何工作 | | 原型链 | 原型链详解 | | 对比 | JavaScript 原型与类的对比 | | 面试 | JavaScript 原型面试题 | | 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript DOM,JavaScript DOM 操作 | | 是什么 | 什么是 JavaScript 中的 DOM | | 如何操作 | 如何操作 JavaScript DOM | | 方法 | getElementById,JavaScript querySelector | | 事件 | JavaScript DOM 事件,事件监听器 | | 性能 | DOM 性能,虚拟 DOM 与 DOM 的对比 | | 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript 高阶函数,高阶函数 | | 是什么 | 什么是高阶函数 | | 示例 | JavaScript map、filter、reduce | | 如何使用 | 如何使用高阶函数 | | 面试 | 高阶函数面试题 | | 类型 | 关键词 | |------|----------| | 主要关键词 | JavaScript 递归、JavaScript 中的递归 | | 是什么 | 什么是 JavaScript 中的递归 | | 如何实现 | 如何编写递归函数 | | 示例 | JavaScript 递归示例 | | 对比 | JavaScript 中递归与迭代的对比 | | 面试 | 递归面试问题 |

审核清单

标题标签清单(4 分)
#检查项分数验证方法
1长度为 50–60 个字符1统计 title frontmatter 中的字符数
2主要关键词出现在前半部分1概念名称出现在前面
3以“in JavaScript”结尾1检查标题结尾
4包含吸引人的亮点1向读者传达价值或益处

评分:

  • 4/4:✅ 优秀
  • 3/4:⚠️ 良好,还有小幅改进空间
  • 0-2/4:❌ 需要大幅改进

标题公式:

[Concept]: [What You'll Understand] in JavaScript

优秀示例:

概念标题(含字符数)
闭包“Closures: How Functions Remember Their Scope in JavaScript”(58 个字符)
事件循环“Event Loop: How Async Code Actually Runs in JavaScript”(54 个字符)
Promise“Promises: Handling Async Operations in JavaScript”(49 个字符)
DOM“DOM: How Browsers Represent Web Pages in JavaScript”(51 个字符)

不佳示例:

问题不佳标题更好的标题
太短“Closures”“Closures: How Functions Remember Their Scope in JavaScript”
太长“Understanding JavaScript Closures and How They Work with Examples”(66 个字符)“Closures: How Functions Remember Their Scope in JavaScript”(58 个字符)
没有亮点“JavaScript Closures”“Closures: How Functions Remember Their Scope in JavaScript”
缺少“JavaScript”“Understanding Closures and Scope”在末尾添加“in JavaScript”

元描述清单(4 分)
#检查项分数验证方法
1长度为 150–160 个字符1统计 description frontmatter 中的字符数
2以行动词开头1“Learn”“Understand”“Discover”(不要用“Master”)
3包含主要关键词1包含概念名称和“JavaScript”
4明确说明具体价值1列出读者将学到的内容

描述公式:

[Action word] [what it is] in JavaScript. [Specific things they'll learn]: [topic 1], [topic 2], and [topic 3].

优秀示例:

概念描述
闭包“Learn JavaScript closures and how functions remember their scope. Covers lexical scoping, practical use cases, memory considerations, and common closure patterns.”(159 个字符)
事件循环“Discover how the JavaScript event loop manages async code execution. Understand the call stack, task queue, microtasks, and why JavaScript is single-threaded but non-blocking.”(176 个字符——需缩短!)
DOM“Learn how the DOM works in JavaScript. Understand how browsers represent HTML as a tree, select and manipulate elements, traverse nodes, and optimize rendering.”(162 个字符)

不佳示例:

问题不佳描述修改方法
太短“Learn about closures”扩展至 150–160 个字符,并补充具体内容
以“Master”开头“Master JavaScript closures...”改为“Learn JavaScript closures...”
太笼统“A guide to closures”列出涵盖的具体主题
缺少关键词“Functions can remember things”加入“closures”和“JavaScript”

关键词布局检查清单(5 分)
#检查项分值验证方式
1标题中包含主要关键词1检查 frontmatter 中的 title
2元描述中包含主要关键词1检查 frontmatter 中的 description
3前 100 个词中包含主要关键词1检查开篇段落
4至少一个 H2 标题中包含关键词1扫描所有 ## 标题
5不堆砌关键词1内容读起来自然

关键词布局图:

┌─────────────────────────────────────────────────────────────────────────┐
│                         KEYWORD PLACEMENT                                │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  🔴 CRITICAL (Must have keyword)                                         │
│  ─────────────────────────────────                                       │
│  • title frontmatter                                                     │
│  • description frontmatter                                               │
│  • First paragraph (within 100 words)                                    │
│  • At least one H2 heading                                               │
│                                                                          │
│  🟡 RECOMMENDED (Include naturally)                                      │
│  ──────────────────────────────────                                      │
│  • "What you'll learn" Info box                                          │
│  • H3 subheadings                                                        │
│  • Key Takeaways section                                                 │
│  • First sentence after major H2s                                        │
│                                                                          │
│  ⚠️ AVOID                                                                │
│  ─────────                                                               │
│  • Same phrase >4 times per 1000 words                                   │
│  • Forcing keywords where pronouns work better                           │
│  • Awkward sentence structures to fit keywords                           │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘

内容结构检查清单(6 分)
#检查项分值验证方式
1以问题引入开篇1第一段提出引人入胜的问题
2前 200 个词中包含代码示例1尽早展示简单示例
3包含“你将学到什么”信息框1开篇后添加 <Info> 组件
4段落简短(2-4 句)1检查内容中是否有过长的段落
51,500 个词以上1检查词数
6首次提及时将关键术语加粗1使用 **bold** 标记重要术语

内容结构模板:

┌─────────────────────────────────────────────────────────────────────────┐
│                       IDEAL PAGE STRUCTURE                               │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  1. QUESTION HOOK (First 50 words)                                       │
│     "How does JavaScript...? Why do...?"                                 │
│                                                                          │
│  2. BRIEF ANSWER + CODE EXAMPLE (Words 50-200)                           │
│     Quick explanation + simple code demo                                 │
│                                                                          │
│  3. "WHAT YOU'LL LEARN" INFO BOX                                         │
│     5-7 bullet points                                                    │
│                                                                          │
│  4. PREREQUISITES WARNING (if applicable)                                │
│     Link to required prior concepts                                      │
│                                                                          │
│  5. MAIN CONTENT SECTIONS (H2s)                                          │
│     Each H2 answers a question or teaches a concept                      │
│     Include code examples, diagrams, tables                              │
│                                                                          │
│  6. COMMON MISTAKES / GOTCHAS SECTION                                    │
│     What trips people up                                                 │
│                                                                          │
│  7. KEY TAKEAWAYS                                                        │
│     8-10 numbered points summarizing everything                          │
│                                                                          │
│  8. TEST YOUR KNOWLEDGE                                                  │
│     5-6 Q&A accordions                                                   │
│                                                                          │
│  9. RELATED CONCEPTS                                                     │
│     4 cards linking to related topics                                    │
│                                                                          │
│  10. RESOURCES (Reference, Articles, Videos)                             │
│      MDN links, curated articles, videos                                 │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘

精选摘要检查清单(4 分)
#检查项分值验证方式
1“什么是 X”包含 40-60 词的定义1统计“什么是”H2 后第一段的词数
2至少一个 H2 采用疑问句形式1检查是否有“什么是”“如何”“为什么”等 H2
3“如何操作”内容使用编号步骤1使用 <Steps> 组件或编号列表
4比较表(如适用)1为“X 与 Y”内容提供表格

精选摘要模式:

┌─────────────────────────────────────────────────────────────────────────┐
│                     FEATURED SNIPPET FORMATS                             │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  QUERY TYPE             WINNING FORMAT         YOUR CONTENT              │
│  ───────────            ──────────────         ────────────              │
│                                                                          │
│  "What is X"            Paragraph              40-60 word definition     │
│                                                after H2, bold keyword    │
│                                                                          │
│  "How to X"             Numbered list          <Steps> component or      │
│                                                1. 2. 3. markdown         │
│                                                                          │
│  "X vs Y"               Table                  | Feature | X | Y |       │
│                                                comparison table          │
│                                                                          │
│  "Types of X"           Bullet list            - **Type 1** — desc       │
│                                                - **Type 2** — desc       │
│                                                                          │
│  "[X] examples"         Code block             ```javascript             │
│                         + explanation          // example code           │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘

定义段落示例(40-60 词):

## What is a Closure in JavaScript?

A **closure** is a function that retains access to variables from its outer 
(enclosing) scope, even after that outer function has finished executing. 
Closures are created every time a function is created in JavaScript, allowing 
inner functions to "remember" and access their lexical environment.

(这是 52 个词,非常适合用作精选摘要)


内部链接检查清单(4 分)
#检查项分值验证方式
1正文中链接 3-5 个相关概念1统计正文中的 /concepts/ 链接
2使用描述性锚文本1不使用“点击这里”“这里”“这个”
3在 Warning 框中列出前置条件1在开头使用带链接的 <Warning>
4相关概念部分包含 4 张卡片1在末尾使用包含 4 张 Card 的 <CardGroup>

良好的锚文本:

❌ 不佳✓ 良好
“点击这里”“事件循环概念”
“这里”“JavaScript 闭包”
“这篇文章”“我们的 Promises 指南”
“阅读更多”“理解调用栈”

链接放置策略:


<Warning>
**Prerequisite:** This guide assumes you understand [Promises](/concepts/promises) 
and the [Event Loop](/concepts/event-loop). Read those first if needed.
</Warning>


When the callback finishes, it's added to the task queue — managed by 
the [event loop](/concepts/event-loop).


<CardGroup cols={2}>
  <Card title="Promises" icon="handshake" href="/concepts/promises">
    async/await is built on top of Promises
  </Card>
</CardGroup>

技术 SEO 检查清单(3 分)
#检查项分值验证方法
1每页仅有一个 H11只有一个 # 标题(页面标题)
2URL slug 包含关键词1/concepts/closures,而不是 /concepts/topic-1
3没有孤立页面1至少有一个其他页面链接到该页面

H1 规则:

每个页面应恰好有一个 H1(主标题)。这对 SEO 至关重要:

  • H1 会告诉 Google 页面内容是什么
  • 多个 H1 会使搜索引擎混淆页面层级
  • 所有其他标题都应使用 H2(##)或更低级别
  • H1 应包含主要关键词
# Closures in JavaScript     ← This is your H1 (only one!)

## What is a Closure?        ← H2 for sections
### Lexical Scope            ← H3 for subsections
## How Closures Work         ← Another H2

URL/Slug 最佳实践:

✅ 好❌ 差
/concepts/closures/concepts/c1
/concepts/event-loop/concepts/topic-7
/concepts/type-coercion/concepts/abc123
/concepts/async-await/concepts/async_await

Slug 规则:

  • 包含主要关键词 — 概念名称应出现在 URL 中
  • 使用连字符,不要使用下划线 — 使用 event-loop,而不是 event_loop
  • 保持 slug 简短易读 — 少于 50 个字符
  • 不要使用 UUID、数据库 ID 或随机字符串
  • 仅使用小写字母 — /concepts/Event-Loop 应改为 /concepts/event-loop

孤立页面检测:

孤立页面是指没有其他页面通过内部链接指向它的页面。这会损害 SEO,因为:

  • Google 可能无法发现该页面,或不会经常抓取该页面
  • 这表明该页面在网站结构中并不重要
  • 用户无法通过自然方式导航到该页面
  • 链接权重无法传递到该页面

如何检查孤立页面:

  1. 在代码库中搜索指向此概念的链接:grep -r "/concepts/[slug]" docs/
  2. 确认至少有一个其他概念的“相关概念”部分包含该页面
  3. 检查将该页面列为前置条件的页面是否恰当地反向链接
  4. 确保该页面已包含在导航中(docs.json)

修复孤立页面:

  • 将该概念添加到相关页面的“相关概念”CardGroup 中
  • 在相关概念的正文内容中自然地链接到该概念
  • 确保双向链接(如果 A 链接到 B,在相关情况下,B 也应链接回 A)

评分系统

可获总分:30 分
类别最高分
标题标签4
Meta 描述4
关键词布局5
内容结构6
精选摘要4
内部链接4
技术 SEO3
总计30
分数解读
分数百分比状态操作
27-3090-100%✅ 优秀可发布
23-2675-89%⚠️ 良好需要进行少量优化
17-2255-74%⚠️ 一般需要进行多项改进
0-16<55%❌ 较差需要进行大量改进

常见 SEO 问题及修复方法

标题标签问题
问题当前内容修复方法
太短(<50 个字符)“Closures”(8)“Closures: How Functions Remember Their Scope in JavaScript”(58)
太长(>60 个字符)“Understanding JavaScript Closures and How They Work with Examples”(66)“Closures: How Functions Remember Their Scope in JavaScript”(58)
缺少关键词“Understanding Scope”添加概念名称:“Closures: Understanding Scope in JavaScript”
缺少吸引点“JavaScript Closures”添加益处:“Closures: How Functions Remember Their Scope in JavaScript”
缺少“JavaScript”“Closures Explained”在末尾添加:“Closures Explained in JavaScript”
Meta 描述问题
问题当前内容修复方法
过短(<120 个字符)"Learn about closures"(20 个字符)补充具体内容,扩展至 150-160 个字符
过长(>160 个字符)[会被截断]大幅精简,保留关键信息
以 "Master" 开头"Master JavaScript closures..."改为 "Learn JavaScript closures..."
不含关键词"Functions that remember"加入 "closures" 和 "JavaScript"
过于笼统"A guide to closures"列出具体主题:"涵盖 X、Y 和 Z"
内容结构问题
问题修复方法
没有问题式引入以 "How does...?" 或 "Why...?" 开头
代码示例出现太晚将简单示例移到前 200 个词内
缺少 Info 信息框添加 <Info>,并写上 "你将学到什么"
段落过长拆分为每段 2-4 句话
不足 1,500 个词增加深度、示例和边界情况
没有加粗术语首次提及时加粗关键概念
精选摘要问题
问题修复方法
没有 "What is" 定义添加 40-60 个词的定义段落
定义过长精简至 40-60 个词
没有疑问式 H2 标题添加 "What is X?" 或 "How does X work?" H2 标题
步骤没有编号使用 <Steps> 或 Markdown 编号列表
没有对比表格为 "X vs Y" 部分添加表格
内部链接问题
问题修复方法
没有内部链接添加 3-5 个指向相关概念的链接
锚文本不佳将 "click here" 替换为描述性文字
没有前置要求添加带有前置要求链接的 <Warning>
Related Concepts 为空添加 4 个链接到相关主题的 Cards
技术 SEO 问题
问题修复方法
有多个 H1 标题仅保留一个 # 标题(标题本身),所有章节使用 ##
slug 缺少关键词将文件重命名为包含概念名称(例如,closures.mdx)
孤立页面在相关概念页面的正文或 Related Concepts 部分添加链接
slug 中含下划线使用连字符:event-loop.mdx,而非 event_loop.mdx
slug 中含大写字母只使用小写字母:async-await.mdx,而非 Async-Await.mdx
slug 过长缩短为主要关键词:closures.mdx,而非 understanding-javascript-closures-and-scope.mdx

SEO 审核报告模板

使用此模板记录审核结果。

# SEO Audit Report: [Concept Name]

**File:** `/docs/concepts/[slug].mdx`
**Date:** YYYY-MM-DD
**Auditor:** [Name/Claude]
**Overall Score:** XX/30 (XX%)
**Status:** ✅ Excellent | ⚠️ Needs Work | ❌ Poor

---

## Score Summary

| Category | Score | Status |
|----------|-------|--------|
| Title Tag | X/4 | ✅/⚠️/❌ |
| Meta Description | X/4 | ✅/⚠️/❌ |
| Keyword Placement | X/5 | ✅/⚠️/❌ |
| Content Structure | X/6 | ✅/⚠️/❌ |
| Featured Snippets | X/4 | ✅/⚠️/❌ |
| Internal Linking | X/4 | ✅/⚠️/❌ |
| Technical SEO | X/3 | ✅/⚠️/❌ |
| **Total** | **X/30** | **STATUS** |

---

## Target Keywords

**Primary Keyword:** [e.g., "JavaScript closures"]
**Secondary Keywords:**
- [keyword 1]
- [keyword 2]
- [keyword 3]

**Search Intent:** Informational / How-to / Comparison

---

## Title Tag Analysis

**Current Title:** "[current title from frontmatter]"
**Character Count:** XX characters
**Score:** X/4

| Check | Status | Notes |
|-------|--------|-------|
| Length 50-60 chars | ✅/❌ | XX characters |
| Primary keyword in first half | ✅/❌ | [notes] |
| Ends with "in JavaScript" | ✅/❌ | [notes] |
| Contains compelling hook | ✅/❌ | [notes] |

**Issues Found:** [if any]

**Recommended Title:** "[suggested title]" (XX chars)

---

## Meta Description Analysis

**Current Description:** "[current description from frontmatter]"
**Character Count:** XX characters
**Score:** X/4

| Check | Status | Notes |
|-------|--------|-------|
| Length 150-160 chars | ✅/❌ | XX characters |
| Starts with action word | ✅/❌ | Starts with "[word]" |
| Contains primary keyword | ✅/❌ | [notes] |
| Promises specific value | ✅/❌ | [notes] |

**Issues Found:** [if any]

**Recommended Description:** "[suggested description]" (XX chars)

---

## Keyword Placement Analysis

**Score:** X/5

| Location | Present | Notes |
|----------|---------|-------|
| Title | ✅/❌ | [notes] |
| Meta description | ✅/❌ | [notes] |
| First 100 words | ✅/❌ | Found at word XX |
| H2 heading | ✅/❌ | Found in: "[H2 text]" |
| Natural reading | ✅/❌ | [no stuffing / stuffing detected] |

**Missing Keyword Placements:**
- [ ] [Location where keyword should be added]

---

## Content Structure Analysis

**Word Count:** X,XXX words
**Score:** X/6

| Check | Status | Notes |
|-------|--------|-------|
| Question hook opening | ✅/❌ | [notes] |
| Code in first 200 words | ✅/❌ | Code appears at word XX |
| "What you'll learn" box | ✅/❌ | [present/missing] |
| Short paragraphs | ✅/❌ | [notes on paragraph length] |
| 1,500+ words | ✅/❌ | X,XXX words |
| Bolded key terms | ✅/❌ | [notes] |

**Structure Issues:**
- [ ] [Issue and recommendation]

---

## Featured Snippet Analysis

**Score:** X/4

| Check | Status | Notes |
|-------|--------|-------|
| 40-60 word definition | ✅/❌ | Currently XX words |
| Question-format H2 | ✅/❌ | Found: "[H2]" / Not found |
| Numbered steps | ✅/❌ | [notes] |
| Comparison tables | ✅/❌/N/A | [notes] |

**Snippet Opportunities:**

1. **"What is [concept]" snippet:**
   - Current definition: XX words
   - Action: [Expand to/Trim to] 40-60 words

2. **"How to [action]" snippet:**
   - Action: [Add Steps component / Already present]

---

## Internal Linking Analysis

**Score:** X/4

| Check | Status | Notes |
|-------|--------|-------|
| 3-5 internal links in body | ✅/❌ | Found X links |
| Descriptive anchor text | ✅/❌ | [notes] |
| Prerequisites in Warning | ✅/❌ | [present/missing] |
| Related Concepts section | ✅/❌ | X cards present |

**Current Internal Links:**
1. [Anchor text] → `/concepts/[slug]`
2. [Anchor text] → `/concepts/[slug]`

**Recommended Links to Add:**
- Link to [concept] in [section/context]
- Link to [concept] in [section/context]

**Bad Anchor Text Found:**
- Line XX: "click here" → change to "[descriptive text]"

---

## Technical SEO Analysis

**Score:** X/3

| Check | Status | Notes |
|-------|--------|-------|
| Single H1 per page | ✅/❌ | [Found X H1 tags] |
| URL slug contains keyword | ✅/❌ | Current: `/concepts/[slug]` |
| Not an orphan page | ✅/❌ | Linked from X other pages |

**H1 Tags Found:**
- Line XX: `# [H1 text]` ← Should be the only one
- [List any additional H1s that need to be changed to H2]

**Slug Analysis:**
- Current slug: `[slug].mdx`
- Contains keyword: ✅/❌
- Format correct: ✅/❌ (lowercase, hyphens, no special chars)

**Incoming Links Found:**
1. `/concepts/[other-concept]` → Links to this page in [section]
2. `/concepts/[other-concept]` → Links in Related Concepts

**If orphan page, add links from:**
- [Suggested concept page] in [section]
- [Suggested concept page] in Related Concepts

---

## Priority Fixes

### High Priority (Do First)

1. **[Issue]**
   - Current: [what it is now]
   - Recommended: [what it should be]
   - Impact: [why this matters]

2. **[Issue]**
   - Current: [what it is now]
   - Recommended: [what it should be]
   - Impact: [why this matters]

### Medium Priority

1. **[Issue]**
   - Recommendation: [fix]

### Low Priority (Nice to Have)

1. **[Issue]**
   - Recommendation: [fix]

---

## Competitive Analysis (Optional)

**Top-Ranking Pages for "[primary keyword]":**

1. **[Competitor 1 - URL]**
   - What they do well: [observation]
   - Word count: ~X,XXX

2. **[Competitor 2 - URL]**
   - What they do well: [observation]
   - Word count: ~X,XXX

**Our Advantages:**
- [What we do better]

**Gaps to Fill:**
- [What we're missing that competitors have]

---

## Implementation Checklist

After making fixes, verify:

- [ ] Title is 50-60 characters with keyword and hook
- [ ] Description is 150-160 characters with action word and value
- [ ] Primary keyword in title, description, first 100 words, and H2
- [ ] Opens with question hook
- [ ] Code example in first 200 words
- [ ] "What you'll learn" Info box present
- [ ] Paragraphs are 2-4 sentences
- [ ] 1,500+ words total
- [ ] Key terms bolded on first mention
- [ ] 40-60 word definition for featured snippet
- [ ] At least one question-format H2
- [ ] 3-5 internal links with descriptive anchor text
- [ ] Prerequisites in Warning box (if applicable)
- [ ] Related Concepts section has 4 cards
- [ ] Single H1 per page (title only)
- [ ] URL slug contains primary keyword
- [ ] Page linked from at least one other concept page
- [ ] All fixes implemented and verified

---

## Final Recommendation

**Ready to Publish:** ✅ Yes / ❌ No - [reason]

**Next Review Date:** [When to re-audit, e.g., "3 months" or "after major update"]

快速参考

字符数
元素理想长度
标题50-60 个字符
Meta 描述150-160 个字符
定义段落40-60 个词
关键词密度
  • 每 1,000 个词中,完全匹配的短语不要超过 3-4 次
  • 自然地使用不同形式(例如,"closures"、"closure"、"JavaScript closures")
内容长度
长度评估
<1,000 个词内容过少——增加深度
1,000-1,500最低可行
1,500-2,500良好
2,500-4,000优秀
>4,000考虑拆分

总结

审核概念页面的 SEO 时:

  1. 确定目标关键词,使用该概念的关键词集群
  2. 检查标题标签——50-60 个字符,关键词靠前,包含引导语,以 "JavaScript" 结尾
  3. 检查 Meta 描述——150-160 个字符,包含行动词、关键词和具体价值
  4. 核实关键词位置——标题、描述、前 100 个词和 H2 标题
  5. 审核内容结构——问题式引入、较早出现代码、Info 信息框、短段落
  6. 针对精选摘要进行优化——40-60 个词的定义、编号步骤、表格
  7. 检查内部链接——3-5 个链接、优质锚文本、Related Concepts 部分
  8. 生成报告——记录评分、问题和按优先级排列的修复项

请记住: SEO 不是为了操纵搜索引擎,而是为了让需要相关内容的开发者更容易找到它。每项优化也应改善读者体验。

评论

支持 Markdown