How to Do Keyword Clustering in 6 Steps
Keyword clustering groups a raw keyword list into topic groups based on shared search intent, confirmed by checking whether the keywords return the same pages in Google's top 10. Instead of writing one thin article per keyword, you write one strong page per cluster.
The short version, if you just need the steps:
- Collect every keyword variation around your topic, don't pre-filter.
- Split the list by search intent (informational, commercial, transactional, navigational).
- Group keywords with overlapping top-10 SERP results into the same cluster.
- Pick the highest-volume keyword in each cluster as the page's main target.
- Assign the rest of the cluster as subheadings and supporting phrases on that same page.
- Map each cluster to one URL, and don't create a second page for a keyword that already has a home.
That's the whole method in outline. The rest of this guide walks through each step with a worked example, the actual thresholds practitioners use to decide "same cluster or not," and the mistakes that quietly wreck a clustering pass even when the process looks right on paper.
Step 1: Build the Raw Keyword List First, Don't Pre-Sort
Before you can group anything, you need more keywords than you think you need. Pull from three sources at minimum:
- Google Search Console, filtered to your existing pages, for every query you already get impressions on (including ones you don't currently rank well for).
- A keyword research tool seeded with two or three broad terms for your topic.
- Google's own SERP features: autocomplete, the "People also ask" box, and "Related searches." Click into two or three PAA questions; each click reveals more, and this is often where the best long-tail variations hide.
The common mistake here is filtering too early. If you only keep keywords with "good" volume before clustering, you'll miss the long-tail variations that would have made your eventual page more comprehensive. Pull everything remotely relevant first, and drop dead weight after clustering, not before.
Aim for a list you can work with by hand if needed: 30 to 150 keywords for a single-topic cluster is realistic. Seeding an entire pillar with dozens of sub-clusters can mean a few hundred to a few thousand rows, but you'll need a tool at that scale (more on that below).
Step 2: Split by Search Intent Before You Split by Topic
This is the step most guides bury, and it's the one that causes the most damage when skipped. Two keywords can share almost every word and still not belong on the same page, because they answer a different question.
Take "keyword clustering tool" and "how to do keyword clustering." They share the core phrase, but one is a person looking to open a tool right now (commercial/navigational intent) and the other wants to understand the process first (informational intent). Force them onto the same page and you'll half-satisfy both searchers and fully satisfy neither, exactly the kind of page Google has no reason to rank at position one for either query.
Before you go anywhere near SERP overlap, sort your raw list into the four classic intent buckets:
- Informational: "what is," "how to," "why does," definitions, guides.
- Commercial: "best," "top," "vs," "alternatives," comparison and research-before-buying language.
- Transactional: "buy," "price," "discount," "free trial," ready-to-act language.
- Navigational: brand names, product names, "[tool] login."
A keyword with the wrong intent for your page is not a clustering problem to solve later; it's a keyword to route to a different page entirely, even if the words overlap.
Step 3: Confirm Clusters With SERP Overlap, Not Just Word Overlap
Once you've got an intent-sorted list, the next question is which keywords genuinely belong on the same page. Word similarity is a decent first guess, but it lies to you often enough that it can't be the final call. The reliable test is SERP overlap: if the top 10 Google results for two keywords share a meaningful number of the same URLs, Google has already decided those keywords mean the same thing, and you should target them on one page.
Here's the manual version, which works fine for a handful of keywords and costs nothing:
- Open an incognito window (so personalization doesn't skew results).
- Google your first keyword and note the top 10 URLs.
- Google your second keyword and note its top 10.
- Count the overlap. As a working rule: 4 or more shared URLs out of 10 is a strong signal to cluster them together; 1 to 3 is a judgment call (lean on intent and topic closeness); 0 shared URLs means treat them as separate pages, even if the words look alike.
This is the step that catches the traps word-matching creates. "Best coffee maker" and "best coffee maker for home" can look like the same cluster on paper, but if the SERPs barely overlap, Google is telling you searchers want different things from those two queries, and cramming them onto one page won't out-argue that signal.
A worked example: say your raw list includes keyword clustering process, keyword clustering steps, group keywords by topic, and cluster keywords. Run each through the incognito check. The first two almost always share 7 to 9 of the same top-10 results, because they're the same query written two ways: cluster them, and let the higher-volume one become your target. Group keywords by topic and cluster keywords tend to share fewer of those URLs with the "how to do X" pair, since Google reads them as broader, definitional queries closer to "what is keyword clustering." That's your signal to use them as supporting phrases inside the how-to page rather than forcing a full merge.
Past a dozen or so keyword pairs, checking every combination by hand stops being realistic; that's what clustering tools automate, whether that's a paid platform's "cluster by parent topic" feature or a free browser tool that groups by shared terms as a fast first pass (see the tool section below).
<mark class="km-highlight" style="--hl:#FEF08A;background:#FEF08A">Four or more shared URLs in the top 10 is the practical threshold for "same cluster."</mark>
Step 4: Pick the Pillar Keyword for Each Cluster
Once a cluster is confirmed, one keyword in it becomes the page's main target. The default rule: pick the keyword with the highest search volume, as long as its intent matches what you're building. If two keywords are close in volume, prefer the broader, more natural phrasing; it usually pulls in more of the cluster's long-tail variants naturally within the copy.
Don't overthink this step. It's reversible. If Search Console later shows a different keyword in the cluster driving more impressions than your chosen target, that's useful data, not a crisis; adjust the H1, title tag, and opening paragraph to lead with the better-performing term.
Step 5: Turn the Rest of the Cluster Into On-Page Structure
Everything else in the cluster becomes the skeleton of the page:
| Cluster role | Where it goes on the page |
|---|---|
| Primary keyword (highest volume, matched intent) | Title tag, H1, opening paragraph, URL slug |
| Close variants (near-identical SERP overlap) | Naturally throughout the body, one or two subheadings |
| Related sub-questions (from PAA, lower overlap) | Dedicated H2/H3 sections, or a closing FAQ |
| Adjacent but distinct intent (low SERP overlap) | Route to a different, linked page; don't force it in |
This table is the real output of a clustering pass, not the cluster list itself. A spreadsheet of "keyword: cluster ID" only becomes useful once you translate it into which keyword owns which part of the page.
Step 6: Map One Cluster to One URL, Permanently
The last step is the one that prevents the problem clustering exists to solve in the first place: keyword cannibalization, where two or more of your own pages compete for the same query and Google can't decide which one to rank, so it often demotes both.
Keep a simple mapping (a spreadsheet tab is enough): cluster name, primary keyword, target URL, status. Before anyone on your team creates a new page, check this mapping first. If the keyword's cluster already has a URL, that page gets a new section or an update, not a new sibling page.
This is also the step that decays quietly over time. A site that clustered its keywords perfectly at launch will still drift back into cannibalization within a year, as new pages get added by writers who never saw the original spreadsheet, or as Google's own sense of which pages are "similar" shifts as the SERP changes underneath you. Re-check the mapping whenever you publish in a topic you've already covered, and periodically audit live pages against Search Console for two of your own URLs ranking for the same query. That's exactly the kind of drift Murkuz's daily content cannibalization detection is built to catch: it scans your GSC data every morning, flags pages that have started competing with each other, and creates a task with the recommended fix attached, rather than leaving you to notice it months later when both pages have already lost ground.

Doing This by Hand vs. Using a Tool
For a single cluster of a few dozen keywords, a spreadsheet and the incognito SERP check above is genuinely enough. Clustering an entire keyword export (hundreds to thousands of rows) makes manual pairwise checking unrealistic, and you have three practical options:
- Lexical clustering groups keywords by shared meaningful words after stripping stop words. Fast, free, runs without an API. Won't catch pure synonyms with different wording ("car" vs. "automobile").
- Semantic clustering uses text embeddings to group by meaning, so synonyms do cluster together. Usually costs per keyword and needs an API call.
- SERP-overlap tools automate the incognito check from Step 3, at scale. Most accurate for intent, but slowest and most expensive since it needs live results for every keyword.
If you want a fast, free first pass, Murkuz's keyword clustering tool clusters lexically in your browser: paste a raw list or a single seed topic, and it returns clean topic groups plus a pillar-and-spoke plan, with no login and no keyword list ever leaving your machine. It's the right tool for Step 1 through the first pass of Step 3; still run the incognito spot-check on any cluster you're about to commit real writing hours to.
Common Mistakes That Break a Keyword Clustering Pass
- Clustering by word overlap alone. Two keywords sharing three words out of four is a hint, not proof. Sanity-check with intent or SERP overlap before merging.
- Ignoring intent mismatches inside a "correct" cluster. A cluster can have high word similarity and still contain both an informational and a commercial keyword. Split it.
- Clusters that are too broad. If a cluster has 40+ keywords spanning multiple sub-questions, it's really two or three clusters wearing one label. Break it down until every keyword would satisfy the same searcher.
- Never revisiting the map. New content gets added, and a cluster that was clean at launch drifts into cannibalization within a year if nobody checks it again.
- Skipping the pillar-spoke link. A cluster only builds topical authority once the pages actually link to each other. Grouping keywords in a spreadsheet does nothing for rankings until the linked pages exist.
FAQ
How many keywords should be in one cluster?
There's no fixed number, but most healthy clusters land between 5 and 30 keyword variants. Fewer and you may be over-splitting a topic into pages too thin to justify separately; well past 30 to 40 and the cluster is usually hiding two or three distinct sub-topics that deserve their own pages.
What's the difference between keyword clustering and topic clustering?
Keyword clustering groups individual search terms by intent and SERP overlap so you know which keywords belong on the same page. Topic clustering (the pillar-and-spoke model) is the layer above: organizing multiple already-clustered pages around one broad pillar, linked together to signal depth to search engines.
Can I cluster keywords without a paid tool?
Yes, for smaller lists. A spreadsheet plus the incognito SERP-overlap check covers most single-topic clustering. Free lexical tools handle the first pass on larger lists at no cost; paid SERP-overlap or semantic tools earn their price once you're clustering hundreds or thousands of keywords, or need the accuracy for a high-stakes content investment.
Does keyword clustering help with keyword cannibalization?
Yes, that's its main defensive value. Cannibalization happens when multiple pages on the same site compete for one query. Clustering prevents it at the planning stage by mapping every keyword to exactly one page before anything gets written, and a periodic re-check catches the drift that creeps in as a site keeps publishing.
Should I cluster by search volume or by intent first?
Intent first, always. Grouping by volume before intent produces clusters that read like a keyword list, not a page a real searcher would want. Sort by intent, confirm with SERP overlap, then use volume only to decide which keyword becomes the primary target.
Keyword clustering is the planning step; the harder, ongoing work is what happens after a cluster becomes a real page: writing it well, linking it correctly, and catching it if it starts sliding months later. That's where most keyword work quietly falls apart, not because the original cluster was wrong, but because nobody was watching the page after it shipped. I've spent the last few years building Murkuz around exactly that gap: a platform that treats SEO as an ongoing engineering problem rather than a one-time audit, detecting decay and cannibalization automatically instead of waiting for a quarterly review to catch it.
Junaid Khalid is the founder of Ertiqah and the builder of Murkuz. He has run SEO as the first growth channel across his own SaaS products before building a platform to automate the parts of the process that don't need a human every time.




