Keyword Cannibalization: How to Find It, Fix It, and Prevent It.

Table of Contents

Keyword cannibalisation is one of those problems that is easy to define and surprisingly hard to find. Two or more pages on your site target the same search intent, so instead of one strong page you have two mediocre ones splitting links, splitting relevance signals and taking turns to rank badly.

Most articles on this stop at the definition. This one covers how to actually detect it, how to decide between consolidating and retargeting, and the version almost nobody audits — cannibalisation across sites, which is the expensive one if you run several brands or an agency serving several clients in the same niche.

What It Is, and What It Is Not

Cannibalisation is competition for the same intent, not for the same words. That distinction does most of the diagnostic work.

Two pages that both mention a treatment are not cannibalising if one explains how it works and the other explains what it costs. Those are different questions with different answers and different searchers, and they should be different URLs. Conversely, two pages with completely different titles can cannibalise badly if they both answer “how much does this cost.”

The test is simple: if someone searching that query would be equally well served by either page, you have a problem. If they would be better served by one, you do not.

What It Actually Costs You

  • Split authority. Internal and external links that should have concentrated on one URL are spread across two.
  • Rank flapping. Search engines swap which page they show, which reads as instability and prevents either from consolidating a position.
  • The wrong page ranks. Frequently the informational page outranks the page that actually converts, so traffic arrives and does not enquire.
  • Crawl budget waste on large sites, where near-duplicate pages consume attention that should go to pages that earn.
  • Diluted click-through. Two half-relevant titles compete against one precisely-matched competitor title, and lose.

The conversion cost is the one that gets missed in reporting. Total organic sessions can look healthy while the cost and comparison pages — the ones closest to a decision — sit outranked by your own explainer.

How to Find It

Search Console, sorted properly

The fastest reliable method. In the performance report, filter to a query and look at the Pages tab. If two or more URLs show impressions for that query, you have candidates. Do that across your top queries and a pattern emerges quickly.

The signal that matters most is not two pages appearing — it is two pages alternating over time. Compare a date range against the previous period; a query where the ranking URL flipped is a strong candidate.

Site search operators

A site: search on your domain plus the query returns what the engine considers your most relevant pages for it. If the page you expected is third, you have found something. Crude, fast, and it takes ten seconds per query.

Enumerate your own content properly

This is where most audits go wrong before they start. Do not audit against your XML sitemap. Sitemaps go stale, plugins exclude post types, caches serve old versions, and drafts and scheduled posts do not appear at all.

Across a portfolio of WordPress sites we audited recently, every single sitemap under-reported: one listed twenty-one posts where the API returned twenty-five, another listed nine against twelve. In one case the omitted posts were exactly the ones about to be duplicated, because the writer checked the sitemap, saw no coverage, and commissioned an article that already existed.

On WordPress, enumerate through the REST API instead — /wp-json/wp/v2/posts?per_page=100&status=any, paged until it returns empty. That is the authoritative list. For a large site, search titles directly rather than pulling everything: ?search=TERM&search_columns=post_title is far more practical than reading nine hundred slugs.

Map intent, not keywords

Build a simple sheet: URL, primary query, and intent classified as mechanism, efficacy, cost, safety, process, comparison or transactional. Sort by intent. Any intent appearing twice for the same subject is a collision, whether or not the titles look similar.

This catches what tools miss, because it is a judgement about what a searcher wants rather than a string comparison.

Fixing It: Four Options

In rough order of how often each is the right answer.

1. Retarget

Usually the best option for two pages that both have some equity. Keep both URLs. Rewrite one to serve a genuinely different intent — take the weaker page and push it toward a question you have not covered, then re-point internal links and titles accordingly.

Preserve the slug. A slug change means a redirect, a period of reassessment, and a small equity loss. There is no rule that a URL must describe the current title, and an established URL is worth more than a tidy one. We have retargeted pages from “what is X” to “how to source and verify X” while keeping the original slug, and the page recovered its position on the new intent within weeks.

2. Consolidate and redirect

When the pages are genuinely the same and one is clearly stronger, merge the useful material into the winner and 301 the loser to it. Update every internal link to point at the destination directly rather than relying on the redirect chain.

Merge properly. Copying two articles together produces a bloated page that serves nobody. Take what is genuinely additive and discard the rest.

3. Differentiate in place

Sometimes both pages should exist and the boundary is simply blurred. Sharpen the titles and H1s so each targets its intent unambiguously, trim the section where one strays into the other’s territory, and add a cross-link so the overlap becomes a signpost rather than a competitor. This is the lowest-risk fix and is often enough.

4. Localise or segment

Where two pages serve genuinely different audiences, make that explicit. A generic guide and a city-specific version can coexist if the local one carries real local substance — regional regulation, local pricing context, local process — rather than the same text with a place name inserted. Thin localisation does not resolve cannibalisation; it adds to it.

Cross-Site Cannibalisation

Here is the version that costs the most and gets audited the least.

If you operate several brands in the same niche, or if your agency serves several clients in the same specialty and the same metro, those sites can compete with each other for the same queries. Nobody notices because every site is audited in isolation, and every site’s report looks fine.

The pattern is predictable and it comes from process, not carelessness. One content workflow applied to several similar clients produces similar topic lists, because the same research method applied to the same niche returns the same answers. We have seen two client sites end up with byte-identical slugs for the same subject, published days apart, produced by the same well-intentioned process.

How to audit across a portfolio

  • Maintain one topic register spanning every site you manage — subject, intent, URL, publish date. This is the whole solution; everything else is detection after the fact.
  • Group sites by vertical and by geography. Two peptide suppliers compete nationally. Two clinics compete only if they share a metro.
  • Before commissioning, check the register, not just the target site.
  • Diff the slugs across sites periodically. Identical slugs on two domains are the loudest possible signal and take one query to find.

How to fix it once it exists

You cannot redirect between two clients’ sites, so consolidation is off the table. The options are narrower and the principle is ownership: decide which site owns which intent, and retarget the other.

Assign ownership on genuine strengths rather than arbitrarily. The site with deeper existing coverage of the subject keeps the head term. The site with a strong local presence takes the localised version. The site whose surrounding content is about sourcing and verification takes the sourcing intent, while the other keeps the mechanism explainer. Then rewrite — keeping slugs, avoiding redirects, and pointing internal links to match the new boundary.

Done that way, both clients end up better off than before: each owns a defensible intent instead of both contesting one.

Frequently Asked Questions

Is keyword cannibalization a Google penalty?

No. There is no penalty and no manual action. It is a self-inflicted dilution of your own signals, which is why it shows up as underperformance rather than as a drop.

Can two pages rank for the same keyword without cannibalising?

Yes, and it is often desirable. Occupying two positions for a query is a good outcome when the pages serve different intents behind it — a comparison page and a service page, for instance. The problem is duplicated intent, not shared vocabulary.

Should I delete the weaker page?

Rarely. Deleting discards any equity the page holds and creates a dead URL. Retarget it to an uncovered intent, or consolidate it into the stronger page with a 301. Straight deletion is the last resort.

How often should I audit?

Quarterly for an actively published site, and immediately after any migration, merger or bulk import. Sites that publish heavily generate collisions faster than they notice them.

Do canonical tags fix it?

They fix duplicate URLs serving the same content. They do not fix two genuinely different pages competing for the same intent — that needs an editorial decision, not a tag.

Which verticals are worst affected?

Any vertical where one subject generates many closely related questions. Healthcare is a common example, because a single treatment produces mechanism, efficacy, cost, coverage, safety, process and comparison queries all at once — we cover how to structure that in SEO for medical practices.

Preventing It

  • One page, one intent, decided before writing. Assign the intent at the brief stage, not after publication.
  • Publish a cluster map for each subject — mechanism, efficacy, cost, coverage, safety, process, comparison, transactional — and fill the gaps rather than writing whatever seems interesting.
  • Check the live index before every brief. Thirty seconds against the API.
  • Audit quarterly, and after any migration or merger.
  • Keep the register current. A register nobody updates is worse than none, because it produces false confidence.

Cannibalisation is not a penalty and it is not dramatic. It is a slow tax on work you have already paid for — and unlike most SEO problems, fixing it produces gains without producing anything new. For the technical groundwork underneath all of this, see our overview of technical SEO and our guide to sitemaps for service businesses — with the caveat above about not trusting the sitemap as your source of truth.

LET'S GET TO WORK

Please fill out the form with your best contact information and any helpful information regarding your needs. We typically reach back out within 24 hours.