关于 seo-subdomain
seo-subdomain 是供 SEO 团队分析域名子域名结构的技能,梳理主题归属与关键词冲突。它利用 SE Ranking 数据生成含证据的报告,并建议整合、拆分或维持现状。
主要功能
- 01发现并按排名排列子域名
- 02比较流量、关键词和权威度
- 03绘制子域名主题归属图
- 04标记关键词蚕食
- 05建议整合或拆分
适用场景
- 01网站改版前审查子域名结构
- 02查找不同子域名间的内容重叠
- 03向内容团队说明主题归属
MCP 相关
需要连接 SE Ranking MCP 服务,以获取子域名、关键词、竞争对手和反向链接数据。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ seranking/ seo-skills --skill seo-subdomain安装后在 Claude Code 中输入/seo-subdomain确认已加载。
详细介绍
示例输出:examples/seo-subdomain-notion-so-20260514/SUBDOMAINS.md
子域名分析
绘制域名的子域名生态图。有哪些子域名、各自的排名关键词、彼此的重叠情况,以及整体结构是否健康或碎片化。输出:所有权地图(每个主题由哪个子域名负责)、碎片化报告,以及关于合并、拆分或维持现状的建议。
前提条件
- 已连接 SE Ranking MCP 服务。
- 用户提供:目标根域名(例如
example.com)。此技能会自动发现子域名。 - 可选:
--limit N,用于限制分析的子域名数量(默认按排名关键词数量取前 10 个)。
流程
-
验证与预检
- 规范化根域名(不含协议和
www.)。 DATA_getCreditBalance— 显示剩余积分。子域名分析需要 N × 约 5 次调用;成本随子域名数量增加。
- 规范化根域名(不含协议和
-
发现子域名
DATA_getDomainSubdomains- 列出根域名的所有子域名。
- 对每个子域名:关键词数量、流量估算值、反向链接数量。
- 按排名关键词数量降序排序。
- 应用
--limit(默认取前 10 个)。
-
各子域名概览
DATA_getDomainOverviewWorldwide- 对范围内的每个子域名:域名权重、流量估算值、自然搜索 + 付费关键词数量、主要地区。
- 以此建立基准,用于跨子域名比较。
-
各子域名的顶级关键词
DATA_getDomainKeywords- 对每个子域名:排名前 100 的自然搜索关键词及其排名、意图和流量。
- 按主题对关键词进行聚类。此技能的分组是轻量级的各子域名所有权地图,不是内容规划——按核心词 + 意图对词元分组即可。(如需完整的内容集群规划,请使用
seo-keyword-cluster;该工具现按 SERP 重叠度聚类,而非文本相似度。) - 为每个子域名列出“负责的主题”(其占主导地位的集群)和“次要主题”。
-
各子域名的竞争对手
DATA_getDomainCompetitors- 对每个子域名:按
common_keywords排序的主要自然搜索竞争对手。 - 揭示:不同子域名的竞争对手群体是否不同?(说明其业务范围确实不同。)是否存在共同竞争对手?(说明业务范围可能冗余。)
- 对每个子域名:按
-
各子域名的反向链接
DATA_getBacklinksSummary和DATA_getBacklinksRefDomains(前 20 个)- 子域名的反向链接概况通常各不相同。分别记录。
- 揭示:子域名的引荐域名群体是否存在显著差异?
-
权重分布
DATA_getDistributionOfDomainAuthority- 对每个子域名,获取引荐域名的 DA 分布。
-
检测碎片化
- 对每个主题集群,找出所有在该集群关键词中有排名的子域名。
- **碎片化信号:**至少 2 个子域名在同一个高搜索量关键词的前 50 名中排名(关键词蚕食)。
- **健康拆分:**每个子域名负责不同的主题集群,重叠最少。
-
提出建议
- **合并:**如果
blog.example.com和example.com/blog/都在同一个主题集群中排名,但都未占主导地位——选择一个作为规范归属位置。 - **拆分:**如果某个子域名为根域名的业务目标完全无关的主题排名,则值得保留并单独划分。
- **维持现状:**如果各子域名负责不同主题,且不存在关键词蚕食,则无需调整。
- **调查:**将不明确的情况标出,供人工审核。
- **合并:**如果
-
汇总
SUBDOMAINS.md
输出格式
创建文件夹 seo-subdomain-{target-slug}-{YYYYMMDD}/,其中包含:
seo-subdomain-{target-slug}-{YYYYMMDD}/
├── SUBDOMAINS.md (synthesised report + recommendations — primary deliverable)
├── 06-topic-ownership-map.md (cluster × subdomain matrix — load-bearing reference content teams brief from)
├── 07-fragmentation-flags.md (cannibalization detected — load-bearing reference for consolidation decisions)
└── evidence/
├── 01-subdomains-list.md (DATA_getDomainSubdomains — raw step output)
├── 02-overview-by-subdomain.md (per-subdomain overview rows)
├── 03-keywords-by-subdomain/
│ ├── blog-example-com.md
│ ├── docs-example-com.md
│ └── ... (one per subdomain)
├── 04-competitors-by-subdomain.md
└── 05-backlinks-by-subdomain.md
顶层文件:SUBDOMAINS.md + 06-topic-ownership-map.md + 07-fragmentation-flags.md。内容团队根据所有权地图制定简报;合并决策直接引用碎片化标记。01–05 步骤文件会在 evidence/ 中保留原始 API 输出。
SUBDOMAINS.md 遵循以下结构:
# Subdomain Analysis: {root domain}
> Snapshot dated {YYYY-MM-DD} · Subdomains analysed: {n} of {n discovered} (limit: top {limit} by keyword count)
## Subdomain inventory
| Subdomain | Keywords | Traffic est. | Backlinks | Domain authority | Top topics owned |
|---|---|---|---|---|---|
| {root} | {n} | {n}/mo | {n} | {DA} | {topics} |
| blog.{root} | {n} | {n}/mo | {n} | {DA} | {topics} |
| docs.{root} | {n} | {n}/mo | {n} | {DA} | {topics} |
| ... |
## Topic ownership map
| Topic cluster | Owned by | Also ranks (cannibalization?) |
|---|---|---|
| {topic 1} | blog.{root} (avg pos 3.2 across 47 keywords) | {root} (avg pos 12) — {⚠ cannibalization} |
| {topic 2} | docs.{root} | (none) |
| ... |
## Fragmentation flags
### {⚠ Cannibalization detected: topic = {topic X}}
- `blog.{root}` ranks {n} keywords for {topic X}, avg position {p}.
- `{root}` (root path) ranks {m} keywords for the same topic, avg position {p}.
- The two sets overlap on {k} exact keywords.
- **Recommendation:** consolidate to `blog.{root}` (the stronger ranker). 301 the root-path duplicates with intent preserved.
### ... (per fragmentation finding)
## Recommendations summary
- **Consolidate:** {n} subdomain pairs → see fragmentation flags above.
- **Split intentional and healthy:** {n} subdomains have distinct ownership; leave alone.
- **Investigate:** {n} edge cases flagged for human review.
## Risk notes
- Subdomain consolidation requires careful 301 redirect mapping; track via `seo-drift` after the migration.
- A subdomain with separate backlinks (per `evidence/05-backlinks-by-subdomain.md`) is harder to consolidate without losing link equity — plan accordingly.
## Raw data
- See per-subdomain files under `evidence/03-keywords-by-subdomain/`.
- Topic ownership matrix: `06-topic-ownership-map.md`.
提示
- 遵守速率限制。该技能每个子域名约调用 5 次。使用
--limit 10时约调用 50 次;请依次调用,控制节奏。 - 运行前调用
DATA_getCreditBalance。费用随子域名数量变化:--limit 10通常需要约 20–60 个积分;不限数量时最多可能需要 150+ 个积分。 --limit是你的好帮手。 拥有数百个子域名的大型平台无需分析每个子域名——按关键词数量排名的前 10 个通常涵盖超过 90% 的自然搜索价值。- 不要把“子域名的 DA 较低”等同于“子域名不好”。 子域名会分别积累链接,因此 DA 通常低于根域名。关键在于主题归属和关键词蚕食,而非 DA 本身。
- 整合存在风险。 将
blog.example.com通过 301 重定向到example.com/blog/可以保留大部分链接权重,但迁移期间可能损失 5–15%。迁移后使用seo-drift追踪表现。 - 如果某个子域名使用不同的平台,不要建议整合。 如果
blog.example.com使用不同的 CMS,整合的工程成本可能超过 SEO 收益。应将此作为限制条件,而非建议。 - 主题归属矩阵是最具价值的成果。用它向内容团队说明各子域名应发布哪些内容。
- 搭配
seo-page深入分析蚕食问题中标记的特定 URL。 - 搭配
seo-drift为重大重组前的子域名建立基线。