
Short answer: Keyword cannibalisation happens when two or more pages on your site target the same keyword and the same search intent, so they compete with each other and Google keeps switching between them. The usual fix is to choose one page to rank, then merge and 301 redirect the weaker page into it, rework it to target a different intent, or point it to the main page with a canonical tag. Two pages ranking for different intents is not cannibalisation.
This guide is for site owners, bloggers and in-house marketers who suspect their own pages are getting in each other’s way. You will learn how to tell real cannibalisation from harmless overlap, find it in Google Search Console in a few minutes, pick the right fix for each case, and stop it happening again.
What is keyword cannibalisation?
Keyword cannibalisation is when several URLs on one site are trying to rank for the same query with the same purpose. Google normally wants to show the single best page from your site for that search. If two of your pages look equally suitable, its systems may rank one, then the other, then neither particularly well. You end up with rankings that flip between URLs, links and internal links split across two pages, and no page strong enough to reach the top.
A simple example: a clothing shop has a category page for “men’s running shoes” and a blog post called “Best men’s running shoes”. If both are written to sell shoes to the same buyer, they compete. If the category page sells and the blog post compares models for people still researching, they serve different intents and can both rank.
Keyword cannibalisation vs content cannibalisation
- Keyword cannibalisation: pages share the same target keyword in titles, headings and copy.
- Content cannibalisation: pages cover largely the same topic and answer the same questions, even when the exact keywords differ. This is often the bigger problem on blogs that have published for years.
When it is not a problem
Not every pair of URLs sharing a query is a problem. These cases are usually fine:
- Your pages hold positions 1 and 2, or 1 and 3. You own more of the results page; leave it alone.
- One page ranks well and another gets a handful of impressions deep in the results. That is noise.
- The query is broad or ambiguous (for example “SEO”), so Google tests different page types.
- Branded searches, where your home page and an about or contact page both appear.
The deciding test is always search intent: if the two pages would satisfy the same searcher in the same way, one of them is redundant.
Why keyword cannibalisation hurts rankings
- Split signals. Backlinks, internal links and engagement are spread across two URLs instead of strengthening one.
- Ranking instability. Google swaps which URL it shows, so neither builds a steady position.
- The wrong page ranks. A blog post outranks your service page and visitors land somewhere with no clear way to enquire or buy.
- Fewer clicks. Two pages in positions 8 and 14 earn far fewer clicks than one page in position 2. Backlinko’s data shows how steep that curve is.
- Wasted effort. Time spent updating two similar pages could build one better page.
It is not a penalty. Google does not punish sites for having similar pages. The cost is lost potential: you are competing against yourself instead of against other sites.
Rather have an expert do this for you?
Hand it over and get back to running your business.
How to find keyword cannibalisation
1. Google Search Console (start here)
- Open the Performance report and set the date range to the last 3 months.
- Click a query you care about, then switch to the Pages tab.
- If two or more URLs have meaningful impressions for that query, note them with their average positions.
- Switch the chart to a daily view. A line that keeps flipping between URLs is the classic sign.
For a whole-site check, export query and page data through the Search Console API or Looker Studio and sort by queries with more than one URL. That is the method I use on audits, because it shows real Google behaviour rather than a tool’s estimate.
2. A site: search
Search site:yourdomain.com "target keyword". It is rough, but it quickly shows how many pages mention the phrase in titles and copy.
3. SEO tools
Semrush’s Position Tracking has a Cannibalization report that flags keywords where several of your pages rank in Google’s top 100 and gives a health score (100% means no keyword has competing pages), and Ahrefs lets you filter organic keywords to those with multiple ranking URLs. They are useful for spotting candidates, but always confirm in Search Console.
4. A keyword map
Crawl the site, list every indexable URL with its title, H1 and main keyword, then sort by keyword. Duplicates jump out. This is also the start of a keyword map, which is how you prevent the problem later. My guide to running a cannibalisation audit covers the spreadsheet in more detail.
Which overlaps are worth fixing?
I use a simple rule of thumb in Search Console (my own working threshold, not a Google rule): treat a query as a real conflict when the second URL earns at least a fifth of the impressions of the first, and neither URL is in the top 3. Use the calculator to check a pair.
Impression split checker
How to read it: use 3 months of Search Console data for one query. If either page is already in positions 1 to 3, two listings may be helping you, so check clicks before changing anything.
How to fix keyword cannibalisation
First, pick the page that should rank. I look at which one best matches the intent, has the most backlinks, earns the most clicks and conversions, and sits better in the site structure (a service or category page usually beats a blog post for a commercial query). Then choose a fix.
| Situation | Best fix | What happens to the weaker page |
|---|---|---|
| Two pages say mostly the same thing | Merge the useful parts into the main page, then 301 redirect | Removed; its URL redirects and its links pass to the main page |
| Both pages are useful but for different intents | Re-target: change title, H1 and copy of the weaker page to a distinct angle | Stays live, now targeting a different query |
| Near-duplicates that must stay live (print versions, product variants, tracking URLs) | rel=”canonical” pointing to the main page | Stays accessible to users; Google consolidates signals to the main URL |
| A thin page with no links, traffic or purpose | Delete and redirect, or return 410 if there is no relevant target | Removed |
| Your internal links point at the wrong page | Update internal links and anchors to favour the main page | Stays live, supporting the main page |
Merge and redirect
This is the fix I use most. Combine the best sections into the stronger URL, update its date and content, then 301 redirect the old URL. Google’s documentation describes redirects as a strong signal that the target should become canonical (Google Search Central). Update any internal links so they point straight to the new URL instead of through the redirect. You can confirm each redirect with my free redirect checker.
Re-target the weaker page
If the second page has its own value, give it a different job. “SEO services Karachi” (commercial) and “how much does SEO cost in Pakistan” (informational) can live side by side once each is written clearly for its own searcher.
Canonical tags
A canonical tag suits near-identical pages that need to stay live. It is not a fix for two different articles on the same topic; Google can ignore a canonical when the pages are clearly different.
Why I avoid noindex as the main fix
Many guides suggest noindexing the weaker page. Google specifically says it does not recommend noindex to steer canonical selection within a site, because noindex removes the page from Search entirely. Use it only for pages that should never appear in results, such as thank-you pages or internal search results.
Fix internal links
Internal links tell Google which page you consider most important. Point menu links, related-post links and in-content links for the target phrase to the main page, and use descriptive anchors. My guide to internal linking explains how.
Which fix should you use?
Pick the right cannibalisation fix
Is one of the pages already ranking in the top 3 for the query, with the other well behind?
Would both pages satisfy the same searcher in the same way (same intent)?
Does the weaker page need to stay live for users (for example a product variant, print view or filtered URL)?
Is it a near-identical copy of the main page?
Result: probably leave it. One page is winning. Make sure internal links point to it and watch the trend monthly.
Result: re-target. The pages serve different intents. Sharpen each title, H1 and introduction so they no longer overlap, and link between them.
Result: use a canonical tag. Point the copy to the main URL with rel=”canonical” and keep internal links on the main URL.
Result: merge and 301 redirect. Move the useful content into the main page, redirect the old URL and update internal links.
A worked example from a typical audit
Worked example: three pages fighting for “local SEO checklist”
This is a pattern I see often, described generically. A blog has “Local SEO checklist” (2021), “Local SEO tips for small businesses” (2023) and “Google Business Profile checklist” (2024). In Search Console, the first two both earn impressions for “local SEO checklist” at positions in the teens, and Google keeps switching between them. The third ranks for profile-specific queries. The fix: merge the 2023 tips post into the 2021 checklist, refresh it, 301 redirect the tips URL, and leave the profile checklist alone because it serves a narrower intent. Then link to the profile checklist from the merged page. I would then compare the query’s clicks and position over the following 4 to 8 weeks.
How to prevent keyword cannibalisation
Before you publish a new page
- Check the keyword map: is this keyword or intent already assigned to a URL?
- Search your own site: run a site: search for the topic.
- Update instead of duplicating: if a page exists, improve it rather than writing a new one.
- Write a one-line purpose: “This page helps [who] do [what].” If it matches another page, stop.
- Plan by cluster: one pillar page per topic and supporting pages for distinct subtopics, as in topic clustering.
- Keep tag and category archives under control: on WordPress, thin tag pages often compete with real posts.
- Link to the owner page: use the target phrase as anchor text only when linking to the page that owns it.
- Review quarterly: check Search Console for queries with several ranking URLs.
Ticks are saved in your browser.
A regular content audit catches most overlaps before they grow. On e-commerce sites, also watch category pages against filtered URLs and similar subcategories; this overlaps with duplicate content issues.
A local angle: city and area pages
On Pakistani service sites I often find pages such as “SEO services Karachi”, “SEO company Karachi” and “best SEO agency in Karachi”, each with near-identical copy. To Google they are one intent. A single strong city page with real local detail almost always does better than three thin ones. The same applies to area pages (“plumber DHA”, “plumber Clifton”) when the only difference is the area name.
Frequently asked questions
Is keyword cannibalisation a Google penalty?
No. There is no penalty. The harm is that your pages split signals and compete, so neither reaches the position one strong page could.
How do I check for keyword cannibalisation for free?
Use the Performance report in Google Search Console. Click a query, open the Pages tab and see whether more than one URL gets meaningful impressions. A site: search on Google gives a quick second view.
Can two pages rank for the same keyword without cannibalisation?
Yes. If they serve different intents, or if both hold top positions, that is a good outcome. Cannibalisation is only a problem when the pages compete and hold each other back.
Should I delete pages that cannibalise each other?
Rarely delete outright. Merge the useful content into the stronger page and 301 redirect the old URL so you keep its links and visitors.
Does a canonical tag fix keyword cannibalisation?
Only for near-duplicate pages. For two different articles on the same topic, merging or re-targeting works better, because Google may ignore a canonical between clearly different pages.
How long does it take to see results after fixing it?
Google needs to recrawl the pages and process the redirects. Changes often show within a few weeks, but allow a couple of months before judging, and compare like-for-like periods.
Sources
- Google Search Central, “How to specify a canonical URL with rel=”canonical” and other methods” (last updated 2026).
- Backlinko, “We analyzed 4 million Google search results. Here’s what we learned about organic click-through rate” (2019, updated 2025).
- Semrush Knowledge Base, “Cannibalization report” in Position Tracking (2026).
- Engadget, “Google Search won’t show more than two top results from the same site” (2019).
If you would rather have someone map every query to one page and plan the merges and redirects for you, that is part of my SEO audit service. You can also ask me a question about a specific pair of pages.
Request received
Thank you! Saad will contact you within the next 24 hours.
Keep an eye on your phone and inbox.
