πŸ’‘
Key Takeaway

Keyword cannibalization happens when two or more of your pages chase the same search with the same intent, so Google keeps swapping them and neither ranks as well as one strong page would. To find it in Search Console, open Performance, click the search, then open the Pages tab: two URLs whose positions trade places week to week, with clicks split between them, is the sign. Fix it by merging and redirecting, giving one page a different job, or pointing your internal links at the main page, and leave it alone when both pages rank well together.

Here’s a pattern we see a lot on sites with a few hundred pages. Two years ago you published a guide to kitchen remodel costs, and it ranked near the top of page one. Last spring someone wrote a new post on remodel pricing. Now both hover around position 11, traffic to the topic is flat, and nobody can say which page Google is supposed to show.

Search Console can tell you, if you know where to click. Here’s how we find keyword cannibalization in Search Console, check a whole site, and decide what to do with each pair of pages, including nothing.

What keyword cannibalization is, and when it isn’t a problem

Google shows a limited number of results from any one site. Its site diversity system means it β€œgenerally won’t show more than two web page listings from the same site” in the top results, unless a search really calls for more (Google Search Central). When two of your pages answer the same question for the same person, they compete for that space. Rankings often alternate between them, and links and clicks get spread across both.

That doesn’t mean every overlap is a problem. Google’s John Mueller has pushed back on the idea: β€œpages aren’t duplicates just because they happen to appear in the same search results page.” His advice: β€œReduce unnecessary duplication and spend your energy on a fantastic page” (Search Engine Journal). We agree. Overlap is normal. Overlap that costs you clicks is what to fix.

Usually fine Worth fixing
Both pages show in the top results together, so you hold two spots Both pages sit lower than either did on its own
One page clearly leads, the other gets a few stray impressions far down The two URLs take turns ranking, week to week
Different intents: a how-to guide and a service page that sells the work Two posts that answer the same question in a slightly different order
A broad page and a specific one, linked to each other The wrong page ranks: an old post where you want the service page

Step 1: Start from the search, then open the Pages tab

In Search Console, open Performance, then Search results. Set the date range to the last 3 months. Then:

  1. On the Queries tab, click a search that matters to your business. The whole report now filters to that search.
  2. Switch to the Pages tab. You’ll see every URL of yours that appeared for it, with its clicks, impressions and position.
  3. If two or more URLs have real impressions, open the filter bar, choose Page, then Compare, and enter the two URLs. Google’s comparison works on two values of one dimension at a time (Search Console Help).
  4. Turn on Average position above the chart and set the chart to weekly so day-of-week noise drops out.

You now see one search, one line per page. Cannibalization usually looks like this:

Illustrative chart of two URLs swapping average position for one search over 16 weeks, with a Pages tab showing clicks split between them

Three signs to look for:

  • Two URLs swapping positions over time. One leads for a few weeks, then the other takes over. Neither settles.
  • Clicks split between them. If two pages each get a fraction and the total is lower than the topic used to bring in, that’s lost traffic.
  • The wrong page ranking. A thin old post shows up where your service page or your best guide should. Visitors land on the weaker answer and leave.

Step 2: Work backward from the page, using the Queries tab

Starting from a search finds the overlap you already suspect. Starting from a page finds the overlap you don’t. Clear the filters, then:

  1. On the Pages tab, click one of your important pages. The report filters to that URL.
  2. Open the Queries tab and note its top 10 to 20 searches by impressions.
  3. Do the same for the page you think competes with it.
  4. Searches on both lists, with real impressions on both, are your overlap.

Searches come in variations (β€œremodel cost”, β€œremodel price”, β€œhow much does a remodel cost”). To see them together, use a query filter with Custom (regex), for example remodel.*(cost|price)|how much.*remodel. Search Console uses RE2 syntax, and matching isn’t case-sensitive by default (Search Console Help). Then open the Pages tab to see which URLs share the whole group.

Step 3: Check the whole site with an export

Clicking through works for your top 20 topics. For a site of 100 or 500 pages, you need the data side by side. The catch: the report’s export button gives you queries and pages as separate lists, not which page appeared for which search, and it’s limited to 1,000 rows. The Search Console API returns up to 50,000 rows a day per search type, and the bulk export to BigQuery sends all of it, without that limit (Search Console Help).

For most small and mid-size sites, a spreadsheet add-on or Looker Studio report that pulls from the API is plenty. Ask for query and page together, for the last 3 months. Then:

  • Remove branded searches and anything with very few impressions. A page that showed up five times at position 60 isn’t competing.
  • Count how many URLs each search has. Keep only searches with two or more.
  • Work out each page’s share of clicks and impressions. Pairs where neither page clearly leads go to the top.
  • Group the results by page pair. The same two pages usually overlap on many searches, and that pair is one decision, not twenty.

To skip the spreadsheet, use our free checker. Paste your pages with the keyword each one targets, or load them from Search Console with a free account, and it groups pages that compete and suggests whether to merge, separate or link them. It only sees the pages you give it.

πŸ”
Free Tool
Content Cannibalization Checker
Find pages competing for the same keywords and hurting your own rankings.
Try free β†’

What we found when we checked our own blog

In November 2026 we ran this review on our own 36-post blog. We found two pairs of posts that were about a third alike, plus several posts answering the same question in different words. We merged three posts into the posts that already covered the same question and redirected the old addresses. If it happens on an SEO agency’s blog, it can happen on yours: posts get written months apart, and nobody checks what’s already there.

How to fix keyword cannibalization: pick one of four

Every pair gets one of four decisions: leave it alone, merge, retarget or relink. Start with the first question in the chart, because it rules out a lot of pairs.

Decision tree for two pages competing for one search: leave alone, merge and redirect, retarget the weaker page, or link both to the main page

1. Merge the pages and add a 301 redirect

When both pages answer the same question for the same reader, keep one and redirect the other. Keep the URL with more clicks, more links from other sites and the cleaner address. Before you redirect, move over what’s worth keeping from the weaker page:

  • Sections, examples or steps the main page doesn’t have.
  • Data, quotes and original images, with their sources.
  • Questions the weaker page ranked for. Check its Queries tab and make sure the merged page answers them.

Then add a permanent (301) redirect from the old URL to the main page. Google treats a permanent redirect as a strong signal that the target should be the URL it shows in search (Google Search Central). Update your own internal links to point straight at the main page, and remove the old URL from your sitemap. Our .htaccess analyzer will catch chains and loops if you redirect on an Apache server.

⚠️
Warning

Don't redirect a merged page to your homepage or a loosely related page. Send it to the page that took over its content. In our experience, a redirect to a page that answers a different question keeps little of the old page's value, and visitors land somewhere that doesn't help them.

2. Make one page the main one and retarget the other

Sometimes both pages deserve to exist and have just drifted into the same search. A cost guide and a β€œkitchen remodeling services” page are a common pair. Decide which page owns the search, then rewrite the other for a different intent: new title, H1 and first paragraph, and cut the sections that copy the main page. The guide explains what drives the price. The service page sells the work in your area.

3. Point internal links and anchor text at the main page

Your own links tell Google which page you consider the answer. In audits we often find a site’s menu, footer and older posts all linking to the weaker page with the exact words of the search. Change those links to point at the main page, and use anchor text that describes it. Link the secondary page to the main one, and give links to the secondary page their own anchor text. This goes with every fix above, and on its own it’s often enough for a broad page and a narrow one that need a clear order.

When a canonical tag is the right tool, and when it isn’t

A rel="canonical" tag tells Google which of several near-identical URLs to show. Google treats it as a strong signal, not a command, and the tag is meant for duplicate or near-identical pages (Google Search Central). So a canonical is right when visitors need both versions: a printable page, a filtered product list, an article republished for a campaign. It isn’t right for two different articles on one topic: if they aren’t near-duplicates, Google can pick its own canonical and both keep competing. When you don’t need the second page, Google’s advice is to redirect it.

For deciding which pages to refresh, keep or remove across the whole site, see our guide to content pruning and refreshes. To stop new overlap before it starts, plan which page owns each topic with our topical map template and our content architecture steps.

Your keyword cannibalization check this week

01List the 20 searches that bring you the most business, and check each one in Performance, then the Pages tab.
02For any search with two URLs, compare the two pages and chart average position by week.
03Pull query and page data together for the last 3 months and list every search with two or more of your pages.
04Group the results by page pair and sort by impressions.
05Decide for each pair: leave alone, merge and redirect, retarget, or relink.
06Make the changes, update internal links, and note the date.
07Check the same searches in Search Console 4 to 6 weeks later.

Want a clear plan for which page owns which search?In an SEO Strategy Sprint, a senior strategist maps your keywords to pages and lists the merges, redirects and rewrites to fix overlap, in a roadmap delivered in 5 business days.

If you’re not sure overlap is your main problem, our guide on how to read a technical SEO audit report helps you rule out the other usual causes of flat traffic.

FAQs

How do I find keyword cannibalization in Google Search Console?

Open Performance, click a search on the Queries tab, then switch to the Pages tab. If two or more of your URLs have real impressions for that search, compare them and chart average position by week. Positions that keep swapping, or clicks split between two pages, are the signs.

Is it bad if two of my pages rank for the same keyword?

Not always. If both pages show in the top results, or they serve different needs like a guide and a service page, you may be getting more clicks than one page would. It’s a problem when the pages take turns, both sit lower than one used to, or the wrong page ranks.

Should I use a canonical tag or a 301 redirect to fix cannibalization?

Use a 301 redirect when you’re merging two pages and no longer need the second one. Use a canonical only when the pages are near-identical and visitors still need both, like a print version. Google may ignore a canonical between two different articles.

How long does it take to see results after merging pages?

It depends on how often Google crawls your site. In our experience, redirects are picked up within days to a few weeks, and rankings settle over the following weeks. Check the same searches after 4 to 6 weeks and compare with the weeks before.

Can I find cannibalization without exporting Search Console data?

Yes, for a handful of searches: click each search and check the Pages tab, or filter by page and check the Queries tab. For a whole site you need query and page data together, which the report’s export doesn’t give you, so pull it through the API with a spreadsheet add-on or Looker Studio.

Sources