RefreshRadarStart free

How to Find Keyword Cannibalization Using Only Search Console

Published · Eugene

The short version: open the Performance report in Search Console, set the date range to the last 3–6 months, click + New → Query, type the exact term, then switch to the Pages tab. Every URL in that list earned impressions for that query. Two or more URLs is where you start looking — not the verdict. Cannibalization is when the clicks are genuinely split, and most of the time they aren't.

I do this by hand on my own sites, in free Search Console, with no Ahrefs subscription. The method below is the one I actually use — and, more usefully, the screen I apply before I let myself believe the diagnosis, because "cannibalization" is the most over-diagnosed problem in SEO and the standard fix for it is a 301 redirect you can't cleanly take back.

Start from the page that's losing clicks, not from a keyword

Every other guide on this starts the same way: "pick a keyword you're worried about." That's backwards. You have hundreds of queries and no way to know which one to be worried about, so you end up spot-checking terms at random and finding overlap everywhere — because overlap is everywhere.

Start from the symptom instead. Something on your site is losing clicks. Find that page first, then ask the narrow question this article answers: is another of my own pages the reason?

That reframing matters, because it gives you a finite list. One decaying page has maybe three or four queries worth checking. A whole site has thousands.

The walkthrough, click by click

  1. Open the Performance report (Search results) in Search Console.
  2. Set the date range to the last 3 or 6 months. Not 28 days. You're looking for a pattern that persists, and a short window can't tell a swap from a bad week. Search Console holds 16 months of data, so use it.
  3. Find the query. With your decaying page in mind, add a Page filter for that URL, open the Queries tab, turn on compare mode, and sort by click difference. The query at the top is the one the page lost. (I've written up that half of the workflow separately — it's pattern four of five.)
  4. Now clear the page filter and filter by that query instead. Click + New → Query, choose Query contains or Query is exactly, and enter the term. Exact is stricter and less noisy; "contains" catches variants.
  5. Switch to the Pages tab. This is the whole trick. With a query filter applied, the Pages tab lists every URL on your site that earned impressions for that query, with its own clicks, impressions, CTR and average position.
  6. Read the split, not the count.

Step 6 is the part everyone skips.

Three signatures that mean it's real

Two URLs on one query is normal. Here's what actually separates a problem from a coincidence.

The split. Both URLs sit somewhere around positions 5–15, both take a share of the impressions, and neither one takes the clicks. Nobody is winning the query. This is the classic case and the one worth fixing.

The swap. Google keeps changing its mind about which of your URLs to show. Turn on compare mode with a query filter applied and watch the two pages across a few months — one has impressions in some weeks, the other in others, and the average position for the query is unstable. Google can't tell which page is the answer, which is a signal you gave it two.

The handoff. One page's clicks for that query fell while the other's rose by roughly the same amount. Your site didn't lose anything; one URL took the query from another. This is the one that looks like decay in a per-page report and isn't. If you'd refreshed the losing page, you'd have been fixing the wrong thing — and it's the same trap that makes a refresh look like it worked when it didn't.

If none of those three shapes is present — one page clearly wins the query, positions are stable, nothing transferred — you don't have cannibalization. You have two relevant pages, which is a normal thing for a site to have.

Where this method lies to you

Three limits worth knowing before you act on what you see. None of the guides ranking for this term mention them.

  • Filtering by query hides part of your data. Search Console omits anonymized queries — terms not searched by more than a few dozen people over a two-to-three month window — to protect user privacy. They're always missing from the tables, and they drop out of the totals as soon as you apply a query filter, which is why filtered numbers don't add up to the unfiltered ones. On a small site that's a meaningful chunk of the click split you're reading.
  • There is no query × page table. Search Console will not show you queries and URLs together in one view. You filter to one query and read the Pages tab, one query at a time. That's the real reason people buy tools for this — not because the method is hard, but because it doesn't scale past a handful of pages. The interface also caps each report at 1,000 rows.
  • A single week proves nothing. Two URLs trading places over seven days is noise. I don't treat a query as contested unless the pattern holds across a month or more.

When two pages on one query is fine

This is the section the tool vendors leave out, so let Google say it. Asked about cannibalization, John Mueller was blunt: "If you have 3 different pages appearing in the same search result, that doesn't seem problematic to me just because it's 'more than 1'." And: "pages aren't duplicates just because they happen to appear in the same search results."

There's no cannibalization penalty. Google is not confused by a site having several pages about a topic — that's what a topic cluster is. Leave it alone when:

  • The pages answer different questions. "What content decay is" and "how to find it in Search Console" will always overlap on impressions. They're not competing; they serve different people at different moments.
  • One page clearly wins. 800 clicks to one URL and 3 to another isn't a split. Google has already decided.
  • The second URL is a category, tag or archive page picking up stray impressions. That's structural, not a content conflict.
  • The query is broad. Wide head terms pull in half your site. Judge the specific, long-tail queries — those are where a split actually costs you something.

Which conflicts are worth fixing

You'll find more overlap than you have weekends. Rank it the same way you'd rank anything else: by what it's costing.

For each contested query, take the clicks the losing page used to earn per week, subtract what it earns now, and multiply by 4.33 to get clicks per month at stake. That's the number that decides the order — the same method I use to prioritize refreshes, and Google itself ranks its trending items in Search Console Insights "based on an increase or decrease in the number of clicks, not the percentage change." Absolute clicks, not percentages.

My own working floor: I ignore a contested query worth less than about 10 clicks a week. Below that, the numbers are too small to tell signal from noise, and the fix costs more than the traffic.

Then pick one of two fixes based on intent, not overlap:

  • Same question → consolidate. Move the best material into the stronger URL and 301 the weaker one to it. That's Google's documented way to consolidate duplicate URLs, and a 301 redirect is the strongest signal you can send about which page is the real one. Keep the surviving URL — it has the age and the links.
  • Different questions → differentiate. Keep both pages and make the difference obvious: retitle the weaker one around its own question, rewrite its opening paragraph so the first 60 words answer something the other page doesn't, and point your internal links at the right page for each term. Half of Google's confusion is usually your own internal linking.

Verify it, because a 301 is hard to undo

More than anywhere else in SEO, this fix deserves measurement. You're deleting a URL.

Before you touch anything, record what the contested query earned in the 28 days before — clicks, and the average position of each URL. Note the date you made the change. Then wait four to eight weeks. Ranking movement shows up first, clicks lag it, and a redirect has to be recrawled before any of it consolidates.

After the wait, compare the 28 days after against those 28 days before, for the query, at the site level — not just the surviving URL. That last part is the whole test. If the winning page gained 40 clicks and the redirected one gave up 45, you didn't fix cannibalization, you just moved it. The full before-and-after method is here, including the three ways it can fool you.

And if you'd like this to be a habit rather than a one-off, it slots neatly into a monthly Search Console check.

Find the query first, then check for the culprit

The honest summary of this whole exercise: cannibalization is real, it's less common than the internet claims, and the only way to spot it in free Search Console is to already know which query a page is losing.

That first part — which query — is what RefreshRadar does automatically. It watches every page in your Search Console, and when a page starts decaying it names the specific term it lost the most ground on, so you know exactly which query to run this check against instead of guessing. It doesn't tell you the conflict is cannibalization; that judgement is the four minutes of work above, and it's yours to make. But it does hand you the query.

Connect Search Console read-only and see your three worst-decaying pages — free. No card, about 30 seconds, and we never post or change anything. Each one comes with the query it's losing, which is the input this article needs.

FAQ

Frequently asked

How do I check for keyword cannibalization in Google Search Console?+

Open the Performance report, set the date range to the last 3 to 6 months, click "+ New" and add a Query filter for the exact term, then switch to the Pages tab. Every URL listed is a page of yours that earned impressions for that query. Two or more URLs is the starting point, not the verdict. Look at how the clicks split before you call it a problem.

Is keyword cannibalization actually bad for SEO?+

Usually less bad than people think, and it is not a penalty. Google's John Mueller has said plainly that several of your pages appearing in one search result is not inherently a problem, and that pages are not duplicates just because they show up together. The thing worth fixing is narrower — two pages that answer the same question, splitting the clicks for a query so neither one wins it.

How do I know if two pages are really competing or just both relevant?+

Look for one of three signatures. The split — both URLs sit in positions roughly 5 to 15 and neither takes the clicks. The swap — Google keeps changing which of your URLs it shows, week to week, for the same query. The handoff — one page's clicks for that query fell while the other's rose by about the same amount. If neither page moved and one clearly wins the query, that is not cannibalization, it is just two relevant pages.

Should I 301 redirect or rewrite the losing page?+

It depends on intent, not on overlap. If both pages answer the same question, consolidate — move the best material into the stronger URL and 301 the weaker one to it, which is Google's documented way to consolidate duplicate URLs. If the pages genuinely answer different questions and Google is confusing them, keep both and differentiate the weaker one — retitle it, rewrite its opening around its own question, and point internal links at the right page.

How long after fixing cannibalization does traffic recover?+

Give it four to eight weeks before you judge it. Ranking movement usually shows up first, clicks lag behind it, and a redirect needs time to be recrawled and consolidated. Record the clicks the query earned in the 28 days before you touched anything, then compare the 28 days after. Anything shorter than that is noise, and a 301 is hard to undo, so it is worth measuring properly.

Can I find cannibalization across my whole site in Search Console?+

Not in one view. Search Console has no table that shows queries and pages together — you filter to one query at a time and read the Pages tab, so the check is per query, not site-wide. On a large site the interface also caps each report at 1,000 rows. This is exactly why most people reach for a paid tool here, and why it is worth starting from the pages that are actually losing clicks instead of auditing every query you have.

Your next SEO win is already on your site.

Connect Google Search Console (read-only) and see what’s decaying on your site — free. If nothing is, we’ll tell you that instead. Pay only when you want the full ranked list and your weekly digest.

No card to start · 7-day money-back guarantee