# Topical map template for Google Sheets and Excel (free)

This is the sheet I would hand you if you were building a topical map by hand. Fill the six lines at the top, then add one row per page. Every column is there to stop a mistake that breaks a map, and the example tab shows a made-up shop with real searches.

By Kevin Jeppesen, AI growth engineer. Founder, FrameworkSEO & Ascendily. Updated 2026-11-13. Source: https://frameworkseo.com/learn/topical-maps/topical-map-template

**Topical map template:** A topical map template is a spreadsheet with one row per planned page and columns that record each page's main search, the page above it, its links and the reason for each, and when it goes live.

## Key takeaways

- Write the source context, the central entity and the main job visitors come to do at the top of the sheet first, because every row has to tie back to those lines.
- Give every link in the map a reason in the same cell; a link you cannot give a reason for is usually a link that should not exist.
- Keep the searches that did not get a page on their own tab: in the made-up espresso map, "espresso ratio" has 1,000 US searches a month and still lives as one table inside the dial-in guide.
- A page with 70 searches a month earns its row when every reader is a likely customer, which is why the example keeps a troubleshooting page that feeds the repair service.
- On 12 Nov 2026, Google's US top 10 for "topical map template" held no template at all, and the templates that rank for related searches record topics and scores but not the reason behind each link.

## Download the template and open it in Google Sheets or Excel

The template is one Excel file with five tabs, plus two CSV copies for tools that only read plain text. It is free, needs no sign-up, and opens in Google Sheets, Excel and Apple Numbers. One row is one page you plan to publish, and the columns record what that page is for and how it connects to the rest.

[Download the topical map template (.xlsx)](https://frameworkseo.com/learn/topical-map-template/topical-map-template.xlsx) (Five tabs: how to read each column, a filled example for a made-up espresso shop with real US searches, and the same two tabs empty for your map. Dropdowns and a checks column included.)

[Download the filled example as CSV](https://frameworkseo.com/learn/topical-map-template/topical-map-template-example.csv) (The example's six top lines, 33 pages and the 29 searches and old pages that got no page of their own, in one plain file. No dropdowns, no checks.)

[Download the empty template as CSV](https://frameworkseo.com/learn/topical-map-template/topical-map-template-blank.csv) (The six top lines and the column headers, ready for your rows.)

| Tab | What it holds |
| --- | --- |
| How to read each column | Every column: what to write, why it exists, the mistake it stops, an example, and its name in library science |
| Example map (made up) | 33 pages for a made-up shop that sells and repairs home espresso machines, with real US searches |
| Example searches, no page | 29 decisions: 28 searches the example did not give a page, plus one old page, and where each one goes instead |
| Your map | The same columns, empty, with dropdowns and the checks column ready |
| Your searches, no page | Empty, for the decisions you make about your own searches |

### Open it in Google Sheets

Google Sheets imports an .xlsx file in five steps. These come from [Google's own help page on importing spreadsheets](https://support.google.com/docs/answer/40608):

1. Open any spreadsheet in Google Sheets, or create a blank one.
2. Click File, then Import.
3. Pick topical-map-template.xlsx from your computer.
4. Select Create new spreadsheet.
5. Click Import. The five tabs open in a new browser tab.

Excel and Numbers open the .xlsx directly. The CSV files open anywhere, but each holds one table and no checks, so start from the .xlsx when you can.

![The parts of the topical map template: six lines at the top, one row per page in four groups of columns, a second tab for searches with no page, and a checks column.](https://frameworkseo.com/learn/topical-map-template/template-anatomy.webp)

*Every row has to tie back to the six lines at the top, and the checks column reads each row as you type.*

> **The checks work in every spreadsheet app:** The checks column uses six functions that Excel, Google Sheets and Numbers all have: IF, AND, COUNTIF, COUNTIFS, SUMIF and TRIM. We opened the file in Apple Numbers on 12 Nov 2026 and all 33 example rows read OK.

The template is for writing a map down. How to research one, from the first look at the site to the publishing order, is in [How to build a topical map](https://frameworkseo.com/learn/topical-maps/how-to-build-a-topical-map).

## Fill the six lines at the top before the first row

Before you add a single page, fill the six lines at the top: the business, its source context, its central entity, the main job visitors come to do, the market, and the date of your search data. Every row below has to tie back to these lines, and the "Why it belongs" column is where it says how.

Here are the six lines for the made-up espresso shop in the example tab:

| Line | The made-up espresso shop |
| --- | --- |
| Business | A small US online store that sells home espresso machines, grinders and parts, and repairs machines in its own workshop |
| Source context | Sells and repairs home espresso machines; money comes from machine sales first, then repairs and parts |
| Central entity | Home espresso machine |
| Main job visitors come to do | Choose, buy and keep a home espresso machine working |
| Market and language | United States, English |
| Searches checked | Google Ads search volume, United States, 12 Nov 2026 |

### Source context: why the site exists

The term comes from Koray Tuğberk Gübür, the SEO consultant whose February 2021 case study put the topical map in front of the SEO industry. In his 2023 article [How to Expand a Topical Map for Higher Topical Authority](https://www.holisticseo.digital/seo-research-study/topical-map), he defines it as "the perspective and function of the website and the brand on the open web that involves monetization, and existing purpose."

His example makes it concrete. The question "what is an electronic bicycle" gets a different answer on an electric car site, an energy site and an engineering blog. The same search, three different pages. The source context decides which one you write.

### Central entity and main job

The central entity is the one thing the whole site is about, written as a noun. For the shop it is the home espresso machine, not coffee. Coffee is bigger, and that is exactly the trap: a bigger subject brings bigger searches the shop can never sell to.

The main job is a verb joined to that noun: choose, buy and keep a home espresso machine working. Koray's course, as students describe it, calls this the central search intent. It tells you which searches the site should answer at all.

### Market and date

Search volumes change by country and by month. Write down one tool, one country and one date, and take every number on the sheet from that pull. Numbers mixed from three tools cannot be compared row against row.

Koray's first step in his 2021 case study was to "Create a Topical Map Before Starting Publishing the First Article" ([Oncrawl, 2021](https://www.oncrawl.com/technical-seo/importance-topical-authority-semantic-seo/)). These six lines are the first step of that first step. What each term means in practice is in [Source context, central entity and central search intent](https://frameworkseo.com/learn/semantic-seo/source-context-central-entity).

## What every column is for, and the mistake it stops

Every column in the template exists to stop a mistake. When we review maps that buyers built themselves, three mistakes stand out. The pages do not build on each other. Off-topic pages sit in the map when they could have been part of another page. And a search gets its own page when it only deserves a section of one.

![Three mistakes in self-built topical maps and the template columns that stop each one: pages that do not build on each other, off-topic pages, and pages for searches that are only a section.](https://frameworkseo.com/learn/topical-map-template/mistakes-and-columns.webp)

*Each mistake shows up as an empty or odd cell in the sheet, long before a page is written.*

The columns fall into four groups. The tables below give each one, what to write in it, and the mistake it stops.

### What the page is

| Column | What to write | The mistake it stops |
| --- | --- | --- |
| Page | A short, unique working name, with no commas or colons, because other columns point at it by this exact name | Two rows that are secretly the same page |
| Section (core or outer) | core if the page sells or helps someone choose what to buy; outer if it helps people use, care for, fix or understand the thing | Support pages that support nothing |
| Page type | Category, product, service, comparison, how-to and so on, from a dropdown you can extend | A long guide on a search where Google shows products |

Core and outer are Koray's terms too. In the same 2023 article he writes that the source context decides "the topical map's core and outer sections." In the template the rule fits in one line: an outer page must feed a core page, and the checks column flags one that does not. More on the split in [Core section and outer section](https://frameworkseo.com/learn/semantic-seo/core-and-outer-sections).

The page type list in the sheet has 13 entries, and you can add more. Our own map format names 12 page types, and it is not limited to them either. A site needs whatever kinds of page its searches call for.

### Which search it answers

| Column | What to write | The mistake it stops |
| --- | --- | --- |
| Main search | The one search this page is built to answer, as people type it | Two of your pages competing for the same search |
| US searches a month | Monthly searches for the main search, from the tool and date at the top | Numbers typed from memory or mixed from different tools |
| Also answers | Other wordings and smaller questions the page covers as a section, each with its volume | Ten thin pages where one good page belongs |

One search, one page. If two rows share a main search, the checks column says so. Two pages aimed at the same search split the signals between them, which is how [keyword cannibalization](https://frameworkseo.com/learn/topical-maps/keyword-cannibalization) starts.

### How it connects

| Column | What to write | The mistake it stops |
| --- | --- | --- |
| Feeds (the page above) | The page this one sits under and links up to, or (top) for pages in the menu | Orphan pages that build on nothing |
| Links to, and why | Each page it links to, a colon, and the reason: "Espresso machine repair: for machines that scale has already blocked" | Links added because two pages share a word, not a meaning |
| Why it belongs | One line tying the page to the central entity and the source context | Off-topic pages |
| Why it gets its own page | One line on why this search is a page and not a section of another page | A page for a search that is only a section |

The "why" after every link is the column I would keep if I could keep only one. Koray calls the shared idea behind a link a contextual bridge, and he warns that "without a proper contextual bridge, the internal links can't pass relevance" (2023). Writing the reason down is how you find the links that have none. Concept maps have worked this way for decades: in Novak and Cañas's 2008 paper, the "linking words" written on every line "specify the relationship between the two concepts." The full link rules are in [Internal links inside a topical map](https://frameworkseo.com/learn/topical-maps/internal-links-in-a-topical-map).

### What happens to it

| Column | What to write | The mistake it stops |
| --- | --- | --- |
| What it adds | What this page will show that the pages ranking today do not: your photos, your numbers, your table | Pages that repeat the top results in new words |
| Existing page and Action | The address of a page you already have, and what happens to it: new, rebuild in place, rebuild at a new address, merge an old page into this one, keep as is | Old pages left to compete with new ones |
| Address | The planned URL path | Links that cannot be written until the page exists |
| Publish order | A number; a page goes live after the page it feeds | A guide that links up to a page that does not exist yet |
| Status and Live date | Idea, writing, live or paused, and the day it went live | Not knowing which pages were live when you read the results |
| Checks | Nothing: the sheet fills it in | The mistakes above, while you type |

"What it adds" is the column most templates skip, and the one that decides whether a page has a reason to rank above the pages already there. How to fill it is in [Information gain](https://frameworkseo.com/learn/semantic-seo/information-gain). Order is covered in depth in [Publishing order](https://frameworkseo.com/learn/topical-maps/publishing-order).

> **Librarians designed these columns first:** A library thesaurus records one preferred term per concept, the variant terms that point to it, a broader term, related terms and a scope note. The W3C turned the same fields into a web standard in 2009, [SKOS](https://www.w3.org/TR/skos-reference/), and the controlled vocabulary standard [ANSI/NISO Z39.19](https://www.niso.org/publications/ansiniso-z3919-2005-r2010) rests on the same rule of one preferred term per concept. Main search is the preferred term, Also answers the variants, Feeds the broader term, Links to the related terms, and Why it belongs the scope note. The "how to read" tab gives each column its library name. More in [Where the topical map came from](https://frameworkseo.com/learn/semantic-seo/where-topical-maps-came-from).

## Ten rows from the made-up map, filled in one decision at a time

The example tab holds 33 pages for a made-up shop that sells and repairs home espresso machines. The shop is invented. The searches and their US volumes are real, pulled from Google Ads on 12 Nov 2026. These ten rows between them use most kinds of decision the columns ask for.

| Order | Page | Section | Type | Main search | US a month | Feeds |
| --- | --- | --- | --- | --- | --- | --- |
| 1 | Espresso machines | core | Category | espresso machine | 368,000 | (top) |
| 2 | Espresso machine repair | core | Service | espresso machine repair | 4,400 | (top) |
| 4 | Dual boiler espresso machines | core | Category | dual boiler espresso machine | 9,900 | Espresso machines |
| 9 | Espresso grinders | core | Category | espresso grinder | 27,100 | (top) |
| 12 | Espresso machine descaler | core | Product | espresso machine descaler | 5,400 | (top) |
| 17 | Single boiler vs heat exchanger vs dual boiler | core | Comparison | heat exchanger vs dual boiler | 170 | Espresso machines |
| 20 | Espresso machine problems | outer | Troubleshooting | espresso machine low pressure | 70 | Espresso machine repair |
| 22 | How to descale an espresso machine | outer | How-to | how to descale espresso machine | 1,300 | Espresso machine descaler |
| 26 | How to dial in espresso | outer | How-to | how to dial in espresso | 390 | Espresso grinders |
| 28 | Why is my espresso sour or bitter? | outer | Troubleshooting | why is my espresso bitter | 590 | Espresso grinders |

1. **Espresso machines (1) carries the central entity.** "Espresso machine" and "espresso machines" both came back at 368,000 searches a month, the same number, so they share one page. "Home espresso machine" (40,500) goes on it too, because the shop only sells home machines. Its existing address, /collections/all, gets the action "rebuild at a new address".
2. **Espresso machine repair (2) is the second way the shop makes money.** It sits at the top beside the machines. "Repair near me" (1,900) and "espresso machine service" (390) go in Also answers: one workshop means one page with the address and the mail-in steps.
3. **Dual boiler espresso machines (4) feeds Espresso machines.** It is a different machine with its own products and 9,900 searches, so it gets a page. One of its links reads "How to steam milk with an espresso machine: a dual boiler steams milk and brews at the same time". That reason is what a reader would follow the link for.
4. **Espresso grinders (9) is core, though a grinder is not the central entity.** Its Why it belongs cell says every machine the shop sells needs one, and the shop sells them. That sentence is what lets a neighbouring product onto the map.
5. **Espresso machine descaler (12) absorbs a second name.** "Descaling solution for espresso machine" (3,600) is the same product, so it goes in Also answers rather than on a page of its own.
6. **The comparison (17) is core with 170 searches.** A buyer choosing between single boiler, heat exchanger and dual boiler is choosing what to buy, and no single category page can answer that fairly. Its link reason: each verdict ends on the machines that fit it.
7. **Espresso machine problems (20) has 70 searches a month and stays.** Its Why it gets its own page cell says it plainly: fewer than 100 searches, but every reader is a likely repair customer. It feeds the repair page, and it goes live after it.
8. **How to descale an espresso machine (22) feeds the descaler, not a blog category.** Every step uses the product. "How often to descale" (260) and "how long it takes" (no volume recorded) are parts of the same task, so they are sections. The shop's old post, /blogs/news/descaling-tips, gets "merge old page into this one".
9. **How to dial in espresso (26) feeds the grinders.** Dialing in is mostly the grinder, and the link says so. "Espresso ratio" has more searches (1,000) than the guide's own main search (390), and it still lives here as one table. The second tab explains why.
10. **Why is my espresso sour or bitter? (28) joins two symptoms.** "Bitter" (590) and "sour" (390) have the same fix, a dial-in, so they share a page that feeds the grinders and links to the dial-in guide.

![Ten rows of the made-up espresso shop's map as four branches, each starting at a page that sells, with every link labelled with the reason it exists.](https://frameworkseo.com/learn/topical-map-template/ten-rows-network.webp)

*Every outer page points up to a page that sells, and every line in the sheet says why.*

Ten rows is a slice, and 33 is still a small map. For whole maps from real businesses, opened up row by row, see [Topical map examples](https://frameworkseo.com/learn/topical-maps/topical-map-examples).

## The second tab: searches that did not get a page

Every search you look at and decide not to give a page goes on the second tab, with where it lives instead or why it is out. There are five decisions: same page, section, left out and later for searches, and remove for an existing page with nowhere to go. The searches you say no to are part of the map. Write them down, or someone will add the page back next quarter.

Eight of the example's 29 decisions:

| Search | US a month | Decision | Lives on |
| --- | --- | --- | --- |
| espresso machines | 368,000 | Same page | Espresso machines |
| espresso machine repair near me | 1,900 | Same page | Espresso machine repair |
| how often to descale espresso machine | 260 | Section | How to descale an espresso machine |
| espresso ratio | 1,000 | Section | How to dial in espresso |
| latte art | 14,800 | Section | How to steam milk with an espresso machine |
| coffee shops near me | 9,140,000 | Left out | Nowhere: the shop has no cafe |
| best coffee mugs | 4,400 | Left out | Nowhere: the shop sells no mugs |
| espresso machine financing | 40 | Later | Only if the shop starts offering payment plans |

### A big number does not earn a page

"Espresso ratio" has 1,000 searches a month. It is still a section, because the ratio is the first thing you set when you dial in a shot: same subject, same reader, one table answers it. "Latte art" has 14,800, and most of the people searching it want pictures of designs. The shop's tie to it is the milk its machines steam, so a first pour closes the milk guide instead.

Koray Tuğberk Gübür gives this decision a name, query deserves a page, and four conditions in a 2026 Search Engine Land article: the search has real demand, it is about different things, it has low similarity to searches already on the map, and it follows a pattern. Demand is only one of the four. The full test, worked through on real results, is in [When a search deserves its own page](https://frameworkseo.com/learn/topical-maps/page-or-section).

### Left out, later and remove

"Coffee shops near me" has 9,140,000 searches a month and no place on this map. The people typing it want a cafe, and the shop has none. "History of coffee" (8,100) and "best coffee mugs" (4,400) go the same way: nothing ties them to the machine or to anything the shop sells.

"Later" is for searches that would fit the moment the business changes. "Espresso machine financing" (40) waits until the shop offers payment plans. "Remove" is for an existing page with nowhere to go, like the shop's old post on coffee mugs. Before removing one, check whether it can be merged into a page that is more relevant, and look at its traffic and links. The full process is in [Pruning and merging](https://frameworkseo.com/learn/topical-maps/pruning-and-merging).

## What the templates you find today record, and what they leave out

On 12 Nov 2026, Google's US top 10 for "topical map template" held no template at all: guides, tool lists, a Reddit thread, a Facebook answer and a glossary entry. The templates that do exist rank for related searches, so I opened the sheets behind three of them and read every tab.

| What the sheet records | Ahrefs | Moz | MLforSEO | This template |
| --- | --- | --- | --- | --- |
| Why the site exists, at the top | One "main topic" cell | No | A central entity tab | Six lines |
| Scores for relevance and value | Yes, 0 to 3 each | No | Business relevance | No, a written reason instead |
| Core or outer | No | No | Pillar, cluster, supporting | Yes |
| The page above each page | Supporting topic | No | Yes, generated | Yes |
| Links between pages | No | No | Up, across and down, generated | Yes, each with a reason |
| Order | A priority band | No | Priority | Publish order, checked against Feeds |
| Existing pages and what to do | Existing or new | Yes: prune, delete, update, consolidate | Coverage against your URLs | Yes |
| Searches that got no page | No | No | Drops values with no user benefit | A tab of its own |
| Checks for mistakes | No | No | Flags endless attribute lists | Five, in every row |

Each one is better than this template at something. **Ahrefs'** six-tab sheet scores every topic for brand relevance and business potential on a 0 to 3 scale and compares it with five competitors' traffic, though its totals read an export from Ahrefs' own keyword tool. **Moz's** cluster sheet is an audit of the pages you already have, with 15 columns that include awareness level, best current position and an Action column for each old page. **MLforSEO's** sheet, by its own description, builds the pillar, cluster and supporting rows for you from an entity's attributes and values.

What none of them records is why a page links to another one, which searches were turned down, or whether a page goes live before the page it supports. Those are the three places self-built maps break.

![A keyword cluster sheet records topics, keywords, scores, existing URLs and old-content actions; a topical map sheet also records why the site exists, core or outer, the page above, every link and its reason, the order, the searches with no page, and checks.](https://frameworkseo.com/learn/topical-map-template/cluster-sheet-vs-map-sheet.webp)

*The scores help you choose topics; the extra columns tell you how the pages work together.*

Generators are a different thing again. Koray's advice in 2024 was short: ["Do not believe auto-generated topical maps."](https://medium.com/@ktgubur/3-suggestions-about-topical-authority-1cd73963a9cb) We test what they get right and wrong in [Topical map tools and generators](https://frameworkseo.com/learn/topical-maps/topical-map-tools), and the difference between a cluster list and a map is in [Topical map vs topic cluster vs keyword list](https://frameworkseo.com/learn/topical-maps/topical-map-vs-topic-cluster).

## Check the map before anyone writes a page

Read the Checks column until every row says OK, then run three checks by hand that a formula cannot. A mistake costs one cell now and a live page later.

The sheet runs five checks on every row of the Your map tab:

- **Same main search as another row.** Two pages for one search.
- **Feeds a page that is not on the map.** Usually a typo in the page name, sometimes a missing page.
- **An outer page should feed a core page.** A support page that supports nothing that sells.
- **Goes live before the page it feeds.** Its link up would point at nothing.
- **Say why it belongs.** An empty reason, which is often an off-topic row.

Then read the map by hand for three things:

1. **A path to the top.** Follow Feeds upward from any row. Every path should end at (top) within a few steps.
2. **A reason you would click.** Read the Links to column aloud. A reason that only repeats the page name is not a reason.
3. **A decision for every old page.** Every address you already have appears either in Existing page or on the second tab.

Expect the sheet to grow. The example stops at 33 pages so it fits on a screen. The maps we deliver have a median of 159 pages (as of 5 Nov 2026), and a map can be anywhere from about 50 pages to over 20,000, depending on the size of the company, how much ground its central entity needs covered and how many services it has.

By hand, a map of about 159 pages takes a week or two with the research behind it. We built our own system for this, which is how one that size takes us about two to two and a half hours. If you would rather have the map built for your site, that is what the [growth plan](https://frameworkseo.com/) is. Either way, once pages go live, the Status and Live date columns are what you read results against, as [How to tell if a topical map is working](https://frameworkseo.com/learn/topical-maps/measure-a-topical-map) explains.

## Sources

- [How to Expand a Topical Map for Higher Topical Authority?](https://www.holisticseo.digital/seo-research-study/topical-map), Koray Tuğberk Gübür, Holistic SEO, 2023
- [Importance of Topical Authority: A Semantic SEO Case Study](https://www.oncrawl.com/technical-seo/importance-topical-authority-semantic-seo/), Koray Tuğberk Gübür, Oncrawl, 2021
- [3 Suggestions about Topical Authority](https://medium.com/@ktgubur/3-suggestions-about-topical-authority-1cd73963a9cb), Koray Tuğberk Gübür, Medium, 2024
- [SKOS Simple Knowledge Organization System Reference](https://www.w3.org/TR/skos-reference/), W3C, 2009
- [ANSI/NISO Z39.19-2005 (R2010) Guidelines for the Construction, Format, and Management of Monolingual Controlled Vocabularies](https://www.niso.org/publications/ansiniso-z3919-2005-r2010), NISO, 2005
- [The Theory Underlying Concept Maps and How to Construct and Use Them](https://cmap.ihmc.us/Publications/ResearchPapers/TheoryUnderlyingConceptMaps.pdf), Joseph D. Novak and Alberto J. Cañas, IHMC, 2008
- [Import data sets and spreadsheets](https://support.google.com/docs/answer/40608), Google Docs Editors Help, 2026
