关于 seo-plan
seo-plan 是供 SEO 团队规划指定周期内域名 SEO 路线图的技能。它结合竞争与站点数据及专项审计结果,安排分阶段任务、负责人、依赖关系和可衡量目标。
主要功能
- 01建立域名与竞争对手基线
- 02评估技术、内容、主题及 AI 搜索维度
- 03按业务类型调整任务模板
- 04将工作划分为三个阶段
- 05规划负责人、依赖项与关键路径
- 06设定先行和滞后指标
适用场景
- 01规划下季度 SEO 工作
- 02安排技术修复与内容任务顺序
- 03为各阶段分配负责人和目标
- 04依据专项审计结果制定路线图
MCP 相关
需要连接 SE Ranking MCP 服务,以获取域名、竞争对手、权威度和反向链接数据。也可使用 seo-firecrawl 和下游专项技能的输出。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ seranking/ seo-skills --skill seo-plan安装后在 Claude Code 中输入/seo-plan确认已加载。
详细介绍
SEO 计划
为一个域名制定分阶段 SEO 路线图。输出内容包括单个 PLAN.md 文件以及各阶段的交付物文件夹,每个阶段对应一个季度(或 90 天冲刺),并明确列出目标、工作项、负责人和指标。计划以网站的实际竞争地位为依据,而不是通用清单。
这是用于回答“下个季度我们该做什么”的技能。它不会取代专业技能,而是将它们组合起来,再对其输出进行排序。
前提条件
- 已连接 SE Ranking MCP 服务。
- 可使用
seo-firecrawl进行网站映射和页面头部元数据分析(可选,但建议使用)。 - 用户提供:
- 目标域名。
- 可选:目标国家/地区(默认为
us)、业务类型(saas / ecommerce / local / publisher / agency / b2b——若未提供,则根据域名自动检测)、规划周期(默认为 90 天,可选:30 / 90 / 180 / 365)。 - 可选:已知限制(工程产能、内容预算、不允许更改 JS 渲染等)。
流程
-
Google 数据可用性检查(仅供参考,不会阻止流程)
- 运行
python3 scripts/google_auth.py --check --json。如果tier >= 0,下游专业技能(technical-audit、page、content-audit、drift)会使用真实的 Google 字段数据丰富其输出,seo-plan会在第 4 步中读取这些更丰富的输出。计划本身不会直接调用seo-google,而是输出一条提示,让用户知道可以选择使用此功能:
> Google APIs detected (tier {n}, available: {comma-list}). Downstream specialist > skills (seo-technical-audit, seo-page, seo-content-audit, seo-drift) will enrich > their outputs with real CrUX / GSC / GA4 / URL Inspection data automatically.- 如果缺少凭据,计划将继续使用仅来自 SE Ranking 的数据,并输出:
> Google APIs not configured. To enrich downstream phases with real CWV / GSC / > GA4 / indexation data, run `bash extensions/google/install.sh`. Plan continues > with SE Ranking data only.- 这是尽可能轻量的自动启动——
seo-plan不会自行运行seo-google(把摩擦转移到单个命令上,正是我们在EVAL_RESULT_v2.md中批评的反模式);它会提示用户有此选项,让用户可以在专业技能运行前选择启用或不启用。完整原因请参阅skills/seo-google/references/cross-skill-integration.md§「seo-plan」。
- 运行
-
检测业务类型
DATA_getDomainOverviewWorldwide,并在可用时使用 Firecrawl 对主页执行scrape- 检查标题、H1、JSON-LD 类型和主要导航模式。
- 分类为以下类型之一:
saas、ecommerce、local、publisher、agency、b2b-services、marketplace。如果无法确定,请向用户询问一次。 - 业务类型决定模板选择(参见第 6 步)。
-
域名基准数据
DATA_getDomainOverviewWorldwide、DATA_getDomainOverviewHistory、DATA_getDomainAuthority、DATA_getBacklinksSummary- 收集:自然搜索关键词、自然搜索流量估算、DA、反向链接档案健康状况、主要国家/地区,以及过去 12 个月的流量趋势。
- 这将作为“当前状况”的基准。
-
竞争格局
DATA_getDomainCompetitors- 获取排名靠前的 5–10 个自然搜索竞争对手。
- 对每个竞争对手收集:自然搜索关键词、流量占比、DA,以及其占据优势的主要主题集群。
- 找出用户在 SERP 上实际面临的竞争对手(这往往与用户认为的不同)。
-
拉取专业输入 — 先确认再分派模式
- 4a. 检测现有输出。 在当前工作目录中,查找符合以下模式且日期在最近 30 天内的文件夹(将超过 30 天的文件夹视为过期,并重新列为缺失项):
seo-technical-audit-*seo-content-audit-*seo-competitor-gap-analysis-*seo-ai-search-share-of-voice-*seo-backlinks-profile-*
- 对每个存在的文件夹,读取其主要交付物(分别为
TECH-AUDIT.md、VERDICT.md汇总、GAPS.md、REPORT.md、PROFILE.md)。 - 4b. 列出缺失项。 对于没有新鲜输出的每项前置条件,查阅对应专业工具自身的 SKILL.md,获取其积分成本(构建提示词时阅读这些文件 — 具体数值可能会变化):
seo-technical-audit→ 新审计的成本随页面数量而异;现代信号步骤约需 6 个 Firecrawl 积分。如果没有近期缓存的审计结果,请注明“视情况而定;检查页面数量”。seo-content-audit→ 约需 10–15 个 SE Ranking 积分,以及每个审计 URL 1 个 Firecrawl 积分(默认上限为 50;对于 seo-plan 的 top-10-pages 范围,预计约需 10–15 个 SE Ranking 积分 + 约 10 个 Firecrawl 积分)。seo-competitor-gap-analysis→ 对 10 个种子关键词,约需 30–80 个积分。seo-ai-search-share-of-voice→ 约需 10–20 个积分(排行榜 + 约 20 个提示词 × N 个域名)。seo-backlinks-profile→ 约需 25–40 个 SE Ranking 积分。
- 4c. 打印确认提示(单个区块,格式必须完全如下,缺失项列表仅包含实际缺失的项目):
To produce a defensible plan, seo-plan needs outputs from N specialists not yet run for {domain}: - seo-technical-audit (~{N} credits) - seo-content-audit (~{N} credits) - seo-competitor-gap-analysis (~{N} credits) - seo-ai-search-share-of-voice (~{N} credits) - seo-backlinks-profile (~{N} credits) Total estimated cost: ~{N} credits. Run them now in this session? (y/N — default N preserves the existing v2.6 behavior of asking the user to run them manually first)- 4d. 如果用户回答
y: 按以下顺序分派所有缺失的专业工具,并在每项完成后读取其主要交付物:- 并行批次(相互独立):
seo-technical-audit、seo-competitor-gap-analysis、seo-ai-search-share-of-voice、seo-backlinks-profile。 - 批次完成后按顺序执行:
seo-content-audit— 其 top-10-pages 范围取决于是否已知来自seo-competitor-gap-analysis/DATA_getDomainKeywords的热门流量页面,因此必须在缺口分析批次完成后运行。 - 每个专业工具都会自行执行
DATA_getCreditBalance预检,并在继续前告知成本(这是其现有行为 —seo-plan不会绕过此步骤)。如果任何专业工具因积分余额检查而中止,请向用户说明中止情况,并由用户决定是充值还是跳过。 - 每次分派后,按照步骤 4a 的相同方式读取新文件夹。
- 并行批次(相互独立):
- 4e. 如果用户回答
N(或其他任何内容 — 默认值为N): 采用现有的 v2.6 行为 — 计划从 Phase 0: Discovery 开始,并将运行每个缺失的专业工具作为第一个冲刺的工作。这能让用户掌控积分支出,也适用于应单独安排或分批执行专业工具的环境。
- 4a. 检测现有输出。 在当前工作目录中,查找符合以下模式且日期在最近 30 天内的文件夹(将超过 30 天的文件夹视为过期,并重新列为缺失项):
-
评估四大支柱
- 技术健康度(0–100):根据
seo-technical-audit中按严重程度加权的问题数量计算。 - 内容质量(0–100):所有已审计页面的 E-E-A-T+CITE 得分平均值。
- 主题权威度(0–100):相对于前 3 个竞争对手的主题集群覆盖率。
- AI 搜索就绪度(0–100):相对于 SoV 竞争对手的引用份额。
- 得分最低的支柱将成为第一阶段的主导主题。
- 技术健康度(0–100):根据
-
应用业务类型模板(模板有所不同——选择一个并进行参数化)
- saas → 产品主导的支柱内容 + 集成页面 + 对比/替代方案 + JTBD 内容。
- ecommerce → 类别页面规范 + 产品结构化数据 + 分面导航索引规则 + 评论汇总。
- local → GBP 优化 + 地点页面 + 引用清理(注意:我们目前还没有
seo-local技能——请将其标记为手动子步骤或外部任务)。 - publisher → 主题集群 + 作者 E-E-A-T + 内容更新频率 + AI 搜索引用。
- agency → 服务页面 + 案例研究 + 对比内容 + 潜在客户开发落地页(使用
seo-agency-landing-page)。 - b2b-services → 行业专属落地页 + 思想领导力主题集群 + 决策阶段内容。
- 模板提供默认工作项类别;步骤 5 中得分最低的支柱会影响这些类别的权重。
-
规划阶段——在规划周期内划分为三个阶段,每个阶段包含目标、工作项、负责人和指标
- 阶段 1(规划周期第 1–4 周):打好基础。 修复阻碍其他工作的技术问题,记录基线偏移快照,并根据
seo-page的评估结果快速更新 1–2 篇内容。 - 阶段 2(第 5–8 周):构建。 根据
seo-keyword-cluster构建内容层级(1 篇支柱内容 + 3–7 篇分支内容),根据seo-schema修复结构化数据;如果竞争态势支持,则根据seo-competitor-pages创建对比页面。 - 阶段 3(第 9–12 周):积累成效并衡量。 通过
seo-geo检查重点页面的 AI 搜索就绪情况,根据seo-backlink-gap启动反向链接差距拓展,通过seo-drift compare进行第二次偏移对比,并复盘调整。 - 对于更长的规划周期(180/365 天),使用更新后的输入重复阶段 2 和 3,并每季度复盘一次。
- 每个工作项都标记产出该项的技能:
seo-content-brief、seo-schema、seo-page等。
- 阶段 1(规划周期第 1–4 周):打好基础。 修复阻碍其他工作的技术问题,记录基线偏移快照,并根据
-
选择指标
- 滞后指标(每季度): 自然流量、排名进入前 10 的自然关键词、自然转化。
- 领先指标(每周/每月): 技术问题数量、E-E-A-T 评估得分 ≥ 70 的页面数、AI 搜索引用数、引用域名数。
- 每个阶段各选一个领先指标和一个滞后指标。将每项指标与当前值(来自步骤 2)及阶段结束目标关联。目标必须有依据——说明基准转化率。
-
排序与依赖关系
- 构建依赖关系图:例如,“重写主题集群 A 的支柱内容”依赖于“修复 /blog 模板中的
noindex”,后者依赖于“运行seo-technical-audit”。 - 明确关键路径。不在关键路径上的事项可以调整;关键路径上的事项会阻塞阶段进展。
- 构建依赖关系图:例如,“重写主题集群 A 的支柱内容”依赖于“修复 /blog 模板中的
-
综合生成
PLAN.md
输出格式
文件夹 seo-plan-{domain-slug}-{YYYYMMDD}/:
seo-plan-{domain-slug}-{YYYYMMDD}/
├── PLAN.md (synthesis — primary deliverable; inlines 01-baseline, 02-competitive-frame, 07-dependencies, 08-metrics as sections)
├── 04-phase-1-foundations.md (load-bearing — owners share single phase files in standups)
├── 05-phase-2-build.md (load-bearing — owners share single phase files)
├── 06-phase-3-compound.md (load-bearing — owners share single phase files)
└── evidence/
├── 01-baseline.md (where you are now — raw data inlined into PLAN.md)
├── 02-competitive-frame.md (who you're actually competing with — raw data inlined into PLAN.md)
├── 03-pillar-scores.md (technical / content / topical / AI Search — scoring math)
├── 07-dependencies-and-critical-path.md (dependency map — inlined as PLAN.md section)
└── 08-metrics.md (metric tables — inlined as PLAN.md section)
顶层包含:PLAN.md 和三个阶段文件(04/05/06)。负责人会在站会中分享单个阶段文件,因此阶段文件保留在顶层,不要合并到 PLAN.md 中。原样重复的部分(基线、竞争态势、依赖关系、指标)会内嵌在 PLAN.md 中,但原始步骤文件会与支柱评分计算过程一起保存在 evidence/ 中。
PLAN.md 采用以下结构:
# SEO Plan: {domain}
> Plan dated {YYYY-MM-DD} · Horizon: {n} days · Business type: {type} · Country: {country}
## Where you are
- Organic keywords: {n} (trend: {↑↓→ over 12mo})
- Organic traffic estimate: {n}/mo
- Domain authority: {n}
- Referring domains: {n}
- Pillar scores: Technical {n}/100 · Content {n}/100 · Topical {n}/100 · AI Search {n}/100
## Lead theme
{The lowest pillar from step 5, plus a one-line "why this is the constraint."}
## Top 5 competitors
| Domain | DA | Organic kw | Top cluster they own |
|---|---|---|---|
| {comp} | {n} | {n} | {cluster} |
## Phase 1 — Foundations (weeks 1–4)
**Goal:** {1-line outcome, e.g. "remove technical debt blocking content investment"}
| # | Work item | Skill / source | Owner | Effort | Phase-end metric |
|---|---|---|---|---|---|
| 1.1 | {item} | `seo-technical-audit` follow-up | {role} | {S/M/L} | {metric} |
| 1.2 | ... | | | | |
**Phase exit criteria:** {what must be true to declare Phase 1 done}
## Phase 2 — Build (weeks 5–8)
{same shape}
## Phase 3 — Compound + measure (weeks 9–12)
{same shape}
## Critical path
{Ordered list of work items that block subsequent phases. Anything not on this list is moveable.}
## Metrics
| Metric | Type | Current | Phase 1 target | Phase 2 target | Phase 3 target |
|---|---|---|---|---|---|
| Organic traffic | Lagging | {n} | {n} | {n} | {n} |
| Pages with E-E-A-T ≥ 70 | Leading | {n} | {n} | {n} | {n} |
| Technical issue count | Leading | {n} | {n} | {n} | {n} |
| AI Search citation count | Leading | {n} | {n} | {n} | {n} |
| Referring domains | Leading | {n} | {n} | {n} | {n} |
## Constraints / caveats
{User-supplied constraints, plus anything the data flags — e.g., "DA gap to top competitor is 25 points; expect 6+ months for keyword parity."}
## Recommended next step
Run Phase 1 work items. After week 4, run `seo-drift compare` against the baseline captured today, then adjust Phase 2 scope.
提示
- 默认“不自动分派”。 步骤 4c 中的确认提示默认选项为
N。如果用户直接按 Enter(或回答任何非明确的y),seo-plan将回退到 v2.6 的 Phase-0 行为,把缺少的专家列为第一轮冲刺的工作。这能让用户掌控额度支出——当用户的 SE Ranking 预算紧张,或希望单独安排专家时,这一点很重要。 - 自动分派(
y路径)是便捷选项。 如果用户希望在一轮会话中完成计划,且能接受显示的额度估算,y路径会按步骤 4d 中所述的最优并行后串行顺序运行缺少的专家,导入其输出,然后直接进入支柱评分(步骤 5)。不会静默地重新执行:每次分派都必须通过步骤 4c 中的唯一一次确认。 - 自动分派会遵循各专家自己的额度余额预检。 每位专家都会在第一步调用
DATA_getCreditBalance,并在消耗额度前显示费用——seo-plan不会绕过这道关卡。如果某位专家在预检时中止(额度不足,或用户拒绝其内部费用提示),seo-plan会显示中止情况,并让用户选择充值、跳过该专家(将其保留为 Phase-0 工作项),或取消其余分派。 - 以低成本自动检测业务类型。 首页的
<title>、schema@type和顶部导航链接通常就足够了。只有在确实无法判断时才询问用户。 - 主导主题是得分最低的支柱。 不要挑选用户最感兴趣的支柱——应选择数据表明构成瓶颈的支柱。如果两者不一致,要明确指出这一差距。
- 即使周期为 30 天,也分为三个阶段。 压缩,而不是删减。30 天计划分为基础建设(第 1–2 周)、构建(第 2–3 周)、衡量(第 4 周)。这种结构能确保按顺序推进。
- 目标必须有依据。 不要写“第一季度自然流量翻倍”。每个目标都要关联竞争对手数据或品类基准中的基础指标。如果数据不支持某个目标,就直说并调低目标。
- 关键路径才是交付成果。 大多数团队都能做点什么,但很少有人知道什么工作会阻碍其他工作。明确展示依赖链——这正是此技能发挥价值的地方。
- 本地 SEO 是已知缺口。 如果业务类型是
local,请指出我们目前还没有seo-local技能,并建议将手动 GBP 审核列为 Phase 0 工作项。不要假装我们具备尚不具备的能力。 - 不要生成团队无法执行的工作项。 如果用户说“不允许修改 JS 渲染”,就删除相关工作项,即使它们能带来很大收益。无法落地的计划,远不如规模较小但能实际交付的计划。
- 更新频率。 90 天计划应在第 90 天重新运行,并以
seo-drift compare对照原始基线。漂移输出会重写“当前情况”部分;下游所有内容都从那里开始更新。
配合使用
- 前置技能:
seo-technical-audit、seo-content-audit、seo-competitor-gap-analysis、seo-ai-search-share-of-voice、seo-backlinks-profile— 生成输入。seo-drift baseline— 捕获用于衡量计划进展的快照。
- 后续技能:
seo-keyword-cluster— Phase 2 要求建立内容层级时使用。seo-content-brief— 用于 Phase 2 中的每篇辐射文章。seo-schema— 用于结构化数据工作项。seo-competitor-pages— 计划中包含对比内容时使用。seo-drift compare— 在阶段结束时衡量进展。seo-page— 用于 Phase 1 中对单个 URL 作出保留/更新/合并/删除的决策。