Online admissions open for the SEO, PHP web development and networking & cybersecurity courses. Enquire for the next batch.

Keyword Clustering: How to Group Keywords Into Pages

5 min read Updated By the SkillNewton team

What is keyword clustering?

Keyword clustering is the process of grouping related search queries so that each group can be targeted by a single page. Groups are usually formed by checking which keywords return the same ranking URLs in search results, or by grouping keywords with similar meaning. Clustering tells you how many pages to create and stops several pages competing for one search.

Keyword clustering explained: clusters, overlap and cannibalisation

After researching keywords you often have hundreds of queries. Many of them mean the same thing to the searcher: "standing desk height" and "how high should a standing desk be" want the same answer. Writing one page per keyword would create near-duplicate pages. Clustering decides which queries belong together.

  • Cluster: a group of keywords that one page can satisfy.
  • Primary keyword: the query that most clearly represents the cluster, often the one with the most demand.
  • SERP overlap: the number of identical URLs that appear in the top results for two different queries.
  • Keyword cannibalisation: when two or more pages on your site target the same intent, so search engines cannot tell which to show.

SERP-overlap clustering versus semantic clustering

There are two main approaches, and they answer slightly different questions.

SERP-overlap clusteringSemantic clustering
Based onShared ranking URLs in live search resultsSimilarity of meaning between keywords
Question it answersDoes Google treat these queries as one need?Are these queries about the same idea?
StrengthReflects how the search engine actually ranks pagesFast and needs no SERP data
WeaknessNeeds result data for every keyword; results change over timeCan group queries Google treats differently
Good forFinal page mapping decisionsFirst rough grouping of a large list

Semantic grouping might put "running shoes" and "running shoes for flat feet" together, yet their results may differ because the second has a narrower need. SERP overlap catches that. A practical workflow uses semantic grouping to organise a big list and SERP overlap to confirm the final clusters.

How to check SERP overlap manually

  1. Search each keyword in a private browser window, set to the country you target, and record the top ten organic URLs. Ignore ads and features without a URL.
  2. Put each keyword's URLs in its own spreadsheet column.
  3. Compare two keywords at a time and count how many URLs appear in both lists.
  4. Apply a threshold. A common rule of thumb is that three or four shared URLs out of ten means one page can target both keywords. Stricter thresholds produce smaller, tighter clusters.
  5. Add each keyword to the cluster it overlaps with most. If a keyword overlaps with nothing, it becomes its own cluster.

This formula counts shared URLs between two columns, where keyword A's URLs are in A2:A11 and keyword B's are in B2:B11. It works in Google Sheets and Excel.

=SUMPRODUCT(COUNTIF(A2:A11, B2:B11))

For longer lists, a short Python script can compare every pair. Paste in the top ten URLs per keyword from your rank tracking export.

from itertools import combinations

serps = {
    "standing desk height": ["a.com/height", "b.com/guide", "c.com/desk-height"],
    "how high should a standing desk be": ["a.com/height", "c.com/desk-height", "d.com/ergonomics"],
    "standing desk benefits": ["e.com/benefits", "f.com/health", "b.com/guide"],
}
THRESHOLD = 2  # use 3 or 4 with full top-10 lists

for a, b in combinations(serps, 2):
    shared = set(serps[a]) & set(serps[b])
    if len(shared) >= THRESHOLD:
        print(f"{a} + {b}: {len(shared)} shared URLs")

Worked example: clustering standing desk keywords

Suppose a furniture retailer has these keywords. After comparing the top ten results for each pair, the overlap counts lead to the clusters below.

KeywordOverlaps strongly withClusterTarget page
standing desk heighthow high should a standing desk beDesk heightStanding desk height guide
how high should a standing desk bestanding desk heightDesk heightStanding desk height guide
standing desk benefitsis a standing desk good for youBenefitsBenefits of standing desks
is a standing desk good for youstanding desk benefitsBenefitsBenefits of standing desks
electric standing deskbuy electric standing deskElectric desksElectric standing desks category
standing desk converterNo strong overlapConvertersDesk converters category

Two keywords that look similar, "electric standing desk" and "standing desk converter", end up apart because their results show different products. The informational clusters become guides, while the commercial ones map to category pages, matching the intent behind each query.

Notice too that "standing desk height" and "how high should a standing desk be" share almost no words, yet they belong together. A simple word-matching approach would have split them into two pages. Checking the results is what reveals that searchers want the same answer, which is why overlap data is worth collecting before you commit to a page plan.

Mapping clusters to pages without cannibalisation

  • Give every cluster exactly one target URL and record it in a keyword map. If an existing page already ranks for the cluster, improve that page instead of writing a new one.
  • Use the primary keyword in the title and main heading, and cover the other cluster keywords naturally in subheadings and body text, following on-page SEO basics.
  • Before publishing anything new, search the keyword map for the target query to make sure no other page already owns it.
  • If two live pages compete, merge them into the stronger one and redirect the weaker URL with a 301.
  • Link related clusters to each other so the site structure reflects how the topics connect.

Practical exercise: cluster thirty keywords in a spreadsheet

Choose a product or service and collect thirty related keywords. Set up a sheet with columns for keyword, monthly demand estimate, intent and top ten URLs. Record the results for each keyword, compare pairs with the formula above, and assign a cluster name using a threshold of three shared URLs.

You are done when every keyword has a cluster, every cluster has one target URL (existing or planned), and you can explain in one sentence why any two similar-looking keywords were kept apart. Feed the finished clusters into a topical map to plan the wider section.

Common mistakes

  • Creating a separate page for every keyword variant instead of one page per cluster.
  • Relying only on semantic similarity, which can merge queries that search engines answer with different pages.
  • Checking results while logged in or from the wrong country, which skews the overlap data.
  • Clustering once and never rechecking, even though results for a query can change over time.
  • Writing a new page for a cluster that an existing page already ranks for, which splits signals between two URLs.

Frequently asked questions

What SERP overlap threshold should I use?

Many practitioners start with three or four shared URLs out of ten. Lower thresholds create bigger, looser clusters; higher ones create smaller, tighter clusters. Test a threshold on keywords you already understand, then apply it to the rest.

Do I need a paid tool for keyword clustering?

No. A spreadsheet and manual result checks work for a few dozen keywords. Paid clustering tools automate the result collection and comparison, which saves time on lists of hundreds or thousands of queries.

How is keyword clustering different from a topical map?

Clustering decides which keywords belong on the same page. A topical map arranges those pages into a hierarchy and plans how they link together. Clustering usually feeds into the map.

Want to Learn This Properly?

The SEO Content Strategy & Semantic SEO (Online) turns guides like this into practised skills, with projects on real websites.

WhatsApp Call Us Now

Free counselling

Send an Enquiry

Tell us which course you are interested in. We reply by email or phone with the next batch and how to enrol.

We reply by email or phone within working hours. No spam.