Google Search Console Query Cannibalization Radar
Identify keyword cannibalization and SERP position flapping from your Google Search Console exports in 5 seconds.
Problem it addresses
Develop a pure Python CLI script (cannibalization_radar.py) that analyzes GSC performance exports (Query + Page + Clicks + Impressions + Position). It calculates the URL conflict score for each query, identifies SERP flapping pairs, outputs an interactive HTML report with severity color-coding, and provides a clear Markdown resolution playbook.
Who it is for
PRO operating in high-growth e-commerce, digital publishing, and direct-response marketing across Saudi Arabia, UAE, and Egypt.
What is inside
Key files listed in the README repository architecture:
examples/gsc_sample_export.csvexamples/report_preview.htmlLICENSEplaybook/resolution-strategies.mdREADME.mdsrc/cannibalization_radar.pytests/test_radar.py
How to evaluate and use it
- Read the README first and confirm that the documented problem matches your use case.
- Inspect the listed files to find the data, tools, templates, and tests relevant to your task.
- Follow the repository’s Quick Start and check prerequisites before running commands.
- Compare outputs with documented examples and review limitations before using them in a decision or client workflow.
Quick Start from the README: python -m unittest discover -s tests · python src/cannibalization_radar.py --help
Scope and limitations
- Data Thresholding & API Limits: Google Search Console Search Analytics API limits exports to 25,000 rows per query request; pagination required for enterprise sites.
- Intent Differentiation: Two URLs ranking for the same keyword is only true cannibalization if neither URL converts or achieves top 3 ranking.
- Timeframe Smoothing: Audits require at least a 28-day window to distinguish temporary algorithmic A/B testing from chronic page conflict.
This page summarizes the available documentation; it does not establish performance or business results. Verify data and prerequisites before use.