Home / Blog / Free Topical Map Template for SEO (Copy and Use)

Free Topical Map Template for SEO (Copy and Use)

A topical map template is a spreadsheet with one row per planned page, where each row records the page’s role (pillar, cluster or support), its parent, the query it targets, its intent, its URL, the pages it links to and when it gets published. The…

Free Topical Map Template for SEO (Copy and Use)

A topical map template is a spreadsheet with one row per planned page, where each row records the page’s role (pillar, cluster or support), its parent, the query it targets, its intent, its URL, the pages it links to and when it gets published. The free topical map template below is the exact column set I use, with five filled example rows and a CSV block you can paste straight into Google Sheets or Excel. Then I’ll show you which extra columns to add depending on your site.

This post is about the sheet itself. If you still need to research and group the topics that go into it, start with my guide on how to create a topical map and come back here with your list.

The Topical Map Template (11 Columns)

The example rows use a made-up houseplant care blog so the logic is easy to follow. Swap in your own niche; the columns don’t change.

IDTypeParentPage TopicPrimary QueryIntentFormatURL SlugLinks ToWaveStatus
P1PillarnoneHouseplant care basicshouseplant careInformationalGuide/houseplant-care/C1, C2, C31Published
C1ClusterP1Watering scheduleshow often to water houseplantsInformationalHow-to/how-often-to-water-houseplants/P1, C21Drafting
C2ClusterP1Signs of overwateringsigns of overwateringInformationalChecklist/signs-of-overwatering/P1, C11Briefed
C3ClusterP1Choosing potting soilbest potting soil for houseplantsCommercialComparison/best-potting-soil/P1, S12Planned
S1SupportC3Repotting root-bound plantshow to repot a root bound plantInformationalHow-to/repot-root-bound-plant/C3, C12Planned

To use it, copy the block below, paste it into cell A1 of an empty sheet, then use Data > Split text to columns in Google Sheets (or Data > Text to Columns in Excel) if it lands in one column. The CSV adds a twelfth column, Notes, for anything that doesn’t fit elsewhere.

ID,Type,Parent,Page Topic,Primary Query,Intent,Format,URL Slug,Links To,Wave,Status,Notes
P1,Pillar,none,Houseplant care basics,houseplant care,Informational,Guide,/houseplant-care/,"C1, C2, C3",1,Published,Hub page. Update when a new cluster goes live
C1,Cluster,P1,Watering schedules,how often to water houseplants,Informational,How-to,/how-often-to-water-houseplants/,"P1, C2",1,Drafting,Add a table by plant type
C2,Cluster,P1,Signs of overwatering,signs of overwatering,Informational,Checklist,/signs-of-overwatering/,"P1, C1",1,Briefed,Photos of yellow leaves and root rot
C3,Cluster,P1,Choosing potting soil,best potting soil for houseplants,Commercial,Comparison,/best-potting-soil/,"P1, S1",2,Planned,SERP shows product roundups. Needs a comparison table
S1,Support,C3,Repotting root-bound plants,how to repot a root bound plant,Informational,How-to,/repot-root-bound-plant/,"C3, C1",2,Planned,Short page. Links back up to C3

What Goes in Each Column of the Topical Map Template?

Every column answers one question a writer or editor would otherwise ask you in Slack. When I hand a map to a writer, I want them to open one row and know what to write, where it lives and what it links to, without a call.

Structure Columns: ID, Type and Parent

ID is a short code (P1, C1, S1) so you can reference pages in other columns without typing full titles. Type is Pillar, Cluster or Support. A pillar covers the broad topic, a cluster answers one sub-question in depth, and a support page handles a narrow detail that feeds a cluster, a pillar-and-cluster setup I weigh against folder-based silos in my content silo vs topic cluster comparison.

Parent holds the ID of the page one level up. This single column is what turns a keyword list into a map. Filter by Parent = P1 and you instantly see everything that hangs under that pillar, which also tells you whether the pillar is thin or overloaded.

Query Columns: Page Topic, Primary Query, Intent and Format

Page Topic is the plain-English subject; Primary Query is the real search phrase the page targets. Keep one primary query per row. If two rows share a query, you’ve planned two pages that will compete, so merge them now while it costs nothing.

Intent is Informational, Commercial, Transactional or Navigational, and I fill it only after looking at the live results. Format records what the top results actually are: a guide, a checklist, a comparison, a tool page. In my experience, getting Format wrong is the most common reason a well-written page never ranks.

Production Columns: URL Slug, Links To, Wave and Status

URL Slug is decided before writing so internal links can point at it from day one. Links To lists the IDs this page must link to. Google’s own guidance on crawlable links says every page you care about “should have a link from at least one other page” on your site, and this column is how you make sure no page is left orphaned.

Wave is the publishing batch, and Status tracks the page through Planned, Briefed, Drafting, Edited and Published. Those two columns turn the map into a project timeline, which I’ll expand on below.

Which Version of the Template Do You Need?

The 11 columns above cover most sites. Four conditions decide whether you need to add anything:

  1. New or existing site. An existing site needs columns that record what’s already live, or you’ll plan pages you already have.
  2. How fast you publish. Two posts a month and twenty posts a month need very different timeline tabs.
  3. Site type. Local, ecommerce and multilingual sites each add one column.
  4. Who fills it in. A solo blogger can skip Owner and Due Date columns. A team of four can’t.

The Main Path: A New Site With One Core Topic

This is the default, and the sheet above is built for it. Start with one pillar and four to six clusters in Wave 1, publish them together, and interlink them before you move on.

If you publish weekly or slower, keep Wave 1 small: the pillar plus 4 clusters, which is roughly 5 weeks of work. If you have a writer or two, Wave 1 can hold 8 to 12 pages published over 4 weeks. If you can’t commit to either, map only one pillar and its clusters, then stop. A half-built map spread over five pillars teaches Google nothing about any of them.

Why waves and not one long list? Because links only work when both ends exist. When I plan a new site, I want every Wave 1 page to link to the others on the day they go live, so the first cluster reads as a finished unit instead of a stub.

Branch 1: When the Site Already Has Content

An existing site needs three extra columns in the topical map template, placed right after URL Slug: Existing URL, Clicks (last 3 months) from Search Console, and Action. Action takes one of four values: Keep, Rewrite, Merge or New.

IDPrimary QueryExisting URLClicks (last 3 months)Action
C1how often to water houseplants/watering-tips/412Rewrite
C2signs of overwatering/overwatering/ and /yellow-leaves/38Merge
C3best potting soil for houseplantsnone0New

The click numbers here are illustrative. Pull your own from the Search Console Performance report, which keeps 16 months of data, so you can compare the same season year on year. The rule I follow: a page with clicks gets rewritten in place at the same URL, and two weak pages on the same query get merged into one with a 301 redirect from the loser.

Branch 1 changes the order of work too. On an existing site, Wave 1 is usually rewrites and merges, not new pages, because fixing what already gets impressions pays back faster than starting from zero.

Branch 2: What Does a Topical Map Timeline Look Like?

If someone else needs to see dates, add a second tab called Timeline. It groups the Wave column into a schedule with a gate before each new wave. This is the part most SEO topical map templates skip, and it’s the part people ask me about first.

WaveWeeksPagesGate Before the Next Wave
11–4Pillar + 4–6 clustersAll live, all interlinked, submitted in the sitemap
25–10Next 6–8 clustersWave 1 pages show as indexed in Search Console
311–16Support pagesCheck which Wave 1 and 2 pages get impressions, then fill their gaps
Review17+No new pagesUpdate the map: new queries, merges, retired rows
Wave,Weeks,Pages,Gate Before the Next Wave
1,1-4,Pillar + 4-6 clusters,"All live, all interlinked, submitted in the sitemap"
2,5-10,Next 6-8 clusters,Wave 1 pages show as indexed in Search Console
3,11-16,Support pages,"Check which Wave 1 and 2 pages get impressions, then fill their gaps"
Review,17+,No new pages,"Update the map: new queries, merges, retired rows"

The week ranges assume one person publishing about two pages a week. Stretch them if you publish less. What matters is the gate column: honestly, I’d rather delay Wave 2 by 3 weeks than publish into a cluster that Google hasn’t indexed yet.

Edge Cases That Add a Column

Some sites break the default. Here’s what I bolt onto the topical map template for each one, and why the extra field earns its place rather than cluttering the sheet.

  • Local businesses: add a Location column. Watch it closely. Google’s spam policies name “pages targeted at specific regions or cities that funnel users to one page” as doorway abuse, so every location row needs content that is genuinely different, not a city name swapped into the same text.
  • Ecommerce stores: add a Page Kind column (Category, Product, Guide). Categories usually take the pillar role, and buying guides sit as clusters that link down to products.
  • Multilingual sites: add a Language column and keep one row per language version, so each version gets its own slug and its own status.
  • Teams: add Owner and Due Date. Don’t bother for a solo project; the Wave column already does the job.

Decision Matrix

If your site is…And you publish…Then use
NewWeekly or slowerThe 11-column sheet, Wave 1 = pillar + 4 clusters
NewSeveral times a weekThe 11-column sheet + Timeline tab
ExistingAny paceAdd Existing URL, Clicks and Action; start with rewrites
LocalAny paceAdd Location; stop and review if location rows keep growing
EcommerceAny paceAdd Page Kind; categories as pillars
Run by a teamAny paceAdd Owner and Due Date + Timeline tab

How Do You Know the Map Is Finished?

A map is finished when every row has a Parent (except pillars), every row has at least one entry in Links To, and no two rows share a Primary Query. Filter each of those three columns once and you’ll catch most mistakes in under 10 minutes. Then read the Links To column aloud, row by row. Awkward pairings jump out fast: a soil comparison linking to a watering schedule might make sense, while a pest-control page linking to a pricing page probably doesn’t.

It’s never finished for long, though. I revisit a live map every 3 months, add rows for new queries that show up in Search Console, and mark rows that turned out to be duplicates.

When Should You Get Help With the Map?

The template handles the structure. The hard part is the research behind the rows: which queries are real, which share a results page, and which intent Google rewards. If you want that done for you, topical maps are part of our keyword research service, and you can try it on 5 keywords free before committing.

If your site has hundreds of existing URLs, several languages or a history of traffic drops, a spreadsheet won’t untangle that alone. Start with a proper audit; our free SEO audit is a reasonable first step.

Frequently Asked Questions

Can I Use This Topical Map Template in Excel?

Yes. The CSV works in Excel, Google Sheets, LibreOffice and Airtable. Paste it into A1 and split the text into columns if it lands in one cell. Keep the Links To values in quotes so the commas inside them don’t break the row.

How Many Rows Should a Topical Map Have?

As many as the topic genuinely needs, not a target number. A small local business might need 15 rows; a niche blog might need 80. Start with one pillar and its clusters, publish them, and add rows once you see which pages Google responds to.

Is a Topical Map the Same as a Keyword Research Sheet?

No. A keyword sheet collects and scores every query you find, including ones you’ll never use. The topical map comes after it and holds only the pages you’ve decided to build. I use a separate keyword research template for the first stage and copy only the winners into the map.

Should the Template Include Search Volume?

You can add a Volume column, but I keep it off the map on purpose. Volume belongs in the research stage. Once a page has earned a row on the map, its job is to complete the topic, and low-volume support pages often matter as much as the big ones.

Last updated: September 2026 by Mizanur Rahman

Put this guide to work.

Want help applying it? Start with a free audit of your site. We’ll show you what to fix first.

Get a free SEO audit