HOME SKILLS BLOG GITHUB
// SKILL

TOPIC CLUSTERS
SERP-OVERLAP CLUSTERING

Topic clustering groups related search queries into pages and connected content hubs. Claude SEO compares shared URLs in dated result snapshots, adds intent and page-scope heuristics, and proposes hub-and-spoke architectures with internal link matrices. It outputs an interactive cluster map for human review.

By Daniel Agrici · Command surface verified:

CONTRIBUTED BY LUTFIYA MILLER · PRO HUB CHALLENGE WINNER · contribution record
$
/seo cluster plan <seed-keyword>

REQUIRES CLAUDE SEO INSTALLED IN CLAUDE CODE

Seed topics expand into overlapping search groups and an editable content cluster map
// RUN PREVIEW

What will happen if you start this skill?

The workflow turns dated search-result evidence into an editable plan, not a permanent Google intent label.

OUTCOME

An editable hub-and-spoke plan built from raw shared-URL counts, context, and reviewable intent inferences.

REQUIRED INPUT

A seed supplied to /seo cluster plan <seed-keyword>, or a recent strategy for the documented import route.

READINESS

Planning needs search-result access. Paid DataForSEO is optional. Execute uses Claude Blog when available or writes individual briefs.

LOCAL OUTPUT

cluster-plan.json, cluster-plan.md, and cluster-map.html in the current directory.

SIDE EFFECTS

Runs search requests and writes plan files. /seo cluster execute can write multiple briefs or content files.

COST + APPROVAL

Review the plan before execute. Estimate and approve paid provider batches before they run.

// HOW IT WORKS

Why cluster keywords by SERP overlap?

The skill starts from a seed keyword and expands it into 30 to 50 variants using related searches, People Also Ask, long-tail modifiers, and intent modifiers. Then it runs the part most other tools skip: for every candidate pair, it pulls the top 10 organic SERP results for both keywords and measures how many URLs overlap.

Claude SEO's default review bands treat 7 to 10 shared URLs as a same-page review, 4 to 6 as a shared-cluster review, 2 to 3 as weak adjacency, and 0 to 1 as likely separation. These are vendor heuristics, not Google thresholds. The reviewer should consider locale, device, date, query features, audience, and page purpose before approving the hub-and-spoke plan.

Primary references: Google's SEO Starter Guide explains topical site organization, and Google's sitelinks documentation covers logical site structure and relevant internal links.

/seo cluster plan <seed> EXPAND 30-50 variants PAA + related SERP OVERLAP shared top-10 core differentiator INTENT 4 classes info/comm/txn/nav HUB+SPOKE pillar + spokes link matrix MAP cluster-map.html interactive CLUSTER PLAN + INTERACTIVE MAP Hands off to /seo blog (claude-blog) for execution, or outputs editorial briefs

Six Capabilities

The skill bundles six things most teams stitch together from separate tools. SERP-overlap scoring is the core; the other five make the output usable for content production.

01
SERP-OVERLAP CLUSTERING
Measures shared URLs between dated search-result snapshots. Overlap becomes one review input alongside language, intent, page scope, locale, device, and time.
02
INTENT CLASSIFICATION
Proposes informational, commercial, transactional, or navigational labels from the observed result mix. The labels guide, but do not decide, page format and template review.
03
HUB-AND-SPOKE ARCHITECTURE
Designs a pillar with 2 to 5 subtopic clusters, each containing 2 to 4 proposed posts. Suggests URLs, slugs, and templates per intent.
04
INTERNAL LINK MATRIX
Generates the recommended internal linking structure: hub-to-spoke, spoke-to-spoke, sibling clusters. Anchor text suggestions per link.
05
INTERACTIVE CLUSTER MAP
Outputs cluster-map.html with fixed-size pillar and post nodes, cluster labels, links, status, and volume metadata when available. No build step.
06
CONTENT EXECUTION
If claude-blog is installed, /seo cluster execute hands off to write the hub and spokes with the agreed link matrix. Otherwise outputs editorial brief.
// USAGE

How do you run topic clustering?

Commands

CommandWhat it does
/seo cluster plan <seed>Expand, compare, architect, and write cluster-plan.json, cluster-plan.md, and cluster-map.html
/seo cluster plan --from strategyImport an existing SEO strategy, then enrich it with SERP-overlap review
/seo cluster executeRead cluster-plan.json from the current directory, then write posts through claude-blog or individual briefs
/seo cluster mapRead cluster-plan.json and regenerate cluster-map.html with current post status

How SERP-Overlap Scoring Works

For each candidate keyword pair, the skill fetches the top 10 organic results (ignoring ads, featured snippets, and PAA) for both queries and counts the shared URLs. Concretely: if keyword A has top-10 URLs {a1...a10} and keyword B has {b1...b10}, the score is |A ∩ B|. It is a raw intersection count, not a Jaccard score. The count maps to these review bands:

Shared URLsRelationshipAction
7-10Strong observed overlapReview whether one page can satisfy both queries
4-6Moderate observed overlapReview a shared cluster with separate page scopes
2-3Weak observed overlapInspect adjacency before proposing links
0-1Little observed overlapUsually separate, subject to manual review

For 40 keywords, full pairwise analysis would create 780 keyword-pair comparisons. The skill reduces that work by pre-grouping with intent guesses (4 groups of about 10 means 180 within-group comparisons) and cross-checking selected boundaries. A comparison may require more than one search request, while assumed long-tail pairs may require none. Estimate the actual fetch batch and obtain approval before paid calls.

Output Files

For one page at a time, use the SEO content brief workflow. Cluster planning is the broader architecture step, while a content brief turns one approved target into a research-backed page plan.

All outputs land in the current working directory:

  • cluster-plan.json: machine-readable cluster plan with keywords, clusters, links, and meta
  • cluster-plan.md: human-readable cluster plan summary
  • cluster-map.html: interactive SVG visualization, no build step required
  • cluster-briefs/: per-post content briefs, generated when claude-blog is not installed
  • cluster-scorecard.md: post-execution quality report

DataForSEO Integration

When the paid DataForSEO MCP server is installed and credentialed, the skill can use serp_organic_live_advanced instead of WebSearch. A cost check runs before every batch via claude-seo run dataforseo_costs.py check <endpoint> [--count N]. Calls above the approval threshold pause for confirmation; blocked budgets fall back to WebSearch. Search snapshots vary by date, locale, device, and provider, and neither route guarantees keyword volume. See /seo dataforseo for setup.

// FAQ

What should you know about topic clustering?

Text similarity measures language, while SERP overlap compares the URLs returned in a dated search snapshot. Overlap adds useful evidence about result-set similarity, but it varies by time, location, device, and provider. Claude SEO combines it with context and manual review instead of treating it as a Google intent label or ranking signal.
// RELATED SKILLS

EXPLORE MORE

VIEW ALL 26 SKILLS →

BUILD YOUR FIRST CLUSTER
FROM SERP EVIDENCE.

$
git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git && bash claude-seo/install.sh
VIEW ON GITHUB ALL SKILLS >