mcpField
S
seo-competitor-gap-analysis

seo-competitor-gap-analysis

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

关于 seo-competitor-gap-analysis

这项营销技能可查找竞争对手排名进入前 20、而目标域名尚未排名的关键词,面向 SEO 团队,帮助筛选并排序机会,提出内容行动建议。

主要功能

  1. 01查找竞争对手关键词差距
  2. 02发现或确认竞争对手
  3. 03按搜索量、难度和意图筛选
  4. 04评估并排列机会优先级
  5. 05将关键词映射到内容行动

适用场景

  1. 01识别域名缺失的排名关键词
  2. 02优先处理可争取的关键词机会
  3. 03确定新建或更新哪些页面

MCP 相关

需要连接 SE Ranking MCP 服务,并使用其域名与关键词数据工具发现竞争对手、比较排名关键词。

安装

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

$npx skills add https://github.com/seranking/seo-skills --skill seo-competitor-gap-analysis

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

详细介绍

示例输出:examples/seo-competitor-gap-analysis-wix-com-20260514/REPORT.md

竞争对手差距分析

找出竞争对手排名进入前 20、而你的域名没有排名的具体关键词,并按商业价值和实际获取难度排序。

前提条件

  • 已连接 SE Ranking MCP 服务。
  • 用户提供:(a) 目标域名;(b) 3 到 5 个竞争对手域名(或请此技能自动发现);(c) 市场所在国家/地区(默认:us),以及可选筛选条件(最低搜索量、最高 KD、搜索意图)。

流程

  1. 验证或发现竞争对手 DATA_getDomainCompetitors

    • 如果用户未提供竞争对手,则获取目标域名在目标市场中排名最高的 5 个自然搜索竞争对手。
    • 将列表展示给用户,并请其确认或修改后再继续。
    • **注意:**上游 API 不支持 limit/offset,因此此调用会返回完整数据集(热门域名约 60 KB),MCP 执行环境会将其写入文件。读取该文件路径,解析 {data: [...]} JSON,按 common_keywords 降序排序,并取前 5 个。
  2. 获取竞争对手的关键词集 DATA_getDomainKeywords

    • 对每个竞争对手,获取其在目标国家/地区排名前 20 的关键词。
    • 保存每个竞争对手的关键词列表。
  3. 获取目标域名的关键词集 DATA_getDomainKeywords

    • 获取目标域名在目标国家/地区的所有排名关键词(不限排名位置)。
    • 将此作为排除集。
  4. 计算差距 DATA_getDomainKeywordsComparison(交叉核验)

    • 找出至少一个竞争对手排名前 20、但目标域名完全没有排名的关键词。
    • 使用对比端点进行交叉核验。
  5. 筛选和细分

    • 按用户指定的搜索量、KD 和搜索意图筛选。
    • 按搜索意图细分:信息型、商业型、交易型、导航型。
    • 按竞争情况细分:有多少个竞争对手为每个差距关键词排名。
  6. 评分和确定优先级

    • 为每个差距关键词评分:流量潜力(搜索量 × 点击率模型)+ 搜索意图权重 + KD 倒数。
    • 列出排名最高的 50 个机会,并为每个关键词说明理由。
  7. 制定内容行动方案

    • 为每个优先机会推荐:撰写新文章、扩充现有页面、更新现有页面、程序化模板。
    • 标记快速见效机会:竞争对手排名页面内容较单薄(根据 URL 模式和内容长度启发式检测)。

输出格式

创建文件夹 seo-competitor-gap-analysis-{target-slug}-{YYYYMMDD}/,其中包含:

seo-competitor-gap-analysis-{target-slug}-{YYYYMMDD}/
├── REPORT.md                                (synthesised report — primary deliverable)
├── gaps.csv                                 (full gap list — load-bearing CSV the writers/planners paste into briefs)
└── evidence/
    ├── 01-competitors.md                    (competitor list / discovery — raw step output)
    ├── 02-competitor-keywords-{domain}.md   (one per competitor — raw step output)
    ├── 03-target-keywords.md                (target's existing ranking set — raw step output)
    └── 04-gap-raw.md                        (human-readable full gap list before filtering — raw step output)

顶层文件:REPORT.md + gaps.csv。编号步骤文件会在 evidence/ 中保留原始 API 输出,以便复现。

REPORT.md 按以下结构编写:

# Competitor Gap: {target}
Market: {country}
Competitors analysed: {list}

## Summary
- Competitor keywords in top 20: {n}
- Target keywords overall: {n}
- Gap keywords (opportunities): {n}
- Gap traffic potential: ~{n}/mo

## Top 50 opportunities

### Informational intent
| # | Keyword | Volume | KD | Competitors ranking | Action | Score |
|---|---|---|---|---|---|---|
| 1 | {kw} | {n} | {n} | {3 of 5} | New article | {score} |
| 2 | ... | ... | ... | ... | ... | ... |

### Commercial intent
| # | Keyword | Volume | KD | Competitors ranking | Action | Score |
|---|---|---|---|---|---|---|
...

### Transactional intent
...

## Quick wins (top 10)
Keywords where competitors rank in positions 5 to 20 with thin content, low DT, or old dates.

| # | Keyword | Weakest competitor position | Suggested angle |
|---|---|---|---|
| 1 | {kw} | example.com at #14 (2022 article, 800 words) | Fresh, comprehensive guide |

## Recommended next steps
1. Run `content-brief` on the top 3 opportunities to generate writer-ready briefs.
2. Run `keyword-cluster-planner` on the full gap list to build a sequencing plan.
3. Add the gap keywords to an SE Ranking project for rank tracking once content ships.

## Files
- gaps.csv: full gap list for spreadsheet analysis
- evidence/04-gap-raw.md: human-readable full gap list before filtering

gaps.csv 列: keyword,volume,kd,cpc,intent,competitors_ranking,top_competitor_position,target_position,action,score

提示

  • Data API 速率限制:每秒 10 个请求。对于大型网站,DATA_getDomainKeywords 可能需要大量分页;除非用户明确要求完整数据集,否则应设置上限(例如每个域名取排名靠前的 1,000 个关键词)。
  • 运行前调用 DATA_getCreditBalance。对 10 个种子词进行完整分析通常消耗 30–80 个 credits;20 个种子词可能超过 150 个。
  • competitors_ranking 数量是判断机会是否切实可行的最佳信号。5 个竞争对手中有 4 个排名的关键词是已验证的机会;只有 1 个排名的关键词可能只是噪声。
  • 除非用户明确提出要求,否则不要建议争取竞争对手的品牌关键词。转而竞争“竞争对手品牌评价”是可行策略,但仅限用户选择此方向时。
  • 如果许多差距关键词围绕同一主题聚集,应建议创建中心页及主题集群,而不是撰写 50 篇独立文章。
  • 自然地将此技能与 content-brief 和 keyword-cluster-planner 串联起来。在输出的“建议的后续步骤”部分提及它们。

评论

支持 Markdown