Detect keyword cannibalization in Search Console
Detect cannibalization before fixing it. Export the Performance report by page and query, group queries where several URLs receive impressions, and confirm by watching which URL ranks over time. Distinguish true cannibalization from legitimate intent splits before acting.
Why this matters
Alternating ranking URLs are the clearest signal.
Before you start
- Search Console Performance access with page and query dimensions
How to apply it
Export page and query dimensions
In the Performance report, set the page dimension and query dimension, then export. Group by query and count distinct URLs with impressions.
Check: The export contains at least one query with three or more distinct ranking URLs.
Confirm with ranking history General best practice
For the top candidates, check the ranking URL across four weekly exports. Alternating URLs confirm cannibalization rather than an intent split.
Check: A query is marked as confirmed cannibalization when its top URL changes at least twice in four weeks.
Document winners and automate General best practice
Record the intended winner per query cluster and schedule the export monthly. Add new conflicts to the fix backlog.
Check: A monthly report exists with confirmed clusters and assigned winners.
This happens outside your codebase
Work through the steps above on the named site or dashboard, then record the result in your agent session. There is no repository edit for this tip.
Source: seo-mcp playbook · curated entry · report an error
Framework notes
nextjs-app
Keep a static `sitemap.ts` and route list to compare Search Console URLs against intended page ownership during the export review.
wordpress
Check that category and tag archives are not competing with posts; their URLs frequently appear alongside the post URL for the same query.