Keyword clustering is grouping search terms so that each group can be targeted by one page. Two keywords belong in the same cluster when Google already ranks mostly the same pages for both. When the results differ, they need separate pages, however similar the words look.

We cluster keyword lists for SaaS sites most weeks. The method below is the one we use on a typical 400-term list, with the thresholds we apply, a worked example, and the mistakes that turn a good list into a messy content plan.

DuckDuckGo results for keyword clustering with an AI summary explaining grouping by search intent
The AI summary gets the important part right: tools compare the top results for each keyword to decide what belongs together. Most of the ranking pages then spend their words on tools rather than on the thresholds, which is where clustering decisions are actually made.

Two ways to do keyword clustering: by words or by results

Lexical clustering (by words) SERP-based clustering (by results)
How it groups Shared words and stems Shared URLs in the top 10 results
Cost Free, runs in a spreadsheet Needs results data for every keyword
Speed on 400 terms Minutes An hour with a tool, a day by hand
Main failure Groups “crm software” with “what is crm” Results shift, so clusters go stale after 6 to 12 months
Use it for A first rough sort, and removing obvious junk The final decision on which terms share a page

We use both, in that order. The word-based pass is a sieve. The results-based pass decides.

Here is why the second pass matters. “Project management software” and “project management tools” look like two keywords. Put their results side by side:

Side-by-side search results for project management software and project management tools showing shared URLs for keyword clustering
Forbes Advisor sits near the top of both, and Project-Management.com shows up in both lists too. Several shared URLs in the top 10 means Google treats these as one topic, so they belong in one cluster and on one page.

Keyword clustering in 6 steps

1. Clean the list before you cluster it

Remove duplicates, misspellings, competitor brand terms you will not target, and anything outside your market. On a raw 400-term export we usually cut 10 to 20 percent here. Clustering junk only produces tidy junk.

2. Tag intent on every keyword

Label each term informational, commercial, transactional or navigational. Our free keyword intent classifier does a first pass on up to 500 terms, and you then correct the edge cases by hand.

SaaS Rankly keyword intent classifier tool for tagging keywords before keyword clustering
Intent tags act as a hard wall during clustering. Two terms with different intent never share a page, even when their results overlap a little, because a page cannot be both a definition and a buying guide.

3. Do a rough word-based sort

Sort alphabetically, group by head term (“timesheet”, “time tracking”, “payroll”), and you will have 15 to 30 rough buckets. This is only to make the next step manageable.

4. Pull the top 10 results for each keyword

Most paid keyword tools have a clustering feature that does this for you. If you are doing it by hand, start with the highest-volume term in each bucket and only check its neighbours.

5. Group by shared URLs

Compare each keyword’s top 10 against the lead keyword of the bucket. These are the thresholds we use:

Shared URLs in the top 10 Decision Notes
0 to 2 Separate pages Google sees different topics
3 Judgement call Check intent and whether the same page type ranks for both
4 to 6 Same page Use the lower-volume term as a secondary keyword
7 or more Same page Usually close variants; treat them as one keyword

Some tools let you set this threshold. A setting of 3 gives tighter, more numerous clusters. A setting of 4 or 5 gives fewer, broader ones. On young SaaS sites we lean toward 4, because a narrower page is easier to rank than a broad one.

6. Name the cluster and assign one URL

The highest-volume term with the right intent becomes the primary keyword and names the page. Everything else in the cluster goes into headings and body copy. If you are unsure how to split primary and secondary terms, our guide to primary and secondary keywords covers it. Then check whether a page already exists for that cluster before you brief a new one.

Worked example: keyword clustering 400 terms for a SaaS

Quellio is a fictional expense management SaaS. Its keyword export had 400 terms. Here is where they went.

Stage Keywords What happened
Raw export 400 Pulled from a keyword tool, competitor gaps and Search Console queries
After cleaning 338 62 removed: duplicates, competitor brands, consumer budgeting terms
Rough word buckets 22 buckets Expense reports, receipts, reimbursement, corporate cards, and so on
SERP-based clusters 71 clusters Threshold of 4 shared URLs
Clusters dropped 19 Results dominated by banks or government pages we cannot compete with
Clusters matched to existing pages 21 Became refresh briefs, not new posts
New pages to create 31 Prioritised by intent, then volume, then difficulty

Three clusters from the result, to show what a finished row looks like:

Cluster (primary keyword) Terms in it Combined volume Intent Page type
expense report template 9 6,400 Transactional Template landing page
receipt scanning app 6 2,100 Commercial Feature page with comparison table
how to reimburse employees 11 1,700 Informational Blog guide linking to the reimbursement feature

The step people underestimate is matching clusters to existing pages. Twenty-one of Quellio’s clusters already had a page that ranked somewhere between positions 15 and 60. Refreshing those was faster and usually beat a new post, which would have split the signal between two URLs.

Where keyword clustering goes wrong

Clustering by words alone

“Expense management” and “expense management software” share two words and sometimes very few results. One is a concept, the other a shopping list. Lexical clustering puts them together every time.

Ignoring intent when results overlap a little

Three shared URLs between a “what is” query and a “best” query usually means one big site ranks for both. It does not mean one page should target both.

Making clusters too broad

A 40-keyword cluster is often three pages pretending to be one. If the terms in a cluster need different H2s to answer, split it. Our post on how many keywords one page can rank for shows how broad a single page can reasonably go.

Never re-running it

Results pages change, especially with AI answers pushing results around. Re-check your top 20 clusters every 6 months and whenever a page stalls.

Keyword clustering and topic clusters are not the same thing

Keyword clustering decides what goes on one page. A topic cluster is a group of pages, usually a pillar page and supporting posts, linked together around a subject. You do keyword clustering first to define the pages, then arrange those pages into topic clusters. We walk through the second step in SaaS content strategy with topic clusters, and the list-building step before all of this in SaaS keyword research.

Quick recap: keyword clustering

  • Keyword clustering groups terms that one page can rank for.
  • Use a word-based sort to organise the list, then shared results to make the final call.
  • 4 or more shared URLs in the top 10 means same page; 0 to 2 means separate pages.
  • Intent is a hard wall: different intent never shares a page.
  • Match clusters to existing pages before briefing anything new.
  • Re-run keyword clustering on your top clusters every 6 months.

FAQ

What is keyword clustering in SEO?

It is the process of grouping related keywords that can be targeted by the same page. The most reliable way is to compare the search results for each keyword and group terms that share several of the same ranking URLs.

How many keywords should be in one cluster?

There is no fixed number. Most useful clusters for a SaaS site hold 3 to 15 terms. If a cluster grows past 25 or 30, check whether the terms really need the same answer or whether it should be split.

Can I do keyword clustering for free?

Yes, for small lists. Sort by words in a spreadsheet, then check the top results by hand for the lead terms. It gets slow past about 100 keywords, which is where a paid clustering tool starts to pay for itself.

What SERP overlap threshold should I use for keywords clustering?

We use 4 shared URLs in the top 10 as the default. Use 3 if you want tighter, more specific pages, and 5 if you would rather have fewer, broader pages. Whatever you choose, keep it the same across the whole list.

Is keyword clustering the same as keyword grouping?

People use the terms interchangeably. Some use “grouping” for the quick word-based sort and “clustering” for the results-based method, but there is no official distinction.

How often should I redo keyword clustering?

Review your most important clusters every 6 months, and re-check any cluster whose page has stalled. Search results shift over time, and two terms that shared a page a year ago can split apart.