Keyword mapping
Keyword mapping assigns each cluster of searches to exactly one page of your site, in a table you keep. It is the document that prevents two of your pages competing for the same search, and it turns research into a build order. On a small site it fits in a spreadsheet.
By Théophile Louvart, founder of Porteur · Updated 15 September 2026 · Markdown
The table
| Cluster | Intent | Page | State |
|---|---|---|---|
| invoicing app, best invoicing app | commercial | /alternatives/invoicing-apps | live |
| how to send an invoice | informational | /guides/send-an-invoice | to write |
| yourproduct pricing, yourproduct cost | navigational | /pricing | live |
| invoice template, free invoice template | informational | /tools/invoice-template | to write |
Four columns are enough: the cluster of searches, the intent the results page shows, the one page that answers it, and whether that page exists, needs writing or needs a refresh.
How to build it
Start from the searches you already have
Export the queries from the Performance report in Search Console. Those are real, they are yours, and they cost nothing.
Group by the results page, not by the words
Two searches whose top ten share several URLs are answered by the same page. That is the reliable test for a cluster.
Assign one page per cluster
Write the URL in the table. If two pages want the same cluster, one of them is wrong and the table has just told you.
Mark the gaps
A cluster with no page is the build order. Sort those by demand and by how close the intent is to buying.
Review it when Search Console disagrees
When two of your URLs trade places on one query, the map needs a decision, not the pages.
What it prevents
- Cannibalisation: two pages on one search, each holding the other back, neither ranking.
- The page nobody planned: written because someone had an idea, answering a search that already had a page.
- The gap nobody noticed: a search with demand and no page, invisible until you list them side by side.
- The refresh that never happens: a map with a state column shows what has gone stale.
Questions
It is the table that assigns each cluster of searches to one page of the site, with the intent and the page’s state. It turns a keyword list into a build and refresh order.
Search both and compare the top ten. If several URLs appear in both, Google considers them the same question and one page should answer them.
Pick the one with more links and clicks, fold the useful parts of the other into it, and redirect the loser. That is cannibalisation and the map is how you spot it.
No. A spreadsheet with four columns is enough for a few hundred pages. The data can come from Search Console, which is free and is your own.
When you add pages, and when Search Console shows two of your URLs trading places on one query. A quarterly read is enough for a small site.
Check my site, free
The free check names the searches your site is close to winning and the pages that fight each other, in about thirty seconds.
- Free check, no card
- Read-only, your own accounts
- Readable by your agent
Read next
- GlossaryKeyword clustering
- GlossaryKeyword cannibalization
- GuideKeyword cannibalization: two pages, one search, and how to fix it
- GlossarySearch intent
- GuideKeyword research without a paid tool: five free sources that are enough
- GlossaryTopical map
- GuideKeyword research from Search Console alone
- GlossaryContent gap