SEO 关键词密度优化与页面审计
将页面关键词密度优化至 5%,确保页面内容丰富(800-1000 单词),并执行完整的 SEO 审计检查,提升搜索引擎排名。
核心目标
| 指标 | 目标值 | 说明 |
|---|---|---|
| 页面单词数 | 800-1000 词 | 内容丰富的页面更受搜索引擎青睐 |
| 关键词密度 | 3-5% | 自然融入,避免堆砌 |
| SEO 审计 | 10/10 | 完整的技术 SEO 合规 |
输入参数
- 页面路径: 页面组件路径或翻译 JSON 文件路径
- 关键词: 目标 SEO 关键词(支持多个,用逗号分隔)
工作流程
1. 收集页面文本
根据页面路径,收集所有相关文本内容:
对于 TSX/JSX 页面组件:
- 提取 JSX 中的静态文本
- 提取
t()或useTranslations调用的翻译键 - 找到对应的翻译 JSON 文件
对于翻译 JSON 文件:
- 读取所有文本值
- 忽略键名,只统计值
2. 计算当前密度
关键词密度 = (关键词出现次数 / 页面总词数) × 100%
词数统计规则:
- 英文:按空格分词
- 中文:按字符计数,每个汉字算一个词
示例:
- 页面总词数:200
- 关键词 "video editor" 出现 3 次
- 当前密度:3 / 200 × 100% = 1.5%
3. 检查页面内容量
目标单词数:800-1000 词
搜索引擎偏好内容丰富、有深度的页面。单词数过少的页面(< 500 词)通常被视为"薄内容"(thin content),难以获得良好排名。
| 状态 | 单词数 | 行动 |
|---|---|---|
| ❌ 不足 | < 500 | 需要大幅扩充内容 |
| ⚠️ 偏少 | 500-799 | 建议增加 200-300 词 |
| ✅ 理想 | 800-1000 | 保持现状 |
| ✅ 丰富 | > 1000 | 可接受,注意可读性 |
内容扩充策略:
- 添加 FAQ 章节 - 每个 Q&A 约 50-80 词
- 扩展功能描述 - 详细说明每个功能的用途和优势
- 添加使用场景 - 描述不同用户群体的使用方式
- 添加 How-to 步骤 - 分步骤教程增加可读性
- 添加对比说明 - 与竞品或传统方式对比
- 添加用户评价/案例 - 增加社会证明
4. 计算关键词目标增量
目标出现次数 = 页面总词数 × 5% = 页面总词数 × 0.05
需要增加次数 = 目标出现次数 - 当前出现次数
5. 优化策略
按优先级执行以下优化:
A. 自然融入现有文本 (优先)
在不改变语义的前提下,将关键词融入现有句子:
// 优化前
"description": "Create stunning visuals with our tool"
// 优化后 (关键词: video editor)
"description": "Create stunning visuals with our video editor tool"
B. 增强描述文本
扩展简短描述,自然加入关键词:
// 优化前
"feature_1": "Fast processing"
// 优化后 (关键词: video editor)
"feature_1": "Fast video processing with our professional video editor"
C. 添加新内容段落
在适当位置添加包含关键词的新内容:
- FAQ 问答
- 功能描述
- 使用场景说明
- SEO 优化段落
6. 优化原则
- 保持自然: 关键词必须读起来自然流畅,避免堆砌
- 语义相关: 只在语义相关的位置添加关键词
- 分布均匀: 关键词应均匀分布在页面各处
- 避免过度: 单个句子最多包含 1-2 次关键词
- 变体使用: 适当使用关键词变体(复数、同义词)
- 内容深度: 优先通过增加有价值内容来达到词数目标,而非简单堆砌
7. 输出格式
完成优化后,输出:
- 页面单词数: 优化前 → 优化后(目标 800-1000)
- 关键词密度: 优化前 → 优化后(目标 3-5%)
- 修改摘要: 列出所有修改的文件和位置
- 修改详情: 使用 Edit 工具应用所有更改
示例
输入:
页面路径: /your-page-slug
关键词: your main keyword, secondary keyword
分析输出:
页面分析:
- 页面组件: src/app/[locale]/(landing)/your-page-slug/page.tsx
- 翻译文件: src/config/locale/messages/en/your-page.json
内容量检查:
- 当前总词数: 450 词 ⚠️ 偏少(目标 800-1000)
- 需要增加: 约 350-550 词
关键词密度检查:
- "your main keyword" 出现: 5 次 (1.1%)
- "secondary keyword" 出现: 2 次 (0.4%)
- 当前综合密度: 1.5%
- 目标密度: 3-5%
优化计划:
1. 添加 FAQ 章节(6 个问题,约 400 词)
2. 扩展功能描述(每个功能 +50 词)
3. 添加使用场景说明(约 150 词)
4. 在各处自然融入关键词
5. 预计优化后: 950 词,密度 4.2%
注意事项
- 目标密度 5% 是建议值,可根据实际情况调整至 3-7%
- 过高密度可能被搜索引擎判定为关键词堆砌
- 优先优化 title、description、h1-h3 等权重较高的位置
- 中文内容的关键词密度计算需考虑分词差异
SEO 审计检查清单
在优化关键词密度的同时,执行以下 SEO 审计检查:
检查项目
| # | 检查项 | 要求 | 检查方法 |
|---|---|---|---|
| 1 | 页面内容量 | 800-1000 词,避免薄内容 | 统计页面可见文本词数 |
| 2 | Canonical URL | 已设置且指向正确页面 | 检查 <link rel="canonical"> 标签 |
| 3 | Meta Title | 长度 40-60 字符,包含主要关键词 | 检查 <title> 或 metadata.title |
| 4 | Meta Description | 长度 120-160 字符,吸引人且包含关键词 | 检查 <meta name="description"> |
| 5 | H1 标签 | 存在且唯一,包含主要关键词 | 页面只能有一个 H1 |
| 6 | H2/H3 层级 | 层级结构合理,不跳级 | H2 下才能有 H3 |
| 7 | 图片 Alt Text | 所有图片都有描述性 alt 属性 | 检查 <img alt=""> |
| 8 | Open Graph 标签 | og:title, og:description, og:image 完整 | 检查 <meta property="og:*"> |
| 9 | Twitter Card 标签 | twitter:card, twitter:title, twitter:description 完整 | 检查 <meta name="twitter:*"> |
| 10 | Hreflang 标签 | 包含所有支持的语言版本 | 检查 <link rel="alternate" hreflang=""> |
| 11 | 可索引性 | 页面可被搜索引擎索引 | 无 noindex 标签,robots.txt 未阻止 |
检查方法 (Next.js App Router)
1. Canonical URL
// 在 page.tsx 或 layout.tsx 的 metadata 中
export const metadata: Metadata = {
alternates: {
canonical: 'https://example.com/your-page-slug',
},
};
2. Meta Title (40-60 字符)
export const metadata: Metadata = {
title: 'Free Video Thumbnail Generator - Create Custom Thumbnails', // 55 字符
};
3. Meta Description (120-160 字符)
export const metadata: Metadata = {
description: 'Generate professional video thumbnails instantly. Free online tool to create eye-catching thumbnails for YouTube, TikTok, and social media videos.', // 152 字符
};
4. H1 标签检查
// 确保页面只有一个 H1
<h1>{t('hero.title')}</h1>
// 其他标题使用 H2, H3
5. 标题层级结构
H1 → 页面主标题(唯一)
H2 → 主要章节
H3 → 子章节
H3 → 子章节
H2 → 主要章节
6. 图片 Alt Text
<Image
src="/thumbnail-example.png"
alt="Video thumbnail generator showing YouTube thumbnail preview"
/>
7. Open Graph 标签
export const metadata: Metadata = {
openGraph: {
title: 'Your Page Title',
description: 'Your page description',
images: [{ url: '/og-image.png', width: 1200, height: 630 }],
type: 'website',
locale: 'en_US',
siteName: 'Your Site Name',
},
};
8. Twitter Card 标签
export const metadata: Metadata = {
twitter: {
card: 'summary_large_image',
title: 'Your Page Title',
description: 'Your page description',
images: ['/twitter-image.png'],
},
};
9. Hreflang 标签
export const metadata: Metadata = {
alternates: {
canonical: 'https://example.com/your-page-slug',
languages: {
'en': 'https://example.com/en/your-page-slug',
'zh': 'https://example.com/zh/your-page-slug',
'x-default': 'https://example.com/your-page-slug',
},
},
};
10. 可索引性检查
// 确保没有设置 noindex
export const metadata: Metadata = {
robots: {
index: true,
follow: true,
},
};
// 检查 robots.txt 未阻止该路径
// public/robots.txt
审计报告格式
完成 SEO 审计后,输出检查报告:
SEO 审计报告 - /your-page-slug
==========================================
⚠️ 页面内容量: 450 词(目标 800-1000)
→ 建议:添加 FAQ、扩展功能描述
✅ Canonical URL: https://example.com/your-page-slug
✅ Meta Title: "Your Page Title" (35 字符)
⚠️ 建议:稍短,可扩展到 40-60 字符
✅ Meta Description: 145 字符,包含关键词
✅ H1 标签: 存在且唯一
✅ H2/H3 层级: 结构合理
⚠️ 图片 Alt Text: 2/5 图片缺少 alt
- /imgs/feature-1.png 缺少 alt
- /imgs/feature-2.png 缺少 alt
✅ Open Graph: 完整
✅ Twitter Card: 完整
✅ Hreflang: en, zh, x-default
✅ 可索引: 是
总分: 8/11
需要修复: 页面内容量、图片 Alt Text
更多 AI SEO 技能详见:https://domainrank.app/ai-seo-skills
自动修复
对于可自动修复的问题,提供修复方案:
- 页面内容量不足: 添加以下内容模块
- FAQ 章节(6-8 个问题,约 400-500 词)
- 功能详细描述(约 200 词)
- 使用场景/教程(约 150 词)
- 对比说明(约 100 词)
- Meta Title 过短: 建议扩展文案
- 缺少 Alt Text: 根据图片用途生成描述
- 缺少 OG/Twitter 标签: 复用 meta title/description
- 缺少 Hreflang: 根据项目支持的语言自动生成
内容扩充模板
当页面单词数不足时,可使用以下模板扩充内容:
FAQ 模板(每个 Q&A 约 50-80 词)
{
"faq": {
"title": "Frequently Asked Questions",
"items": [
{
"question": "What is [product name]?",
"answer": "[Product name] is a [category] tool that helps you [main benefit]. Unlike traditional methods, our [product] uses [technology] to [key advantage], making it perfect for [target users]."
},
{
"question": "How do I use [product name]?",
"answer": "Using [product name] is simple: 1) [Step 1], 2) [Step 2], 3) [Step 3]. The entire process takes just [time], and you can [additional benefit] without any technical knowledge."
},
{
"question": "Is [product name] free to use?",
"answer": "[Product name] offers a free tier that includes [free features]. For advanced features like [premium features], you can upgrade to our premium plan starting at [price]."
}
]
}
}
功能描述模板(每个功能约 60-80 词)
{
"features": {
"title": "Key Features",
"items": [
{
"title": "[Feature Name]",
"description": "Our [feature name] capability allows you to [action] with unprecedented [quality/speed/ease]. Whether you're [use case 1] or [use case 2], this feature ensures [benefit]. Powered by [technology], it delivers [specific result] in just [time/clicks]."
}
]
}
}
使用场景模板(约 150-200 词)
{
"useCases": {
"title": "Who Uses [Product Name]?",
"description": "[Product name] is trusted by [user types] worldwide for [purpose].",
"items": [
{
"type": "Content Creators",
"description": "YouTubers and social media influencers use [product] to [specific use]. This helps them [benefit] and [result]."
},
{
"type": "Businesses",
"description": "Marketing teams rely on [product] to [specific use]. The result is [benefit] that drives [business outcome]."
},
{
"type": "Educators",
"description": "Teachers and trainers leverage [product] to [specific use], making [subject] more engaging for their students."
}
]
}
}