How to Create a Topical Map for SEO: Plan It From the SERP, Then Check It Against Your Site

← All posts

A topical map is a plan of every search intent a site should answer on one subject: one page or one section per intent, grouped into pillars and clusters and joined by internal links. Most guides stop once that plan exists. We'd call it half the job. A map built from search demand says nothing about the forty or four hundred pages the site already has, and those pages are where the keyword cannibalization a map is supposed to prevent usually comes from. The other half is checking the plan against your own site before anyone writes a word.

What is a topical map, and what it isn't

Three parts of that definition carry the weight: the unit is an intent, each intent gets exactly one home, and the homes link to each other. Take any of them out and what's left is usually one of the documents in the table below, often still called a topical map. (Topical authority map and topical content map are the same plan under other names. Topical mapping is the work of making one.)

Often confused withWhat it holdsWhat it lacks that a topical map has
Keyword listPhrases with volume and difficultyWhich phrases share a page; it has a row per phrase, where a map has a row per intent
Content clusterOne pillar page and its supporting pagesThe other clusters, and the borders between them
XML sitemapURLs that exist, listed for crawlersPages that should exist, and pages that shouldn't
Content calendarPublish dates and ownersWhy each page exists and which pages it links to

Of the four, the calendar does the most damage, because it looks like a plan. Filled straight from a keyword list, it can schedule two articles for one intent a month apart, and nothing on the calendar will tell you.

The unit of a topical map is a SERP, not a keyword

Keyword tools return phrases. Google ranks pages for groups of phrases it treats as one need, and the results page is the only public evidence of how it draws those groups. Two phrases that bring up mostly the same URLs belong on one page. Two that don't are two nodes, however alike the wording: "topical map" and "seo map" share two words and very little else.

The check runs on a whole list at once. Our keyword clustering tool fetches the live top ten for every phrase, US-wide or for one of ten US cities, and groups two phrases when they share a set number of URLs. You pick the number, anywhere from 2 to 7; it starts at 3.

We don't have a figure for which threshold comes closest to Google's own grouping, and we doubt anyone outside Google does. Three is where the slider starts, not something we measured. What we can say is which mistake costs more. Set it low and two different intents can land in one group because the same encyclopedia page ranks for both; you find out while writing, when the draft reads like two articles stapled together, and you split it before it goes live. Set it high and near-synonyms scatter into separate groups, each gets a page, and the pages compete with each other from the day they're published. That second mistake surfaces in Search Console months later and gets fixed with redirects. Whatever number you use, put it in the map's header row, next to the date of the run.

The same test settles pages you already have. Two existing URLs on one SERP, for one reader: merge into the stronger one and redirect. If they share a subject and answer different questions, sharpen each until it does one job, then link them. When one turns out to be a step inside the other, both can stay, provided the broader page summarises the narrower one in a few sentences and links down to it.

How to create a topical map in six steps

Completing a topical map takes six steps. The first four appear in every guide on the subject, and we'll keep them short. Steps 5 and 6 get sections of their own afterwards, because most maps go wrong there.

  1. Fix the central entity and draw the border.
  2. Collect nodes from more than one source.
  3. Group the nodes by intent, using the SERP.
  4. Arrange pillars, clusters and supporting pages.
  5. Decide which nodes get their own page.
  6. Check the map against the site you already have.

1. Fix the central entity and draw the border

Write down what the site sells and to whom. Then write down what the map won't cover. People who work from Koray Tuğberk Gübür's framework call the first part source context and the subject at its centre the central entity; the vocabulary is optional, the second sentence isn't. Without a written border a map keeps growing toward whatever brings traffic.

2. Collect nodes from more than one source

A node is a question someone searches, and one keyword database misses a large share of them, because it only holds phrases it has enough data to estimate. Our keyword research tool pulls suggestions from twelve sources: the search boxes of Google, Bing, DuckDuckGo, YouTube, Amazon, eBay, Etsy, Google Shopping and Perplexity, Rising and Top queries from Google Trends, and two Google modes, A-Z expansion and a question set. The column we'd read first is Source. Phrases that come only from Questions and YouTube are the informational layer, raw material for supporting pages and H2s, and Trends Rising returns queries gaining demand, often before they have a volume figure.

Expect much of the volume column to stay empty. The volumes are Google's, and many phrases from the other platforms and the question patterns have none, which is not the same as no demand: Google says about 15% of the searches it sees each day are new. A blank cell is unknown demand. On a B2B subject the blank rows are often the most specific questions on the map, the ones a buyer types after the sales call. People Also Ask and your own Search Console queries (with brand queries filtered out) fill in what no tool returns.

3. Group the nodes by intent, using the SERP

Run the list through SERP-overlap grouping as above. Each group is a candidate page, with its highest-demand phrase as the primary keyword and the rest as secondary keywords. The group's search intent comes from what its top ten shows: guides and definitions mean an article, product comparisons mean a commercial page, category and product pages mean a transactional one. A group whose top ten is a page type you can't build gets dropped, whatever its numbers, with one exception. When articles and tool pages split the top ten between them, an article can usually still find a place there, just not at the top.

4. Arrange pillars, clusters and supporting pages

Groups covering a broad attribute of the subject become pillars; narrower groups become clusters under them, each with a lead page and supporting pages for its specific questions. On a site about SEO, crawling and indexing is a pillar, crawl budget a cluster inside it, "how to find orphan pages" a supporting page. Every row gets the same columns: primary keyword, secondary keywords, intent, level, parent, URL, status, and the pages it has to link to.

Folders are optional for most sites. Google's SEO Starter Guide mentions directories as a help for sites with more than a few thousand URLs, where they let Google learn how often each section changes.

5. Decide which nodes get their own page

Not every group on a topical map earns a URL. Some become sections of a pillar, some a paragraph, a few nothing. The next section is about how to tell which.

6. Check the map against the site you already have

Every row gets matched to the existing page that already answers it, if there is one, and to every page it overlaps, before anything is written.

Not every node needs its own page

A topical map that gives every question its own URL looks thorough in a spreadsheet. On the site it reads as forty thin pages.

Google put this in writing in May. Its guide to optimizing for generative AI features in Search, published on 15 May 2026, takes up the urge to create separate content for every way people might phrase a search, and says that doing it mainly to influence rankings or AI responses breaks the scaled content abuse policy. That policy has existed since March 2024 and applies whether people, software or both made the pages.

The AI part explains where the urge comes from. AI Overviews and AI Mode may run several related searches on subtopics to put one answer together, and each of those searches looks like a node somebody forgot to map. Most of them can be answered inside a pillar. The same guide also says there's no requirement to break content into tiny pieces for AI and no ideal page length.

Google's guide to generative AI features in Search (May 2026): creating "separate content for every possible variation of how people might search", when it's done "primarily to manipulate rankings or generative AI responses in Google Search", falls under the scaled content abuse policy.

This is the step we'd spend the most time on. The evidence for each node is what the ranking pages already do with the question. Open the top ten for the pillar's main phrase, list their H2 and H3 headings next to the People Also Ask questions, and check each node from step 2 against that list. On its own a label doesn't make a page. Read it next to the SERP grouping from step 3.

What the evidence showsWhat the node becomes
No ranking page has a section on it, and it has its own group in the SERP groupingA page. The strongest rows on any map
No ranking page has a section on it, and it sits in the pillar's groupA section of the pillar, written first
A few ranking pages touch itA deeper section than the ranking pages give it; a page only if the grouping gave it its own SERP
Most ranking pages answer it, the same wayA short section, or a sentence and a link

For a node on the border, we ask whether its page would hold even one sentence the pillar has no room for. If it wouldn't, it's a section.

Check the map against the site you already have

The second pass starts from the other end: what the site already says, with the plan laid over it. Ahrefs' topical map template, which is good and which we'd use for the planning half without hesitation, handles existing content with two fields: you paste the URL into Mapped URL and set Page Type to Existing or New. Those fields record what each page was written for. A search engine reads what the page says now, and after two years of updates by different people those are often different things.

The overlaps a URL column misses come in a few shapes, and they aren't equally common. Drift is the usual one: two pages written for different keywords that, a couple of rewrites later, answer the same question. Harder to see is a single section, a "what is" block or a comparison table, repeated on pages that otherwise have nothing in common. That's cannibalization at the level of a section, and no URL list will show it. Sometimes the problem is a missing link instead, a guide and a listing on one subject two clicks apart, each ranking alone.

Our topical map tool does this pass by reading the site with an embedding model. It takes up to 200 pages from sitemap.xml, spread across the site's sections in proportion to their size (cart, login and legal pages are skipped), embeds each one chunk by chunk, and calibrates its thresholds on every run against the site itself. A one-product site and a publisher covering everything need different ideas of "too similar", and a fixed cut-off would flag far too much on one and far too little on the other.

What the tool reportsWhat it means for the map
Two pages competing for one meaningPage-level cannibalization: one node with two homes. Merge, split or link, as in the SERP section
A section repeated across pagesKeep it where its node lives; elsewhere, cut it to two sentences and a link
Guide and listing with no link between themA missing edge. Link both ways, in body text
A topic whose articles never link to a service pageThe cluster stops before the offer. Link from the articles where the text leads to it
A topic carried by a single pageA cluster with no supporting pages: build it out, or fold the page into its pillar
A core page short of internal linksLink to it from the strongest pages in its cluster

A caution we'd attach to any embedding tool, ours included. Embeddings are a model's reading of your pages, and Google doesn't publish how it compares pages; two URLs our model calls near-identical may never split a ranking. Search Console is where that gets confirmed. Filter the Performance report by the queries the pair should share and open the Pages tab: if both URLs collect impressions for the same queries, and the one Google shows keeps changing week to week, the cannibalization is there for Google too. If only one URL ever shows, we'd leave the pair alone, even with a high similarity score.

Internal linking rules for the map

Links are the only part of a topical map that exists outside the spreadsheet. They're worth writing into it as rules, so nobody has to guess:

  • Up. Every supporting page links to the lead page of its cluster and to its pillar.
  • Down. Pillars link to each cluster under them; lead pages link to their supporting pages.
  • Across. Only where one page helps a reader of the other. In most clusters that's a few pairs, not all of them.
  • Anchors. Name the destination. Google's link guidance says descriptive anchor text helps both people and Google make sense of a site.

Then look at where the links sit. A page in the main menu and the footer can have hundreds of incoming links without one sentence of context around any of them. Our internal link checker crawls up to 5,000 pages and counts links in body text separately from navigation, footer and sidebar, flagging pages that only menus point to. On a site that has just published a map, expect the flagged pages to be the new cluster pages: live, added to the navigation, never mentioned in an article. The checker proposes donor pages by section and anchor and doesn't read what pages are about, which is a deliberate limit. Closeness in meaning is what the embedding pass above is for.

How to tell whether the topical map is working

Measure a topical map by cluster. A supporting page can look weak on its own while its cluster picks up impressions on dozens of queries none of its pages targets. In Search Console's Performance report, a page filter with a regex covering the cluster's URLs (a folder, or a list of slugs) gives clicks, impressions and queries for the whole cluster in one view.

Two additions from the past year make that view cleaner. The branded queries filter, open to all eligible sites since March 2026, strips out brand searches, which otherwise hide whether the cluster reaches anyone new. Query groups in Search Console Insights, introduced in October 2025, bundle variations of one question, close to the map's own unit; Google shows them only on properties with a large volume of queries, though, and most sites building their first map won't see them.

We give a new cluster four to eight weeks before reading its positions.

After that, some patterns mean the map needs fixing, and more time won't change them. Two of your URLs trading the same queries in the Pages tab. A cluster gaining impressions on queries no page in it was built for, which points to a missing node. Supporting pages with impressions and no clicks while the pillar takes every click: those nodes were probably sections all along.

Does Google have a topical authority score?

None that it documents. In May 2023 Google described a topic authority system for news, which helps surface expert and local sources for news queries in specialised areas such as health, politics and finance. Its guide to ranking systems lists no general topical authority system for other sites. The internal documentation that leaked in 2024, which Google confirmed as authentic, does contain attributes named siteFocusScore and siteRadius, with one-line descriptions: how focused a site is on one topic, how far its pages drift from the site's main topic.

Field names and one-line descriptions are all the leak shows. Does siteRadius feed rankings directly, or a classifier upstream of them? Is it still computed at all? Nobody outside Google has shown either way, and we haven't either. Our topical map tool measures the distance between your pages with our own embeddings, and we can't tell you how close that comes to whatever Google computes.

The argument for a map doesn't need the score to exist. Google's helpful content guidance asks whether a site has a primary purpose or focus, and lists lots of content on many topics, published in the hope that some of it performs, as a warning sign.

One prediction we're willing to be checked on: before the end of 2027, a Google spam update announcement will name pages built for AI query variations as an example, the way the March 2024 update named scaled content. Maps planned page-per-question will be the first to feel it.