What is Keyword Cannibalisation?
Two or more pages on the same site competing for the same query, so search engines must choose between them.
A worked example
A site has a WooCommerce service page, a blog post titled "why we build on WooCommerce", and a case study about a WooCommerce project. All three target roughly the same query. Google alternates between them, none accumulates authority, and the page you actually wanted to rank sits third.
Why it matters
Cannibalisation is the most common recoverable loss on sites that have published consistently for several years, and it is invisible unless you look for it. Nothing breaks. Rankings simply sit lower than the site deserves, and the cause is self-inflicted.
The mechanism is straightforward. Internal links, external links and relevance signals split across competing pages instead of concentrating on one. Google picks whichever page it judges most relevant for each search, which is often not the page you would have chosen, and the choice can flip week to week.
The fix is usually consolidation rather than creation. Merge the competing pages into one substantially better page, redirect the others, and point internal links at the survivor. Sites doing this frequently see the consolidated page outrank anything the separate pages achieved.
The nuance most people miss
Ranking for the same term with several pages is not automatically cannibalisation. If each page serves a genuinely different intent, a guide, a product page and a comparison, then multiple rankings are a good outcome rather than a problem. The diagnostic is Search Console: filter by query and look at which pages receive impressions for it. If the URL keeps changing over time, or several pages each receive a fraction of the impressions, you have a real conflict.
Common mistakes
- Diagnosing cannibalisation from keyword overlap alone rather than from Search Console impression data
- Deleting the competing pages instead of redirecting them, which discards accumulated authority
- Consolidating pages that actually serve different intents
- Fixing the pages and leaving internal links pointing at the redirected URLs