Keyword Cannibalization Tool
Multiple pages for one query are not automatically a problem. Separate weak signals and expected overlap from cases worth investigating.
How to find keyword cannibalization
- Connect Google Search Console and select the site and period.
- Run the analysis — this keyword cannibalization tool finds queries where several of your URLs alternate in the results.
- Look at how often the leading URL changes: daily swaps are the strongest cannibalization signal.
- Pick the target page by clicks, position and how well it matches the query intent.
- Fix the overlap: merge the pages, add a 301, or separate the topics and the internal links.
Practical example: two pages competing for one query
Suppose /guide/seo-audit and /tools/site-audit alternate for “seo audit”. If both serve the same informational intent, consolidate their signals. If the guide teaches while the tool performs the audit, separate their titles, H1s and internal-link anchors.
Validate the intent with the Search Intent Analyzer, inspect weak anchors with the Internal Link Context tool and verify the outcome in Wins & Losses.
What keyword cannibalization is and why it hurts
Cannibalization happens when several pages compete for the same query with the same intent. URL cannibalization means the search engine has to choose between them, and it may show a different URL each time.
The damage is not obvious at first: instead of one strong page in the top three you get two mediocre ones around positions five to ten. Signals, links and engagement are split between URLs.
Not every overlap is a problem. When pages serve different intents — a guide and a purchase page, say — competing for one query is normal and is fixed by sharpening the titles.
How the checker decides what counts as cannibalization
The tool reads query × page rows from your own Search Console and does not flag every query that happens to show two URLs. Each case passes four filters.
- A URL counts for a query only with at least 30 impressions and at least 10% of the leading URL’s impressions. Tracking parameters (utm, gclid, fbclid) are stripped first.
- Expected overlap is filtered out: language versions, regional pages, pagination, a category and its product, and pages with different intent.
- For the 20 most likely cases the check goes day by day: which URL led each day. Cannibalization is confirmed when the leader changed at least three times, switched back, and at least two URLs led on two or more days. If one URL leads on 85% of days, it is a stable leader, not a conflict.
- When the leader sits in the top 10 with 300+ impressions, the tool estimates how many clicks it misses against the expected CTR for that position, and assumes half of that is recoverable.
Every case gets one action: merge the articles, redirect a parameter duplicate, separate the intents, check hreflang, monitor, or collect more data. Two URLs in a report are not a verdict on their own.
Checker or manual check
The manual way is to filter one query in the Search Console Performance report and open the Pages tab. That works for a query or two, but it does not show how the leader changes day by day, and it cannot tell a language version from a real duplicate. A site: search shows what is indexed, not what gets impressions.
The checker goes through every query on the site for the period at once and returns only the ones where there is a reason to act.
Frequently Asked Questions
How do I fix keyword cannibalization?
How do I know it is really cannibalization?
Do I always need a 301?
How long does recovery take after a fix?
Is this keyword cannibalization checker free?
What data does the check need?
Next step