How to Diagnose and Fix Keyword Cannibalisation Without Deleting Good Pages
Cannibalisation is misdiagnosed more often than it is found. Two pages mentioning the same keyword is not a problem; two pages competing to answer the same question, with neither doing it definitively, is. The distinction determines whether the fix is a merge, a rewrite, or nothing at all.
What the symptom actually looks like
Genuine cannibalisation shows a recognisable pattern in Search Console. The ranking URL for a query flips between two pages across weeks. Both sit in positions 8 to 20 without either breaking through. Impressions are distributed across several URLs while clicks stay flat. Often a page you never intended to target the query is the one appearing for it.
What is not cannibalisation: two pages mentioning a term, a category page and an article both surfacing for a broad query, or a page dropping in rank while nothing else rises. Those have other causes, and merging pages in response destroys value without addressing anything.
Build the keyword-to-URL map first
You cannot diagnose this without knowing what each page is for. Export the queries-by-page report from Search Console, and for each URL write down the single primary query it is meant to win. One primary target per URL, stated explicitly.
Pages that cannot be assigned a distinct primary target are already the answer to your question. Feed the resulting map into the keyword cannibalisation checker to surface exact duplicates and strong overlaps across different URLs — it compares the pairs you paste rather than crawling, so the map you write is the analysis.
Separate overlap of words from overlap of intent
This is the step that prevents destructive merges. Two pages can share most of their vocabulary and serve genuinely different needs: "how to calculate profit margin" wants a method, "profit margin calculator" wants a tool, and "what is a good profit margin" wants a benchmark. All three share terms and none should be merged into the others.
The practical test is to search each query and look at what ranks. If the results for two queries are substantially the same pages, they are one intent and belong on one URL. If the result sets differ, they are separate intents and deserve separate pages no matter how similar the wording.
Running a keyword list through the search intent classifier gives a fast first pass on which phrases want an answer, a comparison, or a transaction, and the keyword clustering tool groups phrases by shared terms so the candidate sets are visible before you check them against live results.
Choosing the fix
Merge when both pages answer the same intent and neither is comprehensive. Combine the strongest material into the better-performing URL and 301 the weaker one to it. Keep the URL with more inbound links and history, not the one you prefer editorially.
Differentiate when the intents genuinely differ but the execution blurred them. Rewrite titles, opening paragraphs and headings so each page commits to its own question. This is the most common correct fix and the one people reach for least.
Canonicalise when duplication is structural and unavoidable — parameter variants, printer-friendly versions, near-identical location pages.
Fix internal linking when the right page exists but the wrong one ranks. If most internal links pointing at a topic use the same anchor and land on the weaker page, search engines have been told which URL you consider primary. Repointing those links is often sufficient by itself.
Do nothing when two pages serve different intents and both perform adequately.
Preventing it at the planning stage
Cannibalisation is created during content planning, when a keyword list is treated as a publishing queue and each variant gets its own thin page. The preventive discipline is one intent per URL, decided before anything is written.
When you next plan a cluster, group variants that share intent, assign one page per group, and record the primary target in the brief itself — the content brief generator produces an outline built around a single keyword and reader, which makes drift visible at review time. Before publishing, check that the new page's title and description are distinct from anything already live; near-identical metadata across several URLs is both a symptom and a cause, and the title and meta checker will show truncation and repetition at the same time.