Keyword cannibalization: find the collision, then pick one of three fixes
Keyword cannibalization has no penalty attached. Your signals split, crawling is spent twice, and Google picks the page for you. Here is how to find collisions in Search Console and decide between merging, differentiating and removing.

Keyword cannibalization is two of your own pages competing for the same search term, and the cost is rarely the one people describe. There is no penalty. What happens is quieter: your signals split across two URLs, Google picks one for you, and it is often not the one you would have picked. Fixing it is a decision about intent, made once per collision, in one of three ways.
Read this first
You need Search Console access and at least a few months of impression data. Without it, everything below is guesswork about which page is winning. If your property is new and the Performance report is close to empty, the useful move is preventing collisions rather than diagnosing them, which is the last section here.
Deciding whether an old page should be refreshed, merged or removed for reasons other than a collision is a different call, covered in refresh, merge or delete old pages.
What keyword cannibalization actually costs you
Two pages targeting one term do not divide the traffic in half. Three separate things happen, and only the third is visible without looking.
Signals split first. Google's canonicalization documentation explains the mechanism from the other direction, describing why you would consolidate: "It helps search engines to be able to consolidate the signals they have for the individual URLs (such as links to them) into a single, preferred URL." Two pages that should be one means links, internal links, and engagement arrive at two addresses and neither accumulates enough.
Second, crawling gets spent twice. The same documentation lists "to avoid spending crawling time on duplicate pages" as a reason to consolidate.
Crawling is the least urgent of the three for a small site and the most expensive for a large one. Two near-identical pages is a rounding error; a templated set that generates one page per city, all answering the same question, is a budget problem.
Third, the page that ranks flips. You wrote the comparison page to be the one that ranks, and Google shows the blog post instead, because on the day it decided, the blog post had the better internal link profile. Nothing warned you.
Cannibalization is not a punishment. It is your own site making the choice for you, in a room you are not in.
How to find collisions in Search Console
This takes about half an hour for a site of a few hundred pages, and needs nothing beyond the Performance report.
- Open Performance, set the date range to the last three months, and open the Queries tab.
- Pick a search term with meaningful impressions, click it to filter, then switch to the Pages tab.
- If two or more pages show impressions for that one term, you have a candidate. Note their clicks, impressions and average position.
- Repeat for your top thirty terms. Collisions cluster around your most important topics, because that is where you wrote the most.
Read average position carefully, because it is not the number most people assume. Google defines it as "the topmost position occupied by a link to your property or page in search results, averaged across all queries in which your property appeared", and adds that "a link must get an impression for its position to be recorded". A page that rarely surfaces can therefore show a flattering average built from very few impressions.
Two pages appearing for one term is not automatically a problem. A product page and a support article can both legitimately surface. The test is whether they are trying to answer the same question. If a reader would be equally served by either, they are competing.
The deliverable: which of three fixes applies
Every collision resolves to one of these. Work down the table and stop at the first row that matches.
| What you see | Fix | What it costs |
|---|---|---|
| Both pages answer the same question | Merge into the stronger URL | One redirect, one rewrite, updating internal links |
| Same term, genuinely different intent | Differentiate | Retitling and restructuring both pages |
| One page has near-zero impressions and nothing links to it | Remove and redirect | Little, but it is irreversible in practice |
| You are not sure which applies | Do nothing yet | Nothing — and this is a real option |
The fourth row is there because acting on an unclear collision is worse than living with it. A merge you regret costs a rewrite and a redirect you now have to maintain forever.
How to merge without losing what the loser earned
Pick the survivor on links and impressions, not on which one you like. Then, in this order.
- Move any section of the losing page that the winner lacks into the winner, and check it still reads as one document rather than two glued together.
- Redirect the loser to the winner with a 301. Google's canonicalization guidance ranks redirects as "a strong signal that the target of the redirect should become canonical", which is the strongest of the three methods it lists.
- Update every internal link that pointed at the loser. A redirect works, and a chain of them through your own navigation is waste you control.
- Confirm the merged URL is in your sitemap and the removed one is not. Sitemap inclusion is described as "a weak signal", which is worth exactly what a weak signal is worth: use it, do not rely on it.
One thing not to do during a merge: do not leave the losing page live with a canonical tag pointing at the winner and call it finished. That is a valid instruction to a search engine and an invalid answer for a reader, who can still find the page, read the older version, and act on it. Pick one page to exist.
Give it a month before judging. Impressions usually dip while Google re-evaluates, and reversing a merge two weeks in means you never learn whether it worked.
How to differentiate instead
Differentiating is the right call more often than merging, and it is harder because it requires deciding what each page is actually for.
Split on intent, not on synonyms. Two pages built around "cheap widgets" and "affordable widgets" are the same page with a thesaurus applied, and search engines have understood that for a decade. Two pages where one explains how to choose a widget and the other lists what you sell are genuinely different, and they can share vocabulary without competing.
We ran into this on our own site while writing this handbook. Two pieces had claimed the same primary term — a how-to chapter and a measurement report — with nearly identical titles and overlapping sections. The rule we adopted afterwards is the one we would give anyone: split by what the reader wants. "How do I check this" belongs to the instructional page. "What did that measurement show" belongs to the report. Same topic, two questions, no collision.
That rule has a second half worth stating. Once you split by intent, keep the split in the title, in the URL, and in the structured data. Winning the argument in the body copy and then giving both pages the same title solves nothing, because the title is the part being compared.
Where this chapter stops
Search Console shows you your own property. It cannot tell you whether the page Google chose outranks a competitor, only how the two of yours compare to each other. Fixing a collision moves the ceiling; it does not tell you where the ceiling is.
There is also no threshold here, and we will not invent one. Nobody publishes a number of pages per term that constitutes a problem, and any figure you see quoted for how much traffic cannibalization costs is somebody's estimate from their own site. Judge each collision on whether the two pages answer the same question, which you can read yourself in five minutes.
Two more limits. Very high-volume terms often surface several of your pages legitimately, because the result set is deep and varied — that is not a collision. And if your site is under a few dozen pages, this whole chapter is probably premature; you do not have enough pages to compete with yourself yet.
Catching a collision on the day it is created, rather than three months later in a report, is what QueryWin is being built to do.
How to stop creating them
Cheaper than any fix above. Before writing anything, search your own site for the term you are about to target, and read the top result. If it answers the same question you were about to answer, you are about to create a collision, and the choice is to update that page instead.
The check takes a minute and it catches the case that matters most, which is the second article on a subject you already covered well. Nobody sets out to write that. It happens because the first one is eighteen months old and nobody on the current team remembers it exists.
Keep a one-line record per published page: the term it targets and the question it answers. A spreadsheet is enough. The reason collisions happen is not carelessness, it is that nobody remembers what page 40 was for by the time they write page 90.
Common questions
Does Google penalise keyword cannibalization?
No. There is no penalty and no documented ranking factor for it. The cost is split signals and a page choice made without you, which is a different and less dramatic problem than the word "penalty" suggests.
How many pages can target the same term?
One, as a working rule, if they answer the same question. Several can legitimately surface for a broad term when they answer different questions, and that is not a collision.
Should I use rel=canonical instead of merging?
Only when both pages must stay live for people, such as a printable version. Canonical is a strong signal, but leaving two competing pages up and annotating one of them is a workaround, not a decision.
How long until a merge shows results?
Expect movement in weeks, not days, and expect it to look worse before it looks better. We are not putting a number on that, because it depends on how often your site is crawled.
Part of the QueryWin handbook · Level 3


