← Volver al Journal
· 17 min de lectura

Keyword Clustering for SEO: How to Group Keywords and Build Topical Authority for Free

Keyword clustering is the difference between a site that ranks for one keyword and a site that ranks for hundreds. Here's how to cluster keywords, build topical authority maps, and structure content — all using free tools and a spreadsheet.

I used to publish individual articles targeting individual keywords. One article for “what is a smart contract,” another for “how do smart contracts work,” another for “smart contract examples.” Each one ranked okay on its own. But I noticed something frustrating: competitors with fewer total articles were outranking me across the board.

The difference wasn’t content quality. It was structure. They had organized their content into clusters — tightly linked groups of related articles that collectively covered an entire topic. Google saw their site as a comprehensive resource on the subject. My site was a scattergun collection of individual pages.

This is the story of how I stopped publishing isolated articles and started building topical authority through keyword clustering. And how you can do the same thing without paying for Ahrefs, SEMrush, or any clustering tool.

What Keyword Clustering Actually Is (And Isn’t)

Keyword clustering is the process of grouping related search terms into thematic clusters, then mapping those clusters to a content structure. Each cluster becomes a hub page (or pillar page) with supporting articles that link back to it.

A cluster is not just “keywords that share a word.” It’s keywords that share search intent and semantic relevance. “How to bake bread” and “bread recipes” might belong in the same cluster. But “bread wallet” (a crypto wallet) and “bread recipes” do not, even though they share the word “bread.”

Here’s a real example from one of my sites. I had these keywords from my research:

  • bazi calculator
  • bazi chart
  • bazi meaning
  • how to read a bazi chart
  • bazi four pillars
  • bazi calculator free
  • chinese astrology calculator
  • four pillars of destiny

Before clustering, I would have written separate articles for each one. Eight articles, all competing with each other for the same user’s attention, all cannibalizing each other’s rankings.

After clustering, I realized these all serve the same intent: someone wants to understand or generate their Bazi chart. So I created one comprehensive pillar page (“Bazi Chart: The Complete Guide to Chinese Four Pillars Astrology”) and supporting articles that go deeper on specific sub-topics. One pillar, four supporting pages, all interlinked. Total pages: five instead of eight. Rankings: significantly better.

That’s the power of clustering. Fewer pages, better rankings, happier users.

Why Google Cares About Clusters (The Topical Authority Signal)

Google’s algorithm has evolved beyond matching keywords to pages. With the Hummingbird update (2013), RankBrain (2015), and the Helpful Content System (2022+), Google now evaluates the topical depth of a site. It asks: “Does this site comprehensively cover this subject, or is it just chasing individual keywords?”

Think of it from Google’s perspective. If two sites both have an article about “what is tarot,” but Site A also has articles about tarot card meanings, tarot spreads, tarot history, yes/no tarot, and how to read tarot — Google will rank Site A higher for “what is tarot” too, even if the individual article is similar in quality. Site A has demonstrated topical authority.

Topical authority works like a trust signal. When you comprehensively cover a topic, Google’s algorithm infers that you’re an expert in that area. This trust flows through your internal links, boosting every page in the cluster.

Here’s what I’ve observed across my own sites:

Site A — 25 articles spread across 8 different topics. Each topic had 2-4 articles. Rankings were mediocre everywhere. No topic had enough depth to trigger the authority signal.

Site B — 25 articles focused on just 2 topics. One topic had 18 articles, the other had 7. The well-covered topic ranked consistently in the top 5 for its target keywords. The less-covered topic struggled. Same number of total articles, vastly different results.

The lesson: depth beats breadth. A site with 20 articles on one topic will outperform a site with 100 articles scattered across 20 topics.

The Free Keyword Clustering Method

Professional SEO tools charge $50-200/month for keyword clustering. They use NLP and SERP overlap analysis to automatically group keywords. But the underlying methodology is simple enough to replicate manually. Here’s my process, step by step.

Step 1: Gather Your Keyword List

You need a raw list of keywords before you can cluster them. If you haven’t done keyword research yet, start with free tools:

Google Autocomplete — Type your seed keyword and note every suggestion. The keyword_research tool automates this:

python3 -m zens_ink.keyword_research "bazi" --expand

This appends a-z to your seed, pulling the full long-tail spectrum. For “bazi,” you’ll get variants like “bazi calculator,” “bazi chart reading,” “bazi meaning astrology,” and dozens more.

Google Search Console — Check what queries already bring impressions to your site. These are keywords Google already associates with your domain. Go to Search Console → Performance → Search results → filter by queries. Export everything with more than 10 impressions.

Google “People Also Ask” — Search your seed keyword on Google and expand every “People Also Ask” question. Each question is a potential keyword. This is especially valuable for finding informational intent keywords.

Competitor sitemaps — Download a competitor’s sitemap and extract their URL slugs. If a competitor has pages at /bazi-calculator/, /bazi-chart/, and /bazi-reading/, those are confirmed keyword targets. You can automate this:

python3 -m zens_ink.competitor_gap --sitemap https://competitor.com/sitemap.xml

After this step, you should have a spreadsheet with 50-500 raw keywords. Don’t worry about quality yet — you’ll filter during clustering.

Step 2: Add Search Volume Data

Clustering without volume data leads to wasted effort on clusters nobody searches for. Add approximate monthly search volume to each keyword.

Bing Webmaster Tools — Gives you impression data for keywords where your site appears in Bing results. Not Google volume, but directionally useful. Free.

python3 -m zens_ink.keyword_volume "bazi calculator" "bazi chart" "bazi meaning"

Google Keyword Planner — Free with a Google Ads account (you don’t need to run ads). Gives ranges like “100-1K” or “1K-10K.” Not exact, but enough to prioritize.

Google Search Console — If you already rank for a keyword, GSC gives you exact impression and click data. This is the most accurate volume proxy you’ll get for free.

After this step, your spreadsheet should have three columns: Keyword, Search Volume (or range), and Source.

Step 3: Identify Search Intent

Every keyword has one of four intents:

Informational — The user wants to learn something. “What is bazi,” “bazi meaning,” “how to read bazi chart.” These keywords need educational content.

Navigational — The user is looking for a specific site or tool. “Bazi calculator free,” “bazi calculator online.” These keywords need tool pages or landing pages.

Commercial — The user is comparing options before a decision. “Best bazi calculator,” “bazi reading review.” These keywords need comparison or review content.

Transactional — The user is ready to act. “Buy bazi reading,” “professional bazi consultation.” These keywords need product or service pages.

Assign an intent label to each keyword. You can do this manually for lists under 200 keywords, or use simple rules:

  • Starts with “what is” / “how to” / “why” → Informational
  • Contains “best” / “vs” / “review” / “alternative” → Commercial
  • Contains “buy” / “price” / “cost” / “hire” → Transactional
  • Contains “free” / “online” / “tool” / “calculator” → Navigational
  • Everything else → Read the SERP to determine intent

Intent matters for clustering because you should never mix intents within the same cluster. An informational article and a transactional page targeting the same root keyword serve completely different users. They should be separate pages — but they can still link to each other.

Step 4: Group by Semantic Similarity

This is the core clustering step. Group keywords that share:

  1. The same root concept — “bazi calculator,” “bazi calculator free,” “bazi calculator online” all revolve around the same thing: a tool that calculates your Bazi chart.
  2. The same search intent — All three of those keywords are navigational. Someone wants to use a calculator.
  3. SERP overlap — If you search “bazi calculator” and “bazi chart” on Google and see the same pages ranking for both, Google considers them semantically related. They belong in the same cluster.

The SERP overlap test is the most reliable clustering signal. Here’s how to do it for free:

Search keyword A on Google (use incognito mode). Note the top 10 ranking URLs. Then search keyword B. If 4+ of the same URLs appear in both results, Google treats these keywords as interchangeable — they belong in the same cluster, and you should target them on the same page.

If 1-3 URLs overlap, the keywords are related but distinct. They belong in the same cluster (linked together) but on different pages.

If 0 URLs overlap, the keywords are unrelated. Different clusters entirely.

I typically check SERP overlap for the top 5-10 keywords in my list. For long-tail variants (like “bazi calculator free online” vs “bazi calculator”), I assume overlap and group them together without checking.

Step 5: Build the Cluster Map

Now translate your keyword groups into a content structure. Each cluster has:

One pillar page — A comprehensive, long-form page (2,000-5,000 words) that covers the topic broadly. It targets the highest-volume, most competitive keyword in the cluster. It links to all supporting pages.

3-10 supporting pages — Each one goes deep on a specific sub-topic. They target long-tail keywords with lower volume and competition. Each supporting page links back to the pillar.

Internal links — The pillar links to every supporting page. Every supporting page links back to the pillar. Supporting pages link to each other when topically relevant.

Here’s what a cluster map looks like for my Bazi example:

Pillar: "Bazi Chart: Complete Guide to Four Pillars" (bazi chart, bazi meaning)
├── "How to Read a Bazi Chart" (how to read bazi chart)
├── "Bazi Calculator: Free Online Tool" (bazi calculator, bazi calculator free)
├── "Bazi Four Pillars Explained" (four pillars of destiny, bazi four pillars)
├── "Chinese Astrology vs Western Astrology" (chinese astrology calculator)
└── "Bazi Elements and Their Meanings" (bazi five elements)

Five pages, one cluster. Each page targets 1-3 keywords. Total: ~12 keywords covered by 5 pages instead of 12 separate articles.

Step 6: Prioritize Clusters by Opportunity

You’ll end up with multiple clusters. Not all of them are worth pursuing. Score each cluster on:

Total search volume — Sum the volumes of all keywords in the cluster. Higher is better.

Competition level — Check the SERP for the pillar keyword. Are the top results from authoritative sites (Wikipedia, major brands)? Or are they small blogs and tool pages? Use the SERP analysis method:

python3 -m zens_ink.kd_analysis "bazi chart"

Content gap — Are there questions in “People Also Ask” or related searches that competitors don’t answer well? If yes, you have an opportunity to create better content.

Business relevance — Does this cluster align with your product or monetization goal? A high-traffic cluster that doesn’t convert is lower priority than a moderate-traffic cluster that brings paying users.

Score each cluster 1-5 on these four dimensions. Multiply for a rough opportunity score. Start with the highest-scoring cluster.

How to Automate Clustering with a Spreadsheet

If you have 200+ keywords, manual clustering gets tedious. Here’s a spreadsheet method that handles most of the work.

The SERP Co-occurrence Method

  1. Export your keyword list with search volumes to a spreadsheet (Google Sheets or Excel).
  2. For your top 30-50 keywords by volume, search each one on Google and record the top 5 ranking domains.
  3. Create a matrix: keywords as rows, ranking domains as columns. Mark an X where a domain ranks for a keyword.
  4. Keywords that share 3+ ranking domains are in the same cluster.

This is a simplified version of what tools like Keyword Cupid and ClusterAi do. The math is the same; they just automate the SERP checking.

For lists under 100 keywords, you can do this manually in about two hours. For larger lists, batch the SERP checks using a free SERP API (Serper.dev gives 2,500 free queries/month).

The Keyword Overlap Method (No SERP Needed)

If checking SERPs is too time-consuming, use keyword string similarity:

  1. Sort keywords alphabetically.
  2. Group keywords that share 2+ consecutive words. “Bazi calculator free,” “bazi calculator online,” and “bazi calculator tool” all share “bazi calculator.”
  3. Within each group, check if the additional words change the intent. “Free” and “online” don’t — same page. “Review” does — different page.
  4. Merge groups that share a common keyword. “Bazi calculator” and “bazi chart” share “bazi” — but they’re different enough to be separate pages in the same cluster.

This method is less accurate than SERP overlap but takes 30 minutes for any list size. It’s what I use for initial triage before doing SERP checks on the top keywords.

Building the Pillar Page

Your pillar page is the centerpiece of the cluster. It needs to be the best page on the internet for the broad topic. Here’s what makes a pillar page effective:

Comprehensive coverage — Cover every major sub-topic that a user might search for. Don’t go deep on any one sub-topic (that’s what supporting pages are for), but make sure you address every angle. A good pillar page reads like a textbook chapter overview.

Clear structure — Use H2 and H3 headings for each sub-topic. These headings often match the keywords of your supporting pages. This creates a natural internal linking structure.

Table of contents — Essential for long pillar pages. It helps users navigate and gives Google additional context about your page structure.

Internal links to all supporting pages — Each H2 section should link to its corresponding supporting page with “Learn more about [specific sub-topic]” or similar anchor text.

Target the head keyword — The pillar page targets the highest-volume keyword in the cluster. Optimize the title tag, H1, and meta description for this keyword.

Here’s a template I use for pillar pages:

Title: [Broad Topic]: The Complete Guide to [Niche/Angle]
H1: [Broad Topic]: The Complete Guide
Intro: 2-3 paragraphs answering the core question directly (BLUF style)

## What Is [Topic]?
Brief explanation + link to supporting page for deep dive

## How [Topic] Works
High-level overview + link to supporting page

## [Topic] Key Components
List of main elements + link to supporting page for each

## Common Questions About [Topic]
FAQ section targeting PAA queries

## [Topic] Tools and Resources
Link to tool pages in the cluster

## Summary
Wrap-up + links to all supporting pages

Building Supporting Pages

Supporting pages go deep on one specific aspect of the cluster topic. They should be the best page on the internet for that specific sub-topic.

Each supporting page should:

Target 1-3 closely related keywords — Not more. If you’re targeting more than 3 keywords on one page, your content will be unfocused.

Link back to the pillar page — Usually in the first paragraph or introduction. Use the pillar’s target keyword as anchor text.

Link to other supporting pages — When you mention a concept covered in another supporting page, link to it. This creates a web of internal links that strengthens the entire cluster.

Answer a specific question — Supporting pages work best when they target a specific question or need. “How to read a Bazi chart” is better than “Bazi chart reading guide.”

Be 1,000-2,500 words — Long enough to be comprehensive, short enough to stay focused. Pillar pages are the long ones; supporting pages should be concise.

Internal Linking: The Glue That Holds Clusters Together

Internal linking is what transforms a collection of articles into a topical authority cluster. Without internal links, Google sees individual pages. With them, it sees a comprehensive resource.

The rules:

Pillar links to all supporting pages — Every supporting page gets at least one link from the pillar. Use descriptive anchor text that includes the supporting page’s target keyword.

Every supporting page links back to the pillar — This passes authority back to the pillar, which distributes it across the cluster. Use the pillar’s target keyword as anchor text.

Supporting pages link to each other — When relevant. Don’t force it. Only link when it genuinely helps the reader understand the topic better.

Use contextual links, not navigation links — Links in the body text of an article carry more weight than links in sidebars, footers, or “related posts” sections. Google values editorial links — links placed in context because they add value.

Don’t over-optimize anchor text — Use natural variations. If every internal link uses the exact keyword as anchor text, Google may flag it as manipulative. Mix exact match, partial match, and natural language anchors.

Here’s what a healthy internal link profile looks like for a cluster:

Link FromLink ToAnchor Text
PillarSupporting A”how to read a bazi chart”
PillarSupporting B”free bazi calculator”
PillarSupporting C”four pillars of destiny”
Supporting APillar”bazi chart guide”
Supporting ASupporting B”bazi calculator”
Supporting BPillar”bazi chart”
Supporting CPillar”complete bazi guide”

Notice the anchor text variety. No two links use the exact same anchor text. Some use the target keyword, some use variations, some use natural language.

Common Clustering Mistakes I’ve Made (So You Don’t Have To)

Mistake 1: Creating clusters that are too narrow. I once created a cluster around “bazi calculator” with supporting pages for “bazi calculator free,” “bazi calculator online,” and “bazi calculator accurate.” Three pages targeting essentially the same keyword. Google ranked none of them because they cannibalized each other.

Fix: If SERP overlap is 4+ out of 10 URLs, put those keywords on the same page. Don’t create separate pages for keywords that Google considers identical.

Mistake 2: Creating clusters that are too broad. I tried to make “Chinese metaphysics” a cluster, with supporting pages about Bazi, Feng Shui, I Ching, and Chinese astrology. The cluster was too broad — these are distinct topics with different audiences. Google didn’t know what the pillar page was about.

Fix: Keep clusters focused on one specific topic. If supporting pages don’t share a clear semantic core, they belong in different clusters.

Mistake 3: Orphan supporting pages. I published supporting pages without linking them from the pillar. They were indexed but had no internal links pointing to them. Google treated them as low-importance pages.

Fix: Before publishing any supporting page, verify it has at least one internal link from the pillar page and one link to the pillar page. Check your site for orphan pages regularly.

Mistake 4: Publishing the pillar last. I used to publish supporting pages first and write the pillar page last. By the time the pillar went live, the supporting pages had been indexed as standalone articles without a hub. Google had already categorized the site as a scattered collection.

Fix: Publish the pillar page first. Even if it’s a shorter initial version, get it indexed. Then publish supporting pages one by one, linking to and from the pillar. Update the pillar each time you add a supporting page.

Mistake 5: Not updating pillar pages. I published a pillar page, added five supporting pages over three months, but never updated the pillar to link to them. The pillar remained the original version while the cluster grew around it.

Fix: Every time you publish a new supporting page, update the pillar page to include a link to it. Add the sub-topic to the pillar’s table of contents. This signals to Google that the pillar is being actively maintained and the cluster is growing.

How to Track Cluster Performance

Once your cluster is live, track its performance using free tools:

Google Search Console — Filter by page to see which pages in the cluster are getting impressions and clicks. Look for patterns: if the pillar page is getting traffic but supporting pages aren’t, your internal linking may be weak. If supporting pages are getting traffic but the pillar isn’t, your pillar may need to be more comprehensive.

Check rankings manually — Once a month, search your target keywords in incognito mode and note your position. I use a simple spreadsheet to track keyword positions over time. It’s not as fancy as a rank tracker, but it’s free and accurate enough.

Monitor cannibalization — If two pages from the same cluster start competing for the same keyword (both appear in the SERP), Google is confused about which page to rank. This usually means you need to consolidate the pages or differentiate them more clearly.

Watch for new keyword opportunities — GSC shows you queries that bring impressions but that you didn’t explicitly target. These are expansion opportunities — new supporting pages you can add to the cluster.

The Cluster Velocity Strategy

Don’t publish an entire cluster at once. Google rewards sites that publish consistently over time. Here’s the publishing schedule I’ve found effective:

Week 1: Publish the pillar page. Make it comprehensive but not exhaustive — you’ll be updating it as you add supporting pages.

Week 2-3: Publish your first supporting page. Link it to and from the pillar.

Week 4-5: Publish the second supporting page. Update the pillar to include the new sub-topic.

Week 6-7: Publish the third supporting page. Add internal links from the first and second supporting pages.

Continue this pattern. The key is consistency — Google sees a site that’s actively building depth on a topic, not just dumping content.

After 2-3 months, your cluster should have 5-8 pages. At this point, you’ll likely see a noticeable ranking improvement across all pages in the cluster. The authority signal kicks in when Google sees enough depth.

I’ve tracked this pattern across multiple clusters on my own sites. The typical timeline looks like this:

  • Month 1: Pillar page indexed, minimal rankings. Supporting pages start getting indexed.
  • Month 2: Supporting pages appear in top 50-100 for their target keywords. Pillar starts appearing for broader terms.
  • Month 3: Pages start climbing. Supporting pages break into top 20-30. Pillar appears in top 30-50.
  • Month 4-5: With 5+ pages in the cluster and strong internal links, rankings accelerate. Supporting pages reach top 10-20. Pillar reaches top 20-30.
  • Month 6+: If content quality is high and the cluster is comprehensive, pages stabilize in the top 10.

These are averages from my own sites, which are relatively new (less than 2 years old). Sites with stronger domain authority will see faster results.

Cluster Expansion: Growing Beyond the Initial Cluster

Once your first cluster is performing well, expand in two directions:

Deepen the cluster — Add more supporting pages covering sub-topics you haven’t addressed yet. Look at “People Also Ask” queries, related searches, and competitor pages for ideas. The deeper your cluster, the stronger your topical authority signal.

Create adjacent clusters — Identify a related topic that shares some keywords with your existing cluster but serves a different intent. For example, after building a “Bazi chart” cluster, you might create a “Bazi compatibility” cluster (for relationship readings) or a “Bazi luck pillars” cluster (for fortune-telling).

Adjacent clusters should link to each other at the pillar level. This creates a cluster network — multiple clusters connected by internal links, covering an entire subject area. Sites with cluster networks are what Google considers true topical authorities.

Free Tools Checklist for Keyword Clustering

Here’s every tool you need, all free:

ToolPurposeCost
Google AutocompleteKeyword discoveryFree
Google Search ConsoleKeyword discovery + performance trackingFree
Google Keyword PlannerSearch volume rangesFree (Google Ads account)
Bing Webmaster ToolsSearch volume + impression dataFree
Google Sheets / ExcelClustering and trackingFree
Serper.dev (free tier)SERP data for overlap analysis2,500 queries/month free
Google “People Also Ask”Intent and content gap discoveryFree
Competitor sitemapsKeyword and content gap discoveryFree

That’s it. No Ahrefs. No SEMrush. No paid clustering tools.

Wrapping Up

Keyword clustering is the single highest-impact SEO activity for indie sites. It transforms scattered content into a structured resource that Google recognizes as authoritative. And the entire process — from keyword research to clustering to content planning — can be done with free tools and a spreadsheet.

The key takeaways:

  • Cluster, don’t scatter. Groups of related pages outperform isolated articles.
  • SERP overlap is your clustering signal. Keywords that share ranking URLs belong together.
  • Internal links are the glue. Without them, clusters don’t exist in Google’s eyes.
  • Publish the pillar first, then build depth over time. Consistency beats dumps.
  • Depth beats breadth. One well-covered topic outperforms five half-covered ones.

Start with one cluster. Pick the topic you know best. Map the keywords, plan the structure, publish the pillar, and build supporting pages over the next few weeks. You’ll see the difference within a few months — not just in rankings, but in how Google treats your entire site.

If you want to speed up the research phase, the open-source tools handle keyword discovery, volume lookup, and competitor gap analysis. Run them, export the results, and do the clustering in a spreadsheet. The methodology is the same whether you use free scripts or a $200/month platform. The difference is in the doing.


This article is part of ZensInk’s free SEO guides for indie developers and solo builders. All tools mentioned are free or have meaningful free tiers. No affiliate links, no gatekeeping.

Want to run this analysis on your own site?

ZensInk Pro automates this pipeline. One command, from seed keywords to content plan.

Get Pro →