- Keyword cannibalization is when two or more pages on your site each take a real share of one query's impressions, so neither ranks as well as one strong page would.
- Two URLs for one query is not automatically a problem: brand searches, one page that already dominates, and pages that serve different intents are usually fine.
- Find it in Search Console: click a query in the Performance report, open the Pages tab, and look for two URLs with meaningful impressions, or a ranking URL that keeps swapping.
- The usual fixes are merge and 301 redirect, rel=canonical, re-target the weaker page, or point internal links at the main page. Google calls redirects and canonicals strong signals.
- Pick one page per search first; the technical fix follows from that decision.
What is keyword cannibalization?
Keyword cannibalization is when two or more pages on the same website compete for the same search query, so Google keeps choosing between them and neither ranks as well as one clear page would. You see it as impressions for one query split across several of your URLs, or as the ranking URL changing from week to week while the position stays stuck.
It usually happens by accident. A blog post and a service page both target “roof repair cost”. A 2023 guide and a 2025 update both stay live. A category page and a product page share a title. Each page alone might be fine; together they send mixed signals about which one you want to rank.
The cost is mostly indirect. Links, internal links and engagement are spread across two pages instead of concentrated on one. Google has to pick, and it may pick the weaker page. And you spend effort improving one page while Google shows the other.
When keyword cannibalization is not a problem
Two of your pages appearing for one query is only cannibalization when both get a real share of the impressions and neither is clearly the right answer. Plenty of overlap is harmless, and “fixing” it can do damage. Leave these alone:
- Brand queries. When people search your name, two or three of your pages on the results page is more space for you, not competition.
- One page already dominates. If one URL holds nearly all the impressions and another appears now and then, there is nothing to consolidate.
- Different intents. A “what is X” guide and an “X pricing” page can both show for a broad query. If each wins its own specific searches, they are complementary.
- Long-tail overlap. Any two related pages share some rare queries. Judge by the queries that matter to you, not by how many overlap.
- Fragment rows. Search Console can report
/page/#sectionseparately from/page/. Those are one page. - Search operators. Queries like
site:example.commatch every page by design.
How to find keyword cannibalization in Search Console
To find keyword cannibalization, open a query in Search Console's Performance report and switch to the Pages tab: every URL listed there appeared for that query, with its own impressions, clicks and position. Two URLs with meaningful impressions inside the top 20 positions is the signal to look closer.
-
Pick the queries that matter
In Performance → Search results, set the last 3 months, sort the Queries table by impressions, and work down your important non-brand queries. Cannibalization on a query nobody searches is not worth fixing.
-
Open the query, then the Pages tab
Click the query to filter the report to it, then open the Pages tab. Note each URL's impressions and position. Google's Performance report help explains why the numbers look odd: the Queries table is aggregated by property, the Pages table by page. Two of your pages in one result count as one impression on the Queries tab and two on the Pages tab.
-
Work out each page's share
Divide each URL's impressions by the total. One page with 90% and another with 10% is not a problem. Two pages at 60/40 or 50/50, both on page one or two, are competing.
-
Check whether the ranking URL swaps
Compare the Pages tab across two or three consecutive months, or add the date dimension through the Search Analytics API. A query where one month's top URL is the guide and the next month's is the service page is the clearest sign Google cannot decide.
-
Confirm the page you want is healthy
Before changing anything, run the page you plan to keep through URL Inspection. It should be indexed, and Google's selected canonical should be the page itself.
For a whole-site sweep, the Search Console API can return the query and page dimensions together, so you get every query-page pair in one export and can sort for queries with more than one URL. Our keyword audit guide walks through that export step by step.
How to fix keyword cannibalization: a decision table
Fixing keyword cannibalization starts with choosing one main page for the query; the technical fix then depends on whether the other page needs to stay live and whether it serves a different intent. Choose the page with the stronger links, better content and the URL you want long term, not just the one ranking today.
Keyword cannibalization fixes
| Situation | Fix | What it does |
|---|---|---|
| Two pages say the same thing; the weaker one has no reason to exist on its own | Merge + 301 | Move anything useful into the main page, then permanently redirect the old URL to it. Links and visitors follow. |
| Both pages must stay live (near-identical variants, print versions, tracking URLs) | Canonical | Add rel="canonical" on the duplicate pointing at the main page. Visitors can still reach both. |
| The pages serve different intents but the weaker one drifted onto the main query | Re-target | Rewrite the weaker page's title, H1 and intro for its own query, and remove the main query from its headings. |
| The right page exists but Google keeps showing the other one | Internal links | Link to the main page from the competing page and from related pages, with descriptive anchor text naming the query. |
| Brand query, one dominant page, or different intents that each win | Leave alone | Nothing to fix. Re-check next quarter. |
Find competing pages without the spreadsheetMrKeyword reads your Search Console data and lists queries where two of your pages genuinely split the impressions, with each page's share and position.
Start freeWhat Google says about redirects and canonicals
Google's documentation calls a redirect a strong signal that the target should become canonical, and rel="canonical" a strong signal that the named URL should become canonical; a sitemap entry is only a weak signal. Google's canonicalization guide adds three points that matter for cannibalization:
- Use redirects to retire duplicates, canonicals to keep them live. Google recommends a redirect when you are getting rid of a duplicate page, and
rel="canonical"when the duplicate URLs need to stay accessible. - Do not use noindex to choose a canonical. Google advises against it within one site, because noindex removes the page from Search entirely instead of passing its signals to the main page.
- Do not use robots.txt for it either. A URL blocked in robots.txt can still be indexed without its content, and Google cannot see a canonical on a page it is not allowed to crawl.
On redirect type, Google's redirects guide says permanent redirects (301 or 308) make Google show the target in results and act as a canonical signal, while temporary ones (302, 303, 307) keep the old URL in results. It recommends server-side redirects whenever possible and treats JavaScript redirects as a last resort. Use a permanent redirect only when you are sure it will not be reverted. You can confirm a redirect returns a single 301 hop with our redirect checker.
For internal links, Google's link best practices say Google uses links both to find pages and to understand how relevant they are, and that anchor text should be descriptive and natural, without cramming in keywords. That is why pointing your related pages at the main page, with the query as anchor text, helps Google settle on it.
What to do after the fix
After a merge, redirect or re-target, update your internal links and sitemap, then give Search Console a few weeks before judging the result.
- Update internal links to point at the main page directly, not at the redirected URL. A link through a redirect still works, but it is an extra hop for crawlers and visitors.
- Remove the redirected URL from your XML sitemap. List only the final, canonical URLs.
- Request indexing for the main page in URL Inspection if you changed it substantially.
- Record the date. Compare the query's Pages tab four to eight weeks later: the goal is one URL holding most of the impressions, at a better average position.
To stop it happening again, keep one sheet that assigns one page to each important query before you write anything new. Our guide to a master keyword list shows how.
How MrKeyword's keyword cannibalization checker works
MrKeyword checks your connected Search Console data for queries where two or more of your pages genuinely compete, and filters out the false alarms described above. A query counts as cannibalization only when at least two pages each have 5 or more impressions and 10% or more of the query's impressions at an average position of 20 or better. It skips search operators like site:, brand queries (matched against your domain name), and overlaps where one page already holds 80% or more of the impressions. #section rows are folded into their page.
The same detector feeds several places in the app:
- This Week, the SEO opportunities inbox, lists “Your pages compete for …” items with the number of pages, the shared impressions and the best position, plus a suggested page to keep.
- Keyword Strategy groups queries into topics. When competing queries hold at least 20% of a topic's impressions, its suggested next step is to merge the competing pages into one main page.
- Content Ideas has a Keyword Cannibalization card showing each competing page's position, impressions and share, with a button to add a task.
- Rank Tracking can send a Cannibalization alert, in the app or by email, for queries where several URLs got impressions in the last 28 days. Each tracked keyword can also have a target page; when Google ranks a different URL, the keyword shows a Wrong page badge, which is often the first sign of cannibalization.
- The MCP server's daily issues list includes keyword cannibalization, so an AI assistant reading your account sees it too.
To add internal links toward the page you keep, the internal link suggestions find sentences on your other pages that already contain the target's own Search Console queries. See pricing for what each plan includes.
What MrKeyword does not do
- It does not merge pages, add redirects or edit canonicals for you. It shows which pages compete and suggests one to keep; you make the change on your site.
- It only sees what Search Console reports. Queries Google anonymizes for privacy are not in any keyword row, so cannibalization on very rare queries cannot be detected.
- It does not judge intent for you. Two pages flagged as competing may serve different needs; read both before merging.
- It does not check other people's sites. Cannibalization detection needs your own connected Search Console property; there is no public cannibalization checker for any domain.
- It does not scrape Google results. Positions are Search Console averages over a period, not a live rank at one moment.
A related problem on the other end of the scale is a page with no internal links at all. See how to find and fix orphan pages.
Questions and answers
Keyword cannibalization questions
What is keyword cannibalization in SEO?
Keyword cannibalization is when two or more pages on one website compete for the same search query. Google splits impressions between them, and often neither ranks as well as a single strong page would.
Is keyword cannibalization always bad?
No. Two of your pages appearing for a brand search, one page holding nearly all the impressions, or two pages that each win different intents are usually fine. It is a problem when two pages each take a real share of an important query and the ranking URL keeps changing.
How do I find keyword cannibalization in Google Search Console?
In Performance, click a query to filter the report to it, then open the Pages tab. If two or more of your URLs each have a meaningful share of the impressions within the top 20 positions, or the top URL changes from month to month, those pages compete.
Should I use a 301 redirect or a canonical tag to fix cannibalization?
Use a permanent 301 redirect when the weaker page has no reason to stay live; merge its useful content first. Use rel=canonical when both URLs must stay accessible. Google's documentation calls both strong canonical signals and advises against using noindex or robots.txt for this.
Can internal links fix keyword cannibalization?
Often, when the right page already exists but Google shows another one. Link to the main page from the competing page and related pages with descriptive anchor text. Google uses links to understand which page is relevant for a topic.
Is there a free keyword cannibalization checker?
Search Console itself is free and shows every URL that appeared for a query. MrKeyword automates the check on your connected Search Console data and filters out brand queries, search operators and overlaps where one page already dominates.
Sources
- Performance report (Search results) — Search Console Help, on property versus page aggregation and average position
- How to specify a canonical URL with rel="canonical" and other methods — Google Search Central, on redirects and rel=canonical as strong signals, and not using noindex or robots.txt for canonicalization
- Redirects and Google Search — Google Search Central, on permanent versus temporary redirects and server-side redirects
- Link best practices for Google — Google Search Central, on how Google uses links and anchor text


