Skip to content

Under construction. Where it stands

Keyword cannibalisation: how to tell it from normal overlap

Two of your pages on one query isn’t always a problem. How to check in Search Console whether they compete, and when to merge, redirect or leave them.

Published on 5 min read

Keyword cannibalisation is when several of your own pages compete for one query, so that none does as well as one strong page would. It’s an SEO term and not one of Google’s, and it’s often overdiagnosed. A site with depth will have many pages that show up for the same words, and most of that is harmless.

So the useful question isn’t “do two pages rank for this?” It’s “is that costing us anything?”

Overlap that isn’t a problem

Search handles a lot of this on its own. Google’s site diversity system generally won’t show more than two listings from the same site in the top results, and its deduplication systems show only the most relevant of very similar pages. If two of your pages hold positions 2 and 4 on a query, you hold two good slots. Leave that alone.

Overlap is also expected when a query is vague. A guide and a product page can both appear for a broad term, each serving a different reader.

Signs it really is costing you

  • The ranking URL keeps changing. Google can’t settle on which page answers the query, so positions wobble with it.
  • Neither page is good. Two pages stuck at positions 11 and 14 on a query you care about, where one strong page might reach the first page.
  • The wrong page ranks. Your old post outranks the page that converts.
  • The pages say the same thing. Same intent, same answer, written at different times by different people.

How to check it in Search Console

No report names it, but the Performance report can show you, one query at a time:

  1. Open Performance, set the search type to Web and a date range of three months.
  2. Click the query you’re worried about in the Queries table. That filters the report to it.
  3. Open the Pages tab. Each URL getting impressions for that query is listed, with its clicks and average position.
  4. Add a Page filter on each URL in turn and look at the Date tab. If impressions move from one URL to another over time, Google is alternating.

Keep two caveats in mind. Page tables aggregate by page, while the chart aggregates by property, so totals won’t match. And position is the topmost link, averaged, so it’s a tendency and not a rank.

To do it across a site, ask the Search Analytics API for the query and page dimensions together, then list queries where two or more pages get a real share of impressions. As a rule of thumb of ours, not a standard: look at queries where the second page gets at least a fifth of the impressions and neither is in the top three. Tune that to your site. Note that grouping by query and page may drop some data, so treat it as a shortlist to read and not as a measurement.

What to do, case by case

What you findWhat to do
Same intent, one page clearly strongerMerge what’s useful into the stronger page, then redirect the weaker one
Same intent, both pages must exist (variants, filters)rel=canonical to the main one
Different intent, confused titlesMake each page say what it’s for, and link between them
Two pages doing wellNothing
Wrong page ranks, right page is thinImprove the right page, then point internal links at it

Read each pair before deciding. It’s the only part no tool can do for you.

How to consolidate properly

Redirect when one page should disappear. A 301 or 308 tells Google the target should become canonical, and the target is what appears in results. Move what was useful on the old page first, or you’ll lose what ranked it.

Use rel=canonical when both pages stay. It’s a strong signal, though Google can still pick another URL. See canonical URL.

Don’t use noindex or robots.txt to choose. Google advises against both for this: noindex removes the page from Search entirely, and a disallowed URL can still be indexed without its content.

Update your internal links. After a merge, point your links at the page that remains, with descriptive anchor text. A sitemap listing the old URL, and a menu still linking to it, both send mixed signals.

Give it time. Judge it over weeks, since changes can take days or months to show, and note the date you made the change, so you’re comparing like with like.

With several sites

When two of your domains rank for one query, it isn’t the same thing. The site diversity limit is per site, so you hold two places on the page, and that may be exactly what you want. It only becomes a problem when the two compete for the same buyer with the same pitch, and you’d rather put all that work behind one. That’s a business decision before it’s an SEO one.

Keeping track of this by hand doesn’t scale past a few sites, so most people check when something drops. Owlseen’s keywords view is meant to show each site’s queries and pages side by side, once it’s released. Until then, the API query above, run monthly, is enough. And if a page is slipping without any rival of yours to blame, read about content decay.

Related posts

How to spot pages slowly losing clicks in Search Console, tell decay from seasonality or a technical fault, and decide whether to refresh, merge or leave them.
What the statuses in Search Console’s Page indexing report mean, which to ignore, the order to check things in, and what works and what doesn’t.
16 months of history, 1,000 rows in a table, hidden queries, one property at a time. What Search Console holds back, in Google’s numbers, and what to do.