seo-plan Checked
Installation
Copy the prompt below and send it to your AI assistant (e.g. Claude Code) — it will follow the instructions and install automatically.
Install the "seo-plan" skill by following the instructions at https://skill123.me/install/seo-plan.
Run in your terminal — downloads and installs to ~/.claude/skills/.
curl -fsSL https://skill123.me/install/seo-plan.sh | bash
Download the zip and extract it into your skills directory (e.g. ~/.claude/skills/), then restart your session.
⬇ Download v1.0.0 · 7 KBNot live-tested yet — this skill is rated on static analysis only.
About this skill
Build a phased SEO roadmap for a domain — quarter-by-quarter, tied to the site's competitive position, content gaps, technical debt, and AI Search readiness. Synthesises the outputs of multiple skills (seo-technical-audit, seo-content-audit, seo-keyword-cluster, seo-competitor-gap-analysis, seo-ai-search-share-of-voice) into one site-level plan with sequencing, owners, and success metrics. Distinct from seo-keyword-cluster (keyword architecture for one topic), seo-content-brief (one article), and seo-keyword-niche (longtail content tier). Use when the user asks for an "SEO plan", "SEO strategy", "SEO roadmap", "90-day plan", "quarterly SEO plan", "site SEO strategy", or "where do we focus next".
> Example output: examples/seo-plan-wix-com-20260514/PLAN.md (../../examples/seo-plan-wix-com-20260514/PLAN.md)
SEO Plan
Produce a phased SEO roadmap for a domain. Output is a single PLAN.md plus per-phase deliverable folders, each phase scoped to a quarter (or a 90-day sprint), each with explicit goals, work items, owners, and metrics. The plan is grounded in the site's actual competitive position — not a generic checklist.
This is the "what should we work on next quarter" skill. It does not replace specialist skills — it composes them, then sequences their outputs.
Documentation
Build a phased SEO roadmap for a domain — quarter-by-quarter, tied to the site's competitive position, content gaps, technical debt, and AI Search readiness. Synthesises the outputs of multiple skills (seo-technical-audit, seo-content-audit, seo-keyword-cluster, seo-competitor-gap-analysis, seo-ai-search-share-of-voice) into one site-level plan with sequencing, owners, and success metrics. Distinct from seo-keyword-cluster (keyword architecture for one topic), seo-content-brief (one article), and seo-keyword-niche (longtail content tier). Use when the user asks for an "SEO plan", "SEO strategy", "SEO roadmap", "90-day plan", "quarterly SEO plan", "site SEO strategy", or "where do we focus next".
> Example output: examples/seo-plan-wix-com-20260514/PLAN.md (../../examples/seo-plan-wix-com-20260514/PLAN.md)
SEO Plan
Produce a phased SEO roadmap for a domain. Output is a single PLAN.md plus per-phase deliverable folders, each phase scoped to a quarter (or a 90-day sprint), each with explicit goals, work items, owners, and metrics. The plan is grounded in the site's actual competitive position — not a generic checklist.
This is the "what should we work on next quarter" skill. It does not replace specialist skills — it composes them, then sequences their outputs.
Prerequisites
- SE Ranking MCP server connected.
seo-firecrawlavailable for site mapping and head metadata (optional but recommended).- User provides:
- Target domain.
- Optionally: target country (default
us), business type (saas / ecommerce / local / publisher / agency / b2b — auto-detected from the domain if not supplied), planning horizon (default 90 days, options: 30 / 90 / 180 / 365). - Optionally: known constraints (engineering capacity, content budget, no JS-render changes allowed, etc.).
Process
View full documentation
0. **Google data availability check (advisory, not blocking)**
- Run
python3 scripts/google_auth.py --check --json. Iftier >= 0, the downstream specialist skills (technical-audit, page, content-audit, drift) will enrich their outputs with real Google field data — andseo-planingests those richer outputs in step 4. The plan itself doesn't dispatchseo-googledirectly; it prints a one-line notice so the user knows the option is on the table:
> 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.
- If creds are missing, the plan continues with SE Ranking-only data and prints:
> 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.
- This is the **lightest possible auto-spawn** —
seo-plandoesn't runseo-googleitself (transferring friction to a single command is theirs' anti-pattern we critiqued inEVAL_RESULT_v2.md); it surfaces the option so the user can opt in or out before specialist skills run. Seeskills/seo-google/references/cross-skill-integration.md§ "seo-plan" for the full rationale.
1. **Detect business type** DATA_getDomainOverviewWorldwide, plus a Firecrawl scrape of the homepage if available
- Inspect title, H1, JSON-LD types, primary nav patterns.
- Classify as one of:
saas,ecommerce,local,publisher,agency,b2b-services,marketplace. If ambiguous, ask the user once. - Business type drives template selection (see step 6).
2. **Domain baseline** DATA_getDomainOverviewWorldwide, DATA_getDomainOverviewHistory, DATA_getDomainAuthority, DATA_getBacklinksSummary
- Capture: organic keywords, organic traffic estimate, DA, backlink profile health, top countries, traffic trend over the last 12 months.
- This sets the "where you are now" anchor.
3. **Competitive frame** DATA_getDomainCompetitors
- Pull top 5–10 organic competitors.
- For each: organic keywords, traffic share, DA, top topical clusters they own.
- Identifies who the user is *actually* competing with on the SERP (often different from who they think).
4. **Pull specialist inputs — confirm-then-dispatch pattern**
- **4a. Detect existing outputs.** In the current working directory, look for any folder matching the patterns below dated within the last 30 days (treat folders older than 30 days as stale and re-list them as missing):
seo-technical-audit-*seo-content-audit-*seo-competitor-gap-analysis-*seo-ai-search-share-of-voice-*seo-backlinks-profile-*- For each present folder, ingest its primary deliverable (
TECH-AUDIT.md,VERDICT.mdrollup,GAPS.md,REPORT.md,PROFILE.mdrespectively). - **4b. Build the missing list.** For each prerequisite that did not have a fresh output, look up its credit-cost figure from the specialist's own SKILL.md (read those when forming the prompt — figures may drift):
seo-technical-audit→ varies by page count for a fresh audit; ~6 Firecrawl credits for the modern-signals step. Cite "varies; check page count" if no recent audit cached.seo-content-audit→ ~10–15 SE Ranking credits + 1 Firecrawl credit per audited URL (default cap 50; for the seo-plan top-10-pages scope, expect ~10–15 SE Ranking + ~10 Firecrawl).seo-competitor-gap-analysis→ ~30–80 credits for 10 seeds.seo-ai-search-share-of-voice→ ~10–20 credits (leaderboard + ~20 prompts × N domains).seo-backlinks-profile→ ~25–40 SE Ranking credits.- **4c. Print the confirmation prompt** (single block, exactly this shape, with the missing-list filtered to only what is actually missing):
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. If user answers
y:** dispatch each missing specialist in this order, ingesting each primary deliverable as it completes: - **Parallel batch (independent):**
seo-technical-audit,seo-competitor-gap-analysis,seo-ai-search-share-of-voice,seo-backlinks-profile. - **Sequential after the batch:**
seo-content-audit— its top-10-pages scope depends on knowing the top traffic pages fromseo-competitor-gap-analysis/DATA_getDomainKeywords, so it must run after the gap-analysis batch completes. - Each specialist runs its own
DATA_getCreditBalancepreflight and surfaces cost before proceeding (their existing behaviour —seo-plandoes not bypass it). If any specialist aborts on a credit-balance check, surface that abort to the user and let them decide whether to top up or skip. - After every dispatch, ingest the new folder the same way step 4a does.
- **4e. If user answers
N(or anything else — defaultN):** fall through to the existing v2.6 behaviour — the plan opens with **Phase 0: Discovery**, and running each missing specialist becomes the first sprint's work. This preserves the user's control over credit spend in environments where the specialists should be scheduled or batched separately.
5. **Score the four pillars**
- **Technical health** (0–100): from
seo-technical-auditseverity-weighted issue count. - **Content quality** (0–100): average E-E-A-T+CITE score across audited pages.
- **Topical authority** (0–100): cluster coverage relative to top 3 competitors.
- **AI Search readiness** (0–100): citation share vs SoV competitors.
- The lowest pillar becomes the **lead theme** for the first phase.
6. **Apply business-type template** (templates differ — pick one and parameterise)
- **saas** → product-led pillars + integration pages + comparison/alternatives + JTBD content.
- **ecommerce** → category page hygiene + product schema + faceted-nav indexation rules + review aggregation.
- **local** → GBP optimisation + location pages + citation cleanup (note: we don't have a
seo-localskill yet — flag this as a manual sub-step or external). - **publisher** → topical clusters + author E-E-A-T + freshness cadence + AI-Search citations.
- **agency** → service pages + case studies + comparison content + lead-gen LP (use
seo-agency-landing-page). - **b2b-services** → industry-specifi
Score breakdown
Assessment methodology
Version history
Imported from seranking/seo-skills@main
