How to find keyword cannibalization in Google Search Console
How to find keyword cannibalisation in Google Search Console: spot searches where two of your pages compete, check it's a real problem, and fix it.
Keyword cannibalisation is when two or more of your own pages compete for the same search, so Google keeps switching between them and neither ranks as well as one clear page would. You can find it in Google Search Console by clicking a search in the Performance report and checking the Pages tab: if several of your URLs share the impressions, you have a candidate. The fix is usually to pick one page for that search and merge, redirect or re-angle the others.
This guide shows how to find it, how to tell a real problem from a harmless overlap, and what to do about each case.
Why it matters
When two pages target the same search, the links and internal links that point at the topic are spread across two URLs instead of concentrated on one. Google also has to choose which page to show for the search, and when the pages are similar it may choose differently from one week to the next.
The result can be a ranking that wobbles, and sometimes a position lower than a single stronger page would reach. It also makes your reporting harder to read. If a search drops, you can't tell whether you lost ground or Google simply swapped which of your pages it shows.
Not every overlap is a problem, though. A product page and a guide can both rank for a broad search and both earn clicks. The question is never "do two pages appear?" but "is the split costing me clicks?"
How to find keyword cannibalisation in Search Console
You need the Performance report. Every label below matches Google's Performance report help and its page on dimensions and data groupings.
Step 1: Choose a useful date range
Open Performance, then Search results. Click the date filter and pick the last 3 months. Shorter ranges are noisy, and you want enough data to see whether pages swap over time.
Step 2: List the searches worth checking
Stay on the Queries tab and turn on Impressions and Average position above the chart. Sort by impressions. You're looking for searches that matter to your business and get enough impressions to act on.
If you already suspect a topic, narrow the list. Click + Add filter, choose Queries, then Custom (regex), and enter a pattern that covers the variations. For example, a logistics business might use:
(3pl|fulfil+ment) (companies|providers|services)
That matches "3pl companies", "fulfilment providers" and "fulfillment services" (the l+ allows both spellings). Swap in your own topic words.
Search Console uses RE2 regex, matches partially and ignores case by default. Our guide to Search Console regex filters has more patterns you can copy.
Step 3: Click a search, then open the Pages tab
Click the query in the table. Search Console filters the whole report to that search. Now click the Pages tab below the chart.
Google's help on common Performance report tasks describes this exact step: click a query, then "view the Pages tab to see which URLs were shown." If only one URL appears, there's no cannibalisation for that search. If two or more appear with a real share of the impressions, write them down.
One detail matters here. On the Pages tab, data is counted per page, while the chart counts your whole site once per search. So the impressions on the Pages tab can add up to more than the chart total when two of your pages appear in the same results. That's expected, and it's exactly the overlap you're looking for.
Step 4: Check whether the pages swap over time
Two pages showing in the same three months might mean they rank together, or that Google alternated between them. To see which, keep the query filter, then add a page filter for one URL at a time and look at the chart with Average position selected.
If page A has impressions for a few weeks, then drops to nothing exactly when page B starts getting them, Google is swapping them. That's the pattern that usually costs you.
If both pages show steady impressions on the same days, Google is showing them together. That's often fine, especially if both are on page one.
Step 5: Check which URL Google treats as canonical
Search Console credits most data to the canonical URL, not the duplicate a visitor clicked. If two of your URLs are near-copies, Google may have folded one into the other already. Paste each URL into the URL Inspection bar at the top of Search Console and look for Google-selected canonical under Page indexing. If Google picked a different URL from the one you expected, that's a sign the pages are too similar.
Step 6: Decide what to do
For each search with a real split, pick the page that should win it. Usually that's the page that best answers the search, has the most links pointing at it, or is the one you'd want a new visitor to land on. Then choose one fix:
- Merge and redirect. If the two pages say much the same thing, move the useful parts of the weaker page into the stronger one and 301 redirect the weaker URL. Google's guide to canonical URLs lists redirects as a strong signal for which URL should be canonical.
- Set a canonical. If both pages must stay live for visitors (for example two near-identical product variants), add a
rel="canonical"link on the weaker page pointing at the winner. Google describes this as a strong signal too. - Re-angle the weaker page. If the pages genuinely serve different needs, make the difference obvious. Change the weaker page's title, headings and focus so it targets its own search, not the winner's.
- Fix internal links. Point your own links for that topic at the winner, with anchor text that describes it. Many cannibalisation problems come from linking to both pages interchangeably.
After you change anything, add a note on the Performance chart so you remember the date. Right-click the chart, add a custom annotation (up to 120 characters), and click Add. Google explains this in its annotations help page.
A worked example
This example uses a pattern from a real site, a UK logistics marketplace that lists third-party logistics (3PL) providers.
The site has a main listing page, /all-providers, and a filter that adds a region to the address, such as /all-providers?region=.... Each filtered address is its own URL, and the content is close to the main listing. On this site the main listing and the region-filtered URLs compete for the same searches. Over a recent 28 days, for one of its main searches (about fulfilment companies), roughly 80% of the impressions went to two region-filtered URLs, and the main listing was not among the top three pages for it. That is the pattern to look for on the Pages tab: a set of near-duplicate pages taking a search between them.
Which page should win? The main listing, unless a region has its own real content (an introduction to that region, different providers). Two checks decide it:
- Paste a few of the filtered URLs into the URL Inspection bar and look at Google-selected canonical. If Google has already chosen the main listing, the split is mostly a reporting problem and the canonical tag is confirming what Google decided. If it has chosen the filtered URLs, or a different one each time, the signals are scattered.
- Filter the Performance report to one filtered URL at a time and look at Average position over three months. If the filtered pages take turns, Google is swapping them.
The fix is the one from the list above for pages that must stay live for visitors: add a rel="canonical" link on each filtered URL pointing at the main listing, link to the main listing from the site's own pages, and only let a region page stand alone if it has content of its own. Then annotate the chart and check the same search again in four to six weeks. Our guide on how to measure whether an SEO change worked explains how to read that comparison fairly.
Common mistakes
- Treating every overlap as a problem. Two pages appearing together on page one can be a good outcome. Only act when the split is costing you, usually because pages swap or both sit lower than one strong page would.
- Deleting a page without a redirect. If the weaker page has links or traffic, deleting it throws that away. Redirect it to the winner instead.
- Checking only one week. Swapping shows up over weeks. A short range can make two pages look like they rank together when Google is really alternating.
- Confusing it with a ranking drop. If a query's clicks fell, check the Pages tab before rewriting anything. The drop might be a swap to a weaker page of yours, not a loss to a competitor. Our checklist for when a keyword disappears from Search Console covers the other causes.
- Fixing titles only. If two pages cover the same thing, rewriting one title rarely stops Google treating them as alternatives. The content needs to differ, or be merged.
Where cannibalisation hides
Some places produce it more often than others:
- Blog posts that drift into your service or product topic. A post written to attract readers ends up competing with the page meant to convert them.
- Category and tag pages that list the same posts as each other.
- Old and new versions of the same guide, when the old one was never redirected.
- URLs with parameters, such as sorting or tracking codes, that show the same content. These are usually duplicates rather than true cannibalisation, but the Pages tab shows them the same way. A canonical tag is the usual fix.
If the searches you care about also sit just off page one, splitting them between two pages makes it harder still. See how to find keywords you almost rank for for how to prioritise those.
Doing this every week? Sense Console does it automatically
Checking the Pages tab one query at a time works, but it's slow once you have more than a handful of searches. Sense Console imports your Search Console data with the page for each search. When a search is one of your opportunities and more than one of your pages takes a real share of its impressions (20% or more each), the opportunity card says how many of your pages compete for it, and the Why this matters steps tell you to pick one page and consolidate the others. It doesn't create a separate cannibalisation report, so the manual steps above are still the way to audit your whole site.
Start free. Free plan. No card required.
Frequently asked questions
Is it always bad when two of my pages rank for the same search?
No. If both pages earn clicks and serve different needs, or Google shows both at the top, leave them alone. It is only a problem when the pages swap places, split the clicks, and neither ranks as well as one strong page would.
How many impressions does a search need before cannibalisation is worth fixing?
There is no official number. Start with searches that matter to your business and have enough impressions that a change would be visible in a few weeks. Small searches with a handful of impressions are mostly noise.
Should I use a canonical tag or a redirect to fix it?
If one page should replace the other, merge the content and use a 301 redirect, which Google describes as a strong signal. Use a canonical tag when both URLs need to stay live for visitors but only one should appear in search.
Can Search Console show cannibalisation for my whole site at once?
Not in one view. The Performance report shows pages per search one query at a time. To check many searches at once you need an export, the Search Console API or a tool that does the comparison for you.
