Skip to content
Marketing
Skill

/seo-keyword-niche

Mine longtail keywords + question keywords for a topic at scale to surface niche content opportunities. Outputs a content tier plan (template + URL pattern + sample pages + quality gates) suitable for programmatic publishing or steady editorial output. Distinct from

From plugin
seo-skills
19232 skills1 MCP

Claude Code

$ npx -y skills add seranking/seo-skills --skill seo-keyword-niche --agent claude-code

SKILL.md

seo-keyword-niche.SKILL.md
name: seo-keyword-niche
description: Mine longtail keywords + question keywords for a topic at scale to surface niche content opportunities. Outputs a content tier plan (template + URL pattern + sample pages + quality gates) suitable for programmatic publishing or steady editorial output. Distinct from `seo-keyword-cluster` (which plans pillar+spoke architecture from broad seeds) — this skill goes deeper into the long tail. Use when the user asks "longtail keywords", "question keywords", "niche content", "content opportunities at scale", "programmatic SEO", "content mining", or "what should I write about for {topic}".

> Example output: [examples/seo-keyword-niche-espresso-machine-reviews-20260514/KEYWORD-NICHE-PLAN.md](../../examples/seo-keyword-niche-espresso-machine-reviews-20260514/KEYWORD-NICHE-PLAN.md)

Keyword Niche

Mine the long tail for content opportunities. Pulls longtail variants, question-intent keywords, related keywords, and SERP samples to find under-served niche keywords; clusters them by intent; proposes a content tier (template + URL pattern + sample pages + thin-content quality gates) that can be published programmatically or as a steady editorial cadence.

Prerequisites

  • SE Ranking MCP server connected.
  • User provides: a seed topic (e.g. "running shoes", "tax preparation"), or 2–5 seed keywords. Target country (default `us`). Optional: minimum volume threshold (default: 50/mo for niche skill — lower than `seo-keyword-cluster`'s 100), maximum KD (default: 40 for accessibility).

Process

1. **Validate & preflight**

  • Confirm seeds make sense (not too broad, not branded, not single-letter).
  • `DATA_getCreditBalance` — surface remaining credits. This skill is heavier than most: pulling longtail at depth costs more than pulling head terms.

2. **Longtail expansion** `DATA_getLongTailKeywords`

  • For each seed: pull longtail variants (typically 3+ words, lower individual volume, lower KD).
  • Target: 200–500 longtail candidates per seed.

3. **Question expansion** `DATA_getKeywordQuestions`

  • For each seed: pull question-phrased keywords.
  • These are gold for content mining — explicit user intent in the keyword.

4. **Related expansion** `DATA_getRelatedKeywords` and `DATA_getSimilarKeywords`

  • For each seed: pull related + similar keywords.
  • Catches semantic neighbours that longtail expansion missed.

5. **Filter and clean**

  • Remove keywords below `min_volume` and above `max_kd`.
  • Strip branded keywords the seed-domain doesn't own (unless the user supplied a branded seed).
  • Tag each keyword with detected intent: informational, commercial, transactional, navigational.
  • De-duplicate across seeds.

6. **SERP sample for representative keywords** `DATA_getSerpResults`

  • For 5–10 representative keywords (one per emerging cluster), pull top 10.
  • Identify the dominant page type for each cluster (informs the template proposal in step 8).

7. **Cluster by intent + theme**

  • Group keywords by semantic similarity + intent.
  • Each cluster: name, primary keyword, supporting keywords, total volume, weighted KD, dominant page type.
  • Target 8–20 clusters (more granular than `seo-keyword-cluster`'s 5–12 — this skill is for niche tiers).

8. **Propose a content tier**

  • Template structure: which fields make each page unique. For `{city} apartment rentals`, the template fields are `{city}`, `{neighborhood}`, `{price_range}`, `{property_count}`. For `{tool} alternatives` it's `{tool}`, `{competitor_count}`, `{primary_use_case}`.
  • URL pattern: `/{category}/{slug}/` or `/{topic}/{tool}-alternatives/` etc.
  • Sample pages: 3 fully-spec'd page wireframes for representative cluster keywords.
  • Internal-linking automation: how to link pages within the tier (hub-spoke from a category page, or peer-to-peer for genuinely flat structures).

9. **Quality gates** (anti-thin-content guardrails)

  • **Minimum unique data per page:** template fields must produce ≥ 5 unique attributes (counts, prices, names, dates, etc.). Pages without 5+ unique attributes are duplicates in disguise — skip those keyword variants.
  • **Minimum word count:** 600 words effective content (excludes navigation, footer, boilerplate).
  • **Schema requirement:** every templated page gets `Article` (or relevant type) + `BreadcrumbList`.
  • **Index/noindex split:** if the variant doesn't pass the unique-data threshold, generate the page but `noindex` it.

9a. Programmatic publishing — extra gates

Most users discover this skill because they want to ship pages at scale (programmatic SEO, data-driven directories, location pages). Programmatic publishing is the highest-risk path for spam-classifier blowback. Apply these *in addition* to the gates above whenever the proposed tier expects to ship 50+ templated pages.

  • **Per-row uniqueness threshold (≥ 30% varying fields).** Of the template's content-producing fields (excluding nav/footer boilerplate), **at least 30% must hold values that differ from the median sibling page**. A 12-field template where 9 fields are identical across pages is templated mush — Google's spam systems are well-tuned for this since the 2024 core update. Compute: `varying_fields / content_fields ≥ 0.30` per row vs the cluster median.
  • **Min unique-fact count vs parent + sibling (≥ 5 facts).** Each row carries at least 5 facts that *do not appear on the parent hub page or any sibling page in the same cluster*. Facts = numbers, dates, named entities, original quotes, photos. Synonym shuffles don't count. Sample 10 rows manually before greenlighting the tier.
  • **Data-source independence.** Don't auto-publish from a single source (one CSV, one API, one scrape). If the page's only differentiator is a row from `cities.csv`, the page is a CSV row dressed as content — likely thin. Combine ≥ 2 independent data sources per page.
  • **Index-bloat circuit-breaker.** After the first 50 pages ship, monitor GSC. If the index-cover
Read more
@seranking
Ships withseo-skills

Production-ready Claude Agent Skills for SEO, powered by the SE Ranking remote MCP.

19232 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
192
Star history of seranking/seo-skills on GitHub, a chart by star-history.com

Other skills on seo-skills.

seo-ads

seo-ads

Paid-search competitive landscape for a domain or keyword. Pulls SE Ranking's PPC data — domain ad keyword footprint, ad copy…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about seo-keyword-niche.

Which coding agents can use seo-keyword-niche?
seo-keyword-niche installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.