← All posts

Finding and fixing keyword cannibalization


Keyword cannibalization is one of those diagnoses that gets thrown around far too easily. Someone notices two pages mentioning the same keyword, declares an emergency, and starts merging content that was working perfectly fine. Overzealous cannibalization fixes routinely do more damage than the cannibalization itself. So before the fixes, it is worth being precise about what the problem actually is.

What cannibalization actually is

Real cannibalization is two or more of your pages competing for the same query with the same intent, and hurting each other in the process. Google cannot decide which page is the right answer, so it alternates between them, ranks both weakly, or splits your link signals across two half-strong pages instead of one strong one.

The symptoms are specific: the ranking URL for a query keeps flip-flopping, two URLs sit stuck together on page two where one used to hold page one, or a clearly inferior page (a thin tag page, an old draft) outranks the page you actually want to rank.

What cannibalization is not

This is the part that saves you from breaking things. Ranking for the same word with different intents is not cannibalization. It is coverage, and it is good.

  • A product page for "standing desk" and a guide titled "how to choose a standing desk" target the same word with different intents (buy versus research). Both should exist, and both ranking is a win, not a bug.

  • Two pages ranking simultaneously in positions three and four is double real estate, not a problem. Do not merge your way out of extra visibility.

  • A category page and a subcategory page sharing vocabulary is normal site structure, not competition, as long as each has a distinct scope.

The test is intent, not vocabulary. If a searcher typing the query would be equally satisfied by either page, and the pages say roughly the same thing, you may have cannibalization. If the pages answer different questions, you have a content strategy.

Detecting it in Search Console

Search Console is the only tool that shows you what Google is actually doing with your pages, so start there.

  1. Open the Performance report and filter to a specific query you care about.

  2. Switch to the Pages tab. If multiple URLs are receiving impressions for that query, note them.

  3. Now the important part: check the trend, not the snapshot. Genuine cannibalization shows up as flip-flopping: one URL gets the impressions for a while, then the other takes over, then it switches back. Google keeps changing its mind about which page to show.

  4. Check average position for each URL on that query. Two URLs oscillating around position eight, for a query where you should be competitive, is the classic signature.

  5. Repeat for priority queries, or export via the Search Console API at scale and flag query-URL pairs where more than one URL takes a meaningful impression share.

A site: operator search plus the keyword previews which pages Google associates with a term, and a Screaming Frog crawl of titles and H1s surfaces pages built for the same head term. But those are leads. The GSC flip-flop pattern is the evidence.

Fix one is consolidation, the strongest medicine

When two pages genuinely serve the same intent and neither is clearly winning, merge them. Take the best material from both, build it into the stronger URL, and 301 redirect the weaker URL to it. The redirect transfers the loser's equity to the winner, and every signal that was split now points at one page.

Choosing the survivor matters. Look at backlinks, existing rankings, conversion performance, and URL quality, in roughly that order. And merge for real: fold the content in first, then redirect, or you lose whatever the vanished content had earned.

Fix two is canonicalization, for pages that must exist

Sometimes both URLs need to stay live for users: a printer-friendly version, a filtered variant, a campaign landing page that mirrors an organic one. When the duplication is functional rather than editorial, a canonical tag on the secondary page pointing at the primary one tells Google which version to index and rank, while users keep both.

Two cautions. Canonical tags are hints, not directives; if the two pages differ substantially, Google will happily ignore your canonical and keep indexing both, and URL inspection in Search Console will tell you so. And do not use canonicals as a lazy merge: if nobody needs the second page, consolidation with a 301 is cleaner and permanent.

Fix three is differentiation, when both pages deserve to live

Often the right fix is to make the overlap stop being overlap. Two pages drifted toward the same target because they were written years apart by different people. Re-scope them: sharpen one toward the commercial intent and the other toward the informational one, and rewrite the titles and H1s so each page declares a distinct job.

Then reinforce the split with internal links, the most underrated cannibalization tool you have. Anchor text is a vote for which page owns which query. If some anchors for the head term point at the guide and others at the product page, you are feeding the confusion. Make every anchor for the head term point at the page you want to own it, and give the other page its own consistent anchor vocabulary. In many cases, consistent internal anchors resolve borderline flip-flopping within a few crawl cycles, no content surgery required.

When to merge and 301, in one checklist

The decision path, condensed:

  • Same intent, neither page has unique value: merge into the stronger URL and 301.

  • Same intent, both must exist for users or campaigns: canonicalize the secondary to the primary.

  • Different intents that drifted together: differentiate, re-scope, and fix internal anchors.

  • Both ranking well simultaneously: leave it alone. Two results is better than one.

  • Thin page (old tag page, near-empty archive) stealing a real page's spot: retire it, 301 to the real page.

After any fix, give it weeks, not days; Google needs to recrawl and reassign signals. Watch the same GSC report for the flip-flopping to stop and one URL to hold the position.

Prevent it instead of treating it

Cannibalization is almost always a planning failure that surfaces months later. The prevention is boring: keep a keyword-to-URL map, one target query cluster per page, and check it before commissioning new content. Most cannibalization gets published in good faith by someone who did not know the other page existed. A shared spreadsheet fixes that for free.