Back

How to Build a Keyword Matrix: Topic Clusters (Hub & Spoke) in Practice

Tengence Team ·
GEO/SEO Technical Solutions Tengence GEO
How to Build a Keyword Matrix: Topic Clusters (Hub & Spoke) in Practice

Summary: A keyword matrix layers terms by topic and intent so one page owns one cluster, and internal links then lock the hub-and-spoke hierarchy; group first, map to pages, then link — the order cannot be reversed.

Content planning falls short most often not because too few keywords were found, but because pages were built too early: publishing one article per keyword, then discovering two pages fight for the same term or a batch of pages show zero impressions for months, the cost of de-duplicating afterward is several times that of the planning stage. This article gives the build order for a keyword matrix — set topic boundaries first, layer by intent, cluster by SERP overlap, then map one group to one page and de-duplicate, and finally lock the hierarchy with internal links; it also includes a structure-level comparison table, internal-link scale benchmarks, and a rebuild case from an overseas B2B SaaS company, so you can start directly against your own situation.

1. What problem it solves: publishing per keyword never grows organic traffic

Publishing one article per keyword from a keyword list is the most common and most expensive detour in content planning. A site usually shows three symptoms at once: thin content (one keyword cannot sustain an article), multiple pages fighting for the same batch of terms (diluting each other's rankings), and no topical authority (the search engine cannot see systematic coverage).

The easiest to misjudge is the fighting. Ahrefs sets the condition as "same keyword + same or very similar intent" both holding — when two pages each still rank for a batch of distinct long-tail terms, that is not true cannibalization, and merging would cause a net traffic loss. In other words, the problem must be solved with structure at the planning stage, not patched after ranking data appears.

If your site is just starting out, read SEO Complete Guide: A 12-Week Path from Zero to One to set the build cadence; for the long-tail, lower-competition part of the term bank, pair it with Long-Tail Keyword Strategy: How to Mine and Place Low-Competition Terms.

2. What a keyword matrix and topic cluster are

A keyword matrix is a table that organizes target keywords into layers by "topic — subtopic — query intent": one row maps to one page to be built, and the columns mark the core term and term family, search volume, search intent, competition, and target URL.

A topic cluster (also called Hub & Spoke, content hub, or pillar page structure) is the realized form of this table. By Ahrefs' definition, a topic cluster has three parts: a page focused on the whole topic, a set of pages covering each subtopic in depth, and the internal links between them — all three are required for it to be a cluster; without the internal links it is just a pile of scattered pages.

Its value shows in two places. First, topical authority: the hub page gives the full picture of the topic and the spoke pages go deep one by one, sending the search engine the signal "this site systematically covers this domain" rather than scattered single-page hits. Second, it avoids keyword cannibalization at the planning stage — planning pages by topic and intent, instead of publishing per keyword from a list, naturally avoids building two pages that fight for the same term.

3. Five steps to build a keyword matrix

Step 1: Set topic boundaries before mining keywords

The starting point of the matrix is not a keyword tool but the business boundary. List 3–5 core topics directly tied to revenue, each mapping to a future hub page. The test is simple: can this topic break into 6+ sub-questions users search individually? If it cannot break into 6, it is better suited as someone else's spoke page than as a hub page.

Step 2: Mine keywords in bulk and layer by intent

Expand outward from one seed term and collect four fields — search volume, competition, search intent (Informational I / Navigational N / Commercial C / Transactional T). Layer by intent first, then cluster by topic — only terms of the same intent can belong to the same page; terms across intents, even if lexically close, must be split.

Step 3: Cluster by SERP overlap

Put semantically close terms from the term list into one candidate group; verify by looking at the SERP: if two terms share 3+ identical URLs in their organic results, they most likely belong to the same page; if the results are completely different, they must be split into two pages. After this step the term list goes from "hundreds of terms" to "a dozen-odd groups".

Step 4: One group to one page — map and de-duplicate

Each group maps to exactly one page; the group name is the page's main term, and the rest are written into the body and metadata as the term family. The only standard for whether to merge is: multiple pages target the same keyword and meet the same or very similar intent — per Ahrefs, when two pages each still rank for hundreds of other long-tail terms, merging causes a net traffic loss; that is not true cannibalization.

Step 5: Deploy internal links and set the iteration cadence

After pages go live, fill in links per the internal-link rules; each time the hub page adds a spoke page, update it once. A monthly incremental check is recommended (add new terms to the matrix, check for new duplicate pages), and a quarterly structural re-review (merge decaying pages, split pages that have developed an independent intent).

4. Internal-link rules and scale benchmarks

The cluster structure is fixed by internal links, and the link direction and anchor-text style differ by level:

Level Page type Target term type Content positioning Internal-link rule
L0 cluster entry Hub page (hub / pillar page) 1 broad core term, highest volume, widest intent Covers the topic fully; each subtopic only a 150–300 word overview Links out to all spoke pages, anchor text uses the spoke's main term; no further expansion
L1 subtopic Spoke page (spoke / cluster page) 1 group of semantically close mid- and long-tail terms Dives into one sub-question, can rank independently Must link back to the hub; same-group spokes cross-link 1–3; cross-cluster cross-links need a clear semantic relation
L2 long-tail / Q&A Supplemental page (FAQ, comparison, list) Specific question, comparison, or scenario terms Answers one concrete question, can be short Links back to its L1 spoke, and the hub if needed; not an internal-link distribution center
Support layer Product / solution / case page Commercial-intent terms Carries conversion Referenced by the hub and related spokes; does not distribute weight back in bulk

On link direction order: the hub page links to all spoke pages, all spoke pages link back to the hub, and some spoke pages cross-link each other — this is the standard structure Semrush gives in its pillar-page practice. Anchor text should use the target page's main keyword so the search engine can tell the page's topic from the link text alone.

More internal links is not always better, but too few makes the cluster structure fail. The actual global distribution below can serve as a self-check baseline:

Metric Data Scope Source
Median internal links per page (Top 1,000 sites, desktop) 129 Includes nav and footer links HTTP Archive (2024)
Median internal links per page (full-site sample, desktop) 41 Same as above HTTP Archive (2024)
Median meta description word count 40 words (desktop) / 39 words (mobile) Median was only 19 words in 2022 HTTP Archive (2024)

Reading: higher-ranked sites have visibly higher internal-link density, showing structured internal link webs correlate positively with performance; but a large part comes from nav and footer, body internal links between hub and spoke should be counted separately — typically 10–30 body cross-links within a cluster cover all pages.

5. Keyword-to-page mapping and de-duplication

The most common mapping problem is "one keyword one page": building 300 pages for 300 terms yields many thin, rank-fighting pages. The right approach converges terms by group; the page count is usually one-tenth to one-twentieth of the term count.

When de-duplicating, handle by three severity tiers:

Scenario Signal Action HTTP status
Same term, same intent, both pages weak Multiple URLs alternate in ranking history, none in top 10 Merge into one page, publish on the better-performing URL, old URL points to it 301 permanent redirect
Same term, intent partially overlaps Each page still ranks for a batch of different long-tail terms Split the intent, narrow each title and content boundary, differentiate with cross-links No redirect needed
Low-value stale old page No impressions, no conversion, content outdated Delete and pass weight to the target page; use 410 when content is fully retired with no replacement 301 / 410

Two of the three are easy to get wrong. First, forgetting to replace internal links after merging — old URLs' internal links point to a 301 hop, wasting crawl budget and breaking anchor text; after publishing, batch-repoint them to the new URL. Second, using the wrong field: noindex pulls the page fully out of the index, and canonical only fits near-duplicate pages; neither is a cure for cannibalization. For status-code semantics, see MDN's HTTP response status code docs.

6. Common mistakes checklist

7. Case: a topic-cluster rebuild at an overseas B2B SaaS company

Background: An overseas B2B SaaS company targeting North America and Western Europe had 47 blog posts, all published per keyword from a list, with no matrix planning and no cluster internal links.

Problem: Within 6 months, 22 posts had zero impressions, and another 4 groups of pages fought for the same batch of terms; content assets grew while organic traffic did not grow in step.

Approach: Rebuild the matrix by topic boundary — converge topic clusters, merge term families by SERP overlap, merge duplicate pages, and fill cluster internal links from the template layer.

Stage actions:

Result: Index coverage rose from 58% to 91%, organic search impressions grew about 1.8×, and 17 of the 22 previously zero-impression posts entered the top 50.

ROI: The input was 2 people × 6 weeks of content and structure adjustment, with no added paid-tool budget; the structure was set in one pass and only needs incremental monthly and quarterly maintenance.

FAQ

Q: How many spoke pages should a topic cluster have?
A: There is no fixed number; it depends on how many sub-questions your topic can be split into that users would search for individually. Ahrefs' real-world cases range from 8 pages to over 700. A good starting point is 1 hub page plus 6–12 spoke pages, then split or merge based on SERP overlap once data comes in.

Q: How does a keyword matrix differ from a plain keyword list?
A: A list is a flat vocabulary answering 'which terms are worth pursuing'; a matrix is a two-dimensional structure answering 'which page each term maps to and how the pages relate'. A matrix must include four columns — intent tier, keyword-family assignment, target URL, and internal-link direction — and without any one of them it degenerates into a list.

Q: How long should a hub page be?
A: Aim for complete coverage, not a word count ceiling. A hub page's job is to give the full picture of the topic and route readers to spoke pages; a 150–300 character summary per subtopic is enough. Put all the detail into the hub page and the spoke pages lose their reason to rank.

Q: If two pages compete for the same term, must they be merged?
A: Not necessarily. The test is whether 'same keyword + same or very similar intent' holds simultaneously. If the two pages each already rank for a distinct set of long-tail terms, merging would net-lose traffic; in that case, separate the intents and narrow each page's title and content boundaries instead of merging.

Q: After merging pages, should you use a 301 or a canonical?
A: Use a 301 permanent redirect from the old URLs to the surviving page, and update internal links pointing to the old URLs at the same time. Canonical only suits nearly identical duplicate pages, and noindex removes pages from the index entirely — neither is the right tool for keyword cannibalization.

Q: Does a multilingual site need a separate keyword matrix per language?
A: The structure and keyword families can be reused, but keywords must be re-researched per language — directly translated terms often have zero search volume. Maintain a separate matrix per language within the same cluster, keep URL and internal-link structures consistent, and declare language relationships with hreflang.

Q: How often should you review a keyword matrix once it's built?
A: Run incremental monthly checks — add newly discovered queries and look for new overlapping pages — and a quarterly structural review, merging declining pages and splitting pages that have developed independent intent. Also run a dedicated review after a site redesign or a change in business lines.

Q: With AI search on the rise, are keyword matrices still useful?
A: Yes — and more important. AI engines favor sources that are clearly structured, topically complete, and locatable to specific passages, which is exactly what topic clusters provide. The difference: traditional search asks 'what rank are you', AI search also asks 'are you being cited' — and the optimization actions differ.


About Tengence

The keyword matrix is the core input to Tengence GEO's strategy-generation step; its keyword-matrix-driven content go-live and effect dashboard cover the grouping, mapping, and iteration flow of this article. Tengence (TENGENCE) is the enterprise growth engine of the AI era, focused on public-traffic acquisition and private-domain conversion; its core products are Tengence GEO (dual-engine GEO + SEO) and Tengence Search.

Data Sources

  1. Ahrefs: How to Build a Topic Cluster in 10 Minutes: A topic cluster has three parts — a page focused on the topic, a set of pages covering subtopics in depth, and the internal links between pages; the example cluster ranges from 8 pages to 700+ pages.
  2. Semrush: What Is a Pillar Page & How to Create One: The pillar page links to all cluster pages, cluster pages link back to the pillar, and some cluster pages cross-link — an internal-link structure that avoids keyword cannibalization by planning pages by topic.
  3. Ahrefs: Keyword Cannibalization: What It (Really) Is & How to Fix It: Cannibalization is judged by "same keyword + same or very similar intent"; the fix is to merge content, publish on the better-performing URL with a redirect, then replace on-site internal links; noindex and canonical are not solutions.
  4. HTTP Archive Web Almanac 2024 · SEO: Desktop median internal links per page is 129 for Top 1,000 sites and 41 for the full sample; median meta description word count is 40 desktop / 39 mobile (only 19 in 2022).
  5. MDN Web Docs: HTTP response status codes: Semantics of 301 / 302 / 404 / 410, used to choose status codes when merging or retiring pages.

Related Reading

Get Started

← Previous: How to Run an Enterprise SEO Audit: A 7-Dimension Checklist Next: Whom Do ChatGPT, Perplexity, and Gemini Cite? A Breakdown of the Three AI Platforms' Source Preferences →
Consult
QR code

WeCom