Building a Keyword-to-Page Map: Which Page Should Own Which Query
Most sites do not have a ranking problem so much as an ownership problem. Nobody ever decided which page is responsible for which search, so pages accumulate, overlap, and quietly compete with each other while the owner concludes that SEO does not work.
Short answer: a keyword map assigns each query, or each cluster of queries sharing one intent, to exactly one page responsible for ranking for it. One intent, one page. It takes an afternoon, it prevents your own pages competing with each other, and it tells you before you publish whether a new article strengthens the site or splits it.
Why the map matters more than the keywords
Consider a normal sequence of events. A business writes a services page covering SEO. Six months later somebody writes a blog post about SEO in Nepal. Later still, a page about SEO pricing. Nobody checks what already exists, because there is nothing to check against.
Now three pages have overlapping claims on similar searches. Google must pick one, and it may pick differently on different days. Neither page accumulates the full signal, internal links get split between them, and the site's own authority is divided across pages that are arguing with each other.
The map prevents this by making ownership explicit before the third page gets written. Its real value is not organising the past, it is constraining the future.
How to build one
The output is deliberately boring: a table with three columns.
| Query cluster | Owning page | Current position |
|---|---|---|
| seo expert nepal, seo specialist nepal | /seo-expert-in-nepal/ | not yet ranking |
| seo consultant kathmandu, hire seo consultant | /services/seo-consultant-kathmandu/ | — |
| how seo works, what does seo do | /blog/how-seo-works-nepal | — |
| internal linking seo, link authority | /blog/internal-linking-seo-nepal | — |
Four steps to produce it:
- Gather the queries. Start with Search Console, because those are searches that already reach you rather than estimates of searches that might. Add autocomplete and People Also Ask for phrasing. In Nepal, check Roman transliteration as well as English, because many people type sasto rather than the Devanagari form.
- Cluster by intent, not by wording. “SEO cost Nepal” and “SEO price in Nepal” are one cluster. “What is SEO” and “SEO consultant Kathmandu” are not, despite sharing a word. The test is whether the same page would satisfy both searchers.
- Assign one owner per cluster. The three tests are below.
- Record what is unassigned. Clusters with no owner are your content gaps. Pages with no cluster are usually fine, which is the part most guides get wrong.
Choosing the owner: three tests in order
- Intent match. Would somebody searching this phrase be satisfied landing on this page? This overrides everything else.
- Existing impressions. If a page already receives impressions for the query, Google has told you its preference. Fighting that is usually wasted effort; strengthening the page it already chose is usually faster.
- Commercial value, only if the first two are tied. A service page beats a blog post for a buying query.
A page with no keyword is a valid answer
Contact pages, privacy policies, about pages and thank-you pages exist for people, not for search. When my own tooling finds a page with no matching keyword it reports none rather than assigning the least-bad guess, because a forced match becomes a false record that somebody acts on three months later. Resist the urge to fill every row.
Finding cannibalisation
Cannibalisation is when two of your pages compete for the same query. It is over-diagnosed in SEO writing and genuinely damaging in a narrower set of cases than most articles suggest.
Where it barely matters: two pages both appearing for a broad informational query they each partly address. Google is generally competent at picking the better one.
Where it matters a great deal: a commercial query where two near-duplicate pages both sit in the twenties, so neither converts and neither is close to page one.
The check, in Search Console: performance report, queries view, select an individual query, then open the pages tab. More than one URL receiving impressions means overlap. Do this for your ten most commercially important terms only. Checking the whole list produces noise and consumes an afternoon for no benefit.
Three fixes, and one thing never to do
- Consolidate. Merge the weaker page into the stronger, redirect the old URL. Correct for near-duplicates.
- Differentiate. Rewrite each to serve a genuinely distinct intent. Correct when both topics deserve a page — which is how I handled GEO and AEO here, since being cited as a source and being the extracted answer are different jobs with different metrics.
- De-optimise. Adjust the title and headings of the page you do not want ranking, and link it to the page that should own the term.
- Never delete without redirecting. That discards whatever the page had earned, including any external links pointing at it.
Doing this in a small market
Two adjustments matter for Nepal specifically.
Cluster more aggressively. With low volumes, splitting a topic across four pages gives you four weak pages instead of one page that could actually compete. One strong page beats a cluster of thin ones, and the temptation to publish more is exactly what should be resisted.
Do not chase head terms. My own audit found the site registering for digital marketing in nepal at average position 78.1 with 17 impressions and zero clicks. Position 78 is page eight. That is not a target, it is a rounding error, and mapping a page to it would have committed effort to something unwinnable. Specific commercial intent is where a small site competes.
What automates, and what must not
Gathering queries, clustering by similarity, detecting overlap and reporting positions are deterministic and automate completely. Deciding what the business should rank for does not.
The distinction I hold to in my own tooling: it maps, detects and proposes; a person decides. It also refuses to assign a keyword where none genuinely matches, which sounds like a small design choice and is the difference between a map you can trust and a spreadsheet full of plausible guesses. The wider account is in the SEO automation write-up, and the mapping implementation is public on GitHub.
Common questions
What is keyword mapping?
Assigning each query cluster to exactly one page responsible for ranking for it. One intent, one page.
What is keyword cannibalisation?
Two of your own pages competing for the same query, so neither accumulates full signal. Worst on commercial terms with near-duplicate pages.
How do I find it?
Search Console, queries view, select a query, open the pages tab. More than one URL means overlap. Check your top ten commercial terms only.
Should every page have a target keyword?
No. Contact, privacy and about pages exist for users. Forcing a match creates a false record.
Which page should own a keyword?
Intent match first, existing impressions second, commercial value third.
How do I fix cannibalisation?
Consolidate and redirect, differentiate the intents, or de-optimise the wrong page. Never delete without redirecting.
Find out whether your pages are competing with each other
Send me your domain and Search Console access. I will build the keyword-to-page map, show you which queries have more than one owner, and tell you which overlaps are worth fixing and which are harmless.
