Find keyword cannibalization and CTR opportunities in your Search Console data
← Back to the toolSearch Console Query Clustering is a free tool built and operated by Semalt, an SEO company founded in 2013 and headquartered in Kyiv, Ukraine, with offices in the UK, Georgia, and Uruguay. Semalt runs AutoSEO and FullSEO campaigns, Search Console and SERP analytics, and AI-visibility tracking for 25,000+ active clients and 650,000+ registered users — the clustering engine behind this tool is the same one used in our LSI Keyword Research tool, which lives on the same site.
Every distinct query in your upload is embedded with a multilingual sentence-transformer model and grouped by meaning using a two-pass agglomerative clustering (a coarse pass by broad topic, then a tighter pass that splits loosely-related queries back apart) — the same approach as our LSI Keyword Research tool, just applied to your existing Search Console queries instead of Autocomplete suggestions. Any cluster can also be split further by hand from its result page.
Only computed when your upload has a Page column. Within a cluster, if 2 or more distinct URLs each carry meaningful impressions, the cluster is flagged — those pages are competing for the same topic instead of one page owning it.
A cluster's actual click-through rate is compared against a commonly cited industry-average CTR curve for its impression-weighted average position (~28% at position 1 down to a few percent by position 10). Meaningful impressions plus CTR well below that curve gets flagged. It's a rule of thumb, not a guarantee — some query types (informational, brand, SERP-feature-heavy) sit below the curve naturally.
The Search Console UI's own CSV/XLSX export gives you Queries and Pages
as two separate, independently aggregated tables — neither tells you
which page ranked for which query. "Connect Search Console" above pulls
combined query+page rows directly via the Search Console API, so
cannibalization detection always works there. If you'd rather export by
hand, pull the data via the API yourself
(searchanalytics.query with dimensions
["query","page"]) or a connector like Looker Studio or a
Google Sheets add-on configured the same way, then upload that export.
A plain Queries export still works for clustering and CTR-opportunity
detection — you just won't get cannibalization flags.
Uploaded files (or data fetched via a Search Console connection) are
processed to build your report and kept so the result page stays
reachable later. There is no public list of other people's uploads on
this site. Result pages are marked noindex. If you connect
Search Console, only an access/refresh token is stored for your session
— never your Google password — and it's used solely to read the
performance data you request; disconnect any time from the property
picker. Don't upload or connect data for a property you're not
authorized to analyze.
+1 855 979 6663 (US)
+44 800 060 8429 (UK)
Semalt LP
Suite 4023 Mitchell House, 5 Mitchell Street, Edinburgh, Scotland, EH6 7BD