How to fix keyword cannibalization

Keyword cannibalization is when two or more of your own pages compete for the same query. Google ends up unsure which to rank, so it often ranks neither well. Here's how to find it in Google Search Console and fix it without breaking anything.

Goal

Identify cannibalization clusters and pick a canonical winner for each.

Time required

15 minutes for discovery + ~20 min per cluster to implement.

What you'll need

GSC data, access to add canonical tags or 301 redirects.

Annotated screenshot of the keyword cannibalization report showing queries with multiple URLs sharing impressions
The cannibalization report with query clusters expanded. (Screenshot placeholder.)

What cannibalization looks like

In GSC's Performance report, pick a query. Look at which of your URLs showed for it. If two or more URLs each took a meaningful share of impressions - say 30%/70% instead of 95%/5% - that's cannibalization. Google rotated between them. Neither ranks as well as a single consolidated page would.

The Keyword Cannibalization report does this clustering automatically, surfacing queries where multiple URLs share the spotlight and scoring the severity. See also the FAQ on canonical URLs in GSC for how Google picks between duplicates.

Step-by-step

  1. Open the Cannibalization report. Opportunities → Cannibalization.
  2. Sort by total impressions. You want to fix high-traffic clusters first. A cluster with 10 impressions isn't worth the attention.
  3. For each cluster, identify the winner. The "winner" is the URL that (a) has the highest conversion potential, (b) better matches query intent, and (c) is more comprehensive. Often the URL with the most existing clicks is the right winner, but not always.
  4. Pick one of three fixes:
    • Consolidate & redirect (best when the pages are substantially duplicative): merge content into the winner, 301 redirect the loser(s) to it.
    • De-optimize the losers (best when each page has its own legitimate purpose): keep the pages, but remove the competing query from the losers' titles/H1s and reshape their content toward a different focus query.
    • Add a canonical tag (best when the pages are near-duplicates that both need to exist - e.g., localized variants): set rel="canonical" on losers pointing to the winner.
  5. Update internal links. Internal links to the loser URLs should point to the winner. This is the single biggest lever Google watches.
  6. Document the decision. Write down the cluster, the winner, and the fix. If rankings get weird in 4-8 weeks you'll want to know what you changed.
  7. Monitor. In 4-8 weeks check the winner's rank for the target query in GSC Wizard. Usually it climbs 2-5 positions once the cannibalization is resolved.

A worked example

Query: "best project management software". GSC shows:

  • /blog/best-project-management-tools-2024: 1,200 impressions, position 9.1
  • /blog/best-project-management-software: 1,500 impressions, position 11.4
  • /compare/project-management: 800 impressions, position 14.2

Three pages competing. The newer blog post has higher impressions but worse position - Google keeps rotating. Decision: the /compare/ page is the most actionable for a buyer, but traffic-wise it's the weakest. Pick the newer blog post as the winner, 301 the 2024 post into it, add a stronger link from the compare page to the winner, and rewrite the compare page's title to target "project management software comparison" instead. Six weeks later the winner typically settles around position 5-6 with combined impressions of ~3,500.

What not to do

  • Don't noindex the losers unless you're sure. If the losers have their own good queries, noindex kills those too.
  • Don't block with robots.txt. A blocked page can't be canonicalized or redirected. You want Google to crawl the loser and see the redirect/canonical.
  • Don't fix ten clusters in one week. Make one change at a time and measure. Compounding changes makes attribution impossible.
  • Don't confuse near-duplicates with legitimate sibling pages. A pricing page and a comparison page sharing a query is normal, not cannibalization.

Example outcome

Most sites with 100+ pages and a year of GSC data will surface 5-20 cannibalization clusters worth examining. Resolving the top three typically produces a 15-40% click lift on the affected queries within 6-12 weeks, once internal link equity consolidates and Google re-crawls.

Next playbook

Now polish the clickable text: CTR recovery on under-performing pages →