Blog

Find Keyword Cannibalization in Google Search Console

The evidence for keyword cannibalization is already in your Search Console account, and two clicks separate you from it. Ivan Sp shows the manual method for finding keyword cannibalization directly inside Google Search Console, no paid tool required. The evidence already sits in data most sites are not looking at the right way.

What Cannibalization Looks Like in the Data

Cannibalization shows up as two or more of a site’s own URLs both receiving impressions for the same query, often with both ranking somewhere in positions five through fifteen rather than either one holding a strong single position. Neither page wins clearly, because ranking signal is split between them.

Confirming It Is Real Cannibalization

Not every multi-page match is a genuine problem. Check whether the two pages actually serve the same search intent, or whether the query itself covers two legitimately different questions that happen to share wording. Two pages serving different intents under a shared query are not cannibalizing each other.

What to Do Once It Is Confirmed

The fix depends on severity. A near-total overlap usually calls for consolidating the weaker page into the stronger one with a redirect. A partial overlap with two pages both still needed can be resolved with a canonical tag or targeted internal linking instead, covered in full under keyword cannibalization audits.

Why This Check Belongs on a Schedule

Cannibalization usually develops gradually, as new pages publish without a check against what already exists. A quarterly pass through a site’s priority terms catches new overlap before it costs meaningful traffic.

Where the Standard Cannibalization Advice Breaks Down

Have you ever filtered one query and checked how many of your pages appear under it?

The usual advice
Buy a rank tracking tool that flags cannibalization automatically, since spotting it manually is impractical.
What holds up in practice
A rank tracker samples positions on a schedule and infers the rest. Search Console reports what Google actually served, for every query the site earned an impression on, at no cost.

Consider a team paying for cannibalization alerts from a tracking tool. The alerts fire on sampled data for a tracked keyword list.

The queries actually being split were never on the tracked list, because nobody had thought to add them. Search Console had been recording both URLs the whole time.

I start in Search Console because it covers every query rather than a chosen list. A tracker is useful afterwards, for watching a fix take effect.

Paying for sampled data while the complete data sits unread is the common pattern. The queries that matter most are often the ones nobody thought to track.

Two of your pages splitting one ranking means you are paying to compete with yourself, and both pages are losing.

Four Things Commonly Assumed About Cannibalization

Which of these has kept you from running this check?

I meet these four assumptions whenever this check has never been run.

Commonly assumedWhat actually holds
It needs a paid tool.Search Console carries the complete data for free. A paid tracker samples a chosen list and infers the rest.
Two ranking pages means twice the visibility.One ranking is being split. Both pages typically underperform against a single consolidated page.
It only affects large sites.A blog post and a service page targeting the same term is the most common case, and it happens at any size.
Any two URLs under one query is cannibalization.One dominant URL with another picking up occasional long-tail impressions is harmless. Week-to-week alternation is the real case.
The higher-traffic page should always win.Impressions and conversions often sit on different pages. The surviving page should be the one that earns.

This check takes about ten minutes and needs nothing you do not already have. Most sites running it for the first time find at least one real case.

What the Data Looks Like

The report
Search Console, then Performance, then Search results.
The two dimensions
Queries and Pages, which can be filtered against each other.
The diagnostic move
Filter to one query, then switch to the Pages tab.
The signal
Two or more URLs recording impressions under a single query filter.
The confirmation
Position charted by week, showing the ranking URL alternating.
Data window
Up to 16 months, which is enough to separate a pattern from a coincidence.
Row limit
The interface caps rows, and the API returns far more per request.
Cost
None. The method needs no paid tool at any stage.

A Worked Example: What the Filter Reveals

Consider one commercial query checked in Search Console. The figures below are illustrative, written to show what the two tabs report. No client engagement is described here.

URL under the query filterImpressionsClicks
/services/commercial-roof-repair/3,400128
/blog/how-to-spot-a-roof-leak/2,10051
/blog/roof-repair-costs-explained/3104
Weeks each held the ranking7, 5, and 0 respectivelyAlternating
Conversions recorded9, 0, and 0 respectivelyOnly the service page

Ivan Sp reads the final row before the first. The blog post with 2,100 impressions converts nobody, and it is taking weeks off the page that does.

Two pages competing for one query is two salespeople interrupting each other in front of one customer. Neither finishes the sentence.

The third URL is not the problem. Three hundred impressions and no alternation is normal long-tail overlap, and consolidating it would gain nothing.

The Manual Check

In Search Console’s Performance report, filter by a specific query the site should logically own with one clear page. Add the Pages dimension alongside Queries. If more than one URL shows meaningful impressions for that same query, that pairing is a cannibalization candidate.

Repeat this check across a site’s priority keyword list rather than waiting to notice it by accident. Priority terms are exactly where a split ranking signal costs the most.

The Manual Check, Step by Step

I run this check quarterly, since new publishing is what creates new cases.

  1. Open Search Console, then Performance, then Search results.
  2. Set the date range to the last 6 months, which is long enough to show a pattern.
  3. Open the Queries tab and click your most commercially important query.
  4. Switch to the Pages tab while that query filter is still applied.
  5. Count the URLs listed, and note impressions and clicks for each.
  6. Add the Average position metric, then chart position by week for the two strongest URLs.
  7. Confirm the two URLs alternate week to week rather than one holding steady.
  8. Compare conversions per URL in GA4, since clicks and conversions often sit on different pages.
  9. Repeat for your next five commercial queries.
  10. Record each confirmed case with the URLs, the query, and which page actually earns.

How This Engagement Is Scoped

What You Need Before You Start

Time required
About ten minutes for the first query, and an hour for a full pass.
Access needed
Search Console for the site, plus GA4 for the conversion comparison.
Tools required
None beyond those two, both of which are free.
Skill level
Able to apply a filter and read a line chart.
What can go wrong
Treating harmless long-tail overlap as cannibalization, and redirecting toward traffic instead of revenue.
Expected result
A list of confirmed cases, each with the URL that actually earns identified.
When to hire instead
Large blog archives, or a site where dozens of queries are affected at once.

Tools and Primary Sources

The references below cover the report and the fixes. Each opens in a new tab.

Run It on One Query Right Now

I suggest running the check on the query that matters most to your business.

  1. Open Search Console, then Performance, and set the range to the last six months.
  2. Open the Queries tab and click your most valuable commercial query.
  3. Switch to the Pages tab without clearing the query filter.
  4. Count the URLs that appear.

More than one URL under a single query filter is the whole diagnosis. The page with the clicks is very often not the page with the internal links.

Common Questions

How many months of Search Console data are needed for this check?

Three months gives a reasonably stable read. A shorter window can reflect normal fluctuation rather than a genuine pattern.

Does this method work for a brand-new site with limited data?

Less reliably, since a new site has less accumulated impression data to filter by. The method becomes more useful once a site has meaningful query history.

Can two pages both keep ranking without one being redirected?

Yes, when both genuinely serve different intents or audiences. The fix only involves removing a page when the overlap is real, not simply because two pages share a query.

How often should this check be run?

Quarterly is usually enough, and more often on a site publishing weekly. New cannibalization is created by publishing, so the schedule should follow the publishing rhythm.

Discuss This Work

The first call is a free 30-minute consultation with no pitch attached. You receive an honest assessment of where the site stands and what can realistically be built.

Book a free 30-minute consultation

Scroll to Top