Keyword cannibalization is one of those SEO problems that looks like a content strategy problem and is actually an information architecture problem. Two pages on the same site are competing for the same query, Google is splitting the signal between them, and both of them end up ranking lower than either one would have alone. The fix is not "write better content." The fix is deciding which page should own the query and making the rest of the site defer to it.
This piece walks through how to spot cannibalization in the first place, why the usual advice about it is wrong in one important way, and how to consolidate without accidentally dropping your rankings during the fix.

Photo by Stanislav Kondratiev on Pexels
What cannibalization actually is (and is not)
Cannibalization happens when two or more URLs on the same domain rank for the same query, splitting clicks and backlink signal between them. Google's ranking algorithm sees two related pages, cannot decide which is more relevant, and reduces the ranking of both rather than picking one confidently. The result is that a query where you might have ranked position 3 with one page has both pages sitting at position 8 and 12.
Cannibalization is not the same thing as two pages using the same keyword. If your site is about running shoes and 40 pages mention "trail running shoes," that is not cannibalization. That is a healthy topical cluster. Cannibalization specifically requires that the pages be competing for the same searcher intent, not just using the same words.
The intent test is the useful heuristic. If a user searches "trail running shoes" and clicks either of two of your pages, would they get roughly the same thing? If yes, you have cannibalization. If one page sells shoes and the other is a review of specific models, you probably do not, even though both use the phrase.
The two common types
The first type is blog vs blog. Two blog posts written months apart target the same informational query, usually because the writer forgot the first one existed. This is the easier type to fix. Consolidate the weaker post into the stronger one, redirect, done.
The second type is blog vs service page. A blog post ranks for the exact query that a service page or product page should own. This is the harder type to fix because the two pages usually serve different real-world purposes. The blog post is educational. The service page is transactional. The instinct is to keep both and hope they eventually differentiate. That rarely works. Google keeps splitting the signal, and neither page gets to rank where it should.
For a site with real commercial intent behind service pages, blog-vs-service cannibalization is the more expensive form to leave in place. A service page ranking at position 8 for a high-intent query is losing meaningful revenue that a blog post ranking at position 3 for the same query cannot recover, because informational queries convert at a fraction of the rate transactional pages do.
How to spot it
Three ways, in ascending order of accuracy.
Search Console query overlap. In Google Search Console, pull a report by query and look at which URLs are getting impressions for the same query. If more than one URL gets impressions for the same phrase within a two-week window, you have candidate cannibalization. The tool that catches almost every case is the "queries by page" view, comparing two pages against each other.
Manual SERP inspection. For every high-value query on your site, do the search in an incognito window and see if more than one page from your domain shows up in the top 30 results. If two of your pages sit at position 8 and 14 for the same query, you have cannibalization even if Search Console has not surfaced it yet.
Log file analysis. For sites with hundreds or thousands of pages, log file analysis will show which pages Googlebot is crawling most often. When Googlebot spends similar effort crawling two pages that target the same intent, it is often because it cannot decide which one is canonical. That indecision shows up in the crawl pattern before it shows up in the rankings.

Photo by Towfiqu barbhuiya on Pexels
The specific query overlap thresholds worth acting on
Not every keyword overlap is cannibalization. Some rough thresholds for action:
If two pages show up in the top 50 for the same query, that is worth investigating but not necessarily worth fixing yet.
If two pages show up in the top 20 for the same query and both have accumulated at least 100 impressions each in Search Console over the last month, that is cannibalization and worth consolidating.
If two pages show up in the top 10 for the same query, that is expensive cannibalization and should be at the top of the fix list, regardless of impression volume, because those are the pages closest to conversions.
Once you have your list of confirmed cases, sort by monthly impressions and start with the highest-traffic queries. Fixing one cannibalization on a high-traffic query is worth more than fixing five on long-tail queries.
How to actually fix it
Three approaches, in decreasing order of finality.
Consolidate and redirect. Merge the weaker page's useful content into the stronger page. Add a 301 redirect from the weaker URL to the stronger one. This transfers backlink equity and tells Google to treat them as the same page going forward. Best for cases where both pages are covering roughly the same ground and the weaker one is genuinely redundant.
Canonicalize. Add a rel="canonical" tag on the weaker page pointing to the stronger one. This tells Google to treat the stronger page as the canonical version for the query, but keeps the weaker page accessible to users. Best for cases where the weaker page has some standalone value (maybe it is linked from other parts of the site, or serves a specific user journey) but should not compete for the shared query. The Google Search Central documentation on canonical tags walks through the specific syntax.
Restructure and differentiate. Rewrite one of the pages to target a genuinely different query. This is the most work and the highest risk, because a rewrite often changes what the page ranks for entirely. Best used only when both pages have real independent value and the cannibalization is coming from lazy title tags or overlapping H1s, not from truly duplicated intent.
The mistake almost everyone makes
The most common mistake in fixing cannibalization is fixing the wrong page. The instinct is to keep the blog post, because blog posts are what the SEO team owns, and demote or redirect the service page, because the service page is owned by product marketing or sales.
This is almost always wrong. Service pages have higher commercial intent, tend to attract higher-quality backlinks (linking to a service page from a case study is a very different signal than linking to a blog post), and produce revenue directly. Redirecting a service page to a blog post to fix cannibalization is trading revenue for content ownership. It is a bad trade.
The correct decision is almost always to keep the service page, differentiate the blog post so it targets a genuinely informational query, and let the service page own the transactional version of the phrase. The blog post can still rank for related queries, just not the one the service page needs.
"The pattern we see most often at 137Foundry is a well-intentioned content team publishing blog posts that unintentionally compete with the client's own money pages. The fix is almost never about content quality. It is about deciding which URL should own the query and rewriting the rest of the site to reinforce that decision." - Dennis Traina, founder of 137Foundry
The consolidation process without breaking rankings
Consolidating cannibalized pages sounds simple. Redirect one to the other, watch the surviving page absorb the rankings. In practice, done badly, the surviving page loses rankings for a month or two before recovering, and sometimes never fully recovers. The reason is usually that the consolidation broke the internal linking or removed valuable content that was doing signal work.
A safer four-step process:
- Copy the useful content from the weaker page into the stronger page, integrating it rather than appending it. Any expansion that just concatenates old content usually reads badly and does not help rankings.
- Update the internal links on the site to point to the surviving URL. This is the step people skip. Every internal link that still points to the redirected URL is a wasted signal.
- Only after both of the above are done, add the 301 redirect. Redirecting first and then updating internal links leaves a period where every internal navigation is bouncing through a redirect, which slows crawl and can look strange to Google.
- Submit the surviving URL to Search Console for re-indexing. Do not resubmit the redirected URL; Google will discover the redirect on its next crawl.
For a full walkthrough of the technical steps involved in the consolidation, including handling edge cases like redirect chains, the Ahrefs guide to keyword cannibalization is worth reading alongside this piece. The Moz Blog also has ongoing coverage of consolidation strategies as Google's specific handling evolves.

Photo by Roxanne Minnish on Pexels
When to leave it alone
Not every cannibalization is worth fixing. Two thresholds for leaving it in place:
If both pages are ranking on page one already (positions 1-10) and both are receiving healthy traffic, the "cannibalization" might just be that Google has decided both pages have distinct value. Watch for six weeks. If the pattern is stable, do not fix what is not broken.
If the query is such low volume that it does not matter (fewer than 20 monthly impressions total across both pages), the effort of consolidation is not worth the rankings you might gain. Focus the effort on the queries that actually move revenue.
For everything else, the general rule holds: one page per query, and the query decides which page.
The long-term prevention
The reason cannibalization happens in the first place is almost always process. New content gets written without checking whether existing content already targets the same query. Fixing individual cases is triage. Preventing future ones requires a workflow change.
The specific workflow change that works is a pre-publish query check. Before publishing any new page (blog post, service page, product page), the writer or content strategist runs the target query through Search Console and sees which URLs on the site already receive impressions for it. If any URL on the site already ranks in the top 30, the new page needs a different angle, a different query, or a clearer differentiation from the existing page.
This one habit prevents most cannibalization from ever happening. The alternative is running the cannibalization audit every quarter forever, which is more expensive over time and still produces some percentage of revenue drag between audits. The 137Foundry technical SEO team has documented this workflow in detail, along with the specific Search Console reports that make the pre-publish check practical without adding hours to every content decision.
What actually gets your rankings back
None of this matters if the underlying content is weaker than what your competitors are shipping. Cannibalization fixes are cleanup. They recover rankings you should have had. They do not create rankings you never earned.
The pages that survive consolidation and grow from there are the ones that combine clear query ownership with genuinely better content than the alternatives on page one. If you are consolidating two mediocre pages into one mediocre page, you might see a modest bump from the consolidated signal. If you are consolidating two mediocre pages into one substantially improved page, you might see a much larger bump because you have simultaneously fixed the cannibalization and moved up the quality ladder relative to competitors.
Fix the architecture problem first. Then, if the results are still not where they should be, work on the content quality.
For services around auditing and fixing technical SEO issues at scale, including cannibalization audits on large content sites, see the work of the 137Foundry web development team, which pairs the SEO consolidation work with the actual code-side implementation of redirects, canonical tags, and internal link updates.