Find keyword cannibalization and CTR opportunities in your Search Console data

Free · Upload a file, paste a list, or connect Search Console

Find out which of your own pages are quietly competing.

Connect Search Console directly

Sign in and pick a verified property instead of exporting a file by hand — query and page data are pulled automatically, so cannibalization detection always works.

Connect Search Console
Or upload a file / paste a keyword list

Upload a Search Console performance export for cannibalization + CTR-opportunity analysis, or just paste a plain list of keywords below to group them by topic — no performance data required.

or
File: max 15 MB / 5,000 queries, CSV or XLSX. Query-only exports get semantic clustering and CTR-opportunity flags; add a "Page" column for cannibalization detection too. Pasted list: up to 2,000 keywords, grouped by topic only (no metrics).
Your recent uploads
#SourceTypeStatusQueriesOpportunitiesCannibalizedCreated
18 5 pasted keywords Keyword list done 5 2026-08-31 11:48:34
17 sc_test.csv GSC data done 3 1 1 2026-08-31 11:03:12
15 https___scentle.com_-Performance-on-Search-2026-08-31.xlsx GSC data done 1000 450 0 2026-08-31 10:35:43
14 https___scentle.com_-Performance-on-Search-2026-08-31.xlsx GSC data done 1000 285 0 2026-08-31 09:27:43
13 multi_tab_test.xlsx GSC data done 3 1 0 2026-08-31 09:26:36
12 https___scentle.com_-Performance-on-Search-2026-08-31.xlsx GSC data error 2026-08-31 09:23:22
11 test_gsc.xlsx GSC data done 3 1 1 2026-08-31 07:51:52
10 Queries (2).csv GSC data done 1000 140 0 2026-08-31 07:34:49
9 Queries.csv GSC data done 1000 70 0 2026-08-31 07:29:58
8 Queries.csv GSC data done 1000 61 0 2026-08-31 07:02:22

About this tool

Search engines don't reward keyword stuffing — but they do reward pages that clearly own one topic instead of splitting signal across several. This tool clusters your real Search Console queries by meaning, then flags two concrete problems: cannibalization (several pages competing for the same cluster) and CTR opportunities (queries with real impression volume but a click-through rate below what's typical for their position). No Search Console data yet? Paste any keyword list and it'll still group them by topic.

Cannibalization

Spot when 2+ of your own pages fight for the same topic cluster instead of one page ranking clearly.

CTR opportunities

Find queries with real impressions where your CTR lags the typical rate for that position — a title/meta rewrite candidate.

Semantic clustering

The same multilingual sentence-embedding approach as our LSI Keyword Research tool, applied to your own query data or any keyword list.

FAQ

How the upload, clustering, and flags work.

What is keyword clustering?+
Keyword clustering (also called keyword grouping) is the process of sorting a large list of search terms into groups that share the same underlying topic or intent — "buy running shoes" and "best sneakers to purchase" belong together even though they don't share a word. This tool applies that same clustering to your real Google Search Console queries, so the groups reflect what people actually searched to find your site, not a guess at related terms.
Is this a free keyword clustering tool?+
Yes — uploading a Search Console export (CSV or XLSX) and clustering it is free with no account needed. Connecting Search Console directly via Google sign-in is also free; you just grant read-only access to pull the data automatically instead of exporting it by hand.
How do I turn my Search Console queries into keyword groups?+
Export the "Queries" table from Search Console → Performance as CSV or XLSX and upload it here, or click "Connect Search Console" to pull the data directly via the Search Console API. Either way, every distinct query gets embedded and grouped by meaning, and the result page shows each keyword cluster with its combined clicks, impressions, and CTR.
What's the difference between keyword clustering and keyword grouping?+
In practice, none — "clustering" and "grouping" are used interchangeably in SEO to describe sorting keywords by shared meaning rather than shared words. Some tools use "clustering" for the semantic/embedding-based approach (what this tool does) and "grouping" for simpler rule-based methods (shared root word, manual tagging), but there's no strict industry line between the two terms.
Does this replace the Queries report in Google Search Console itself?+
No — think of it as a layer on top. Search Console's own Performance report gives you a flat table of queries; it doesn't group them by topic or tell you when two of your own pages are competing for the same cluster. This tool takes that same underlying data (via upload or the Search Console API) and adds the clustering, cannibalization, and CTR-opportunity analysis on top.
Why does cannibalization detection need a "page" column?+
The standard Search Console UI export gives you Queries and Pages as two separate tables, each aggregated on its own — neither tells you which page ranked for which query. To detect cannibalization we need query+page pairs, which requires either the Search Console API (searchAnalytics.query with dimensions ["query","page"]) or a connector (Looker Studio, Google Sheets add-on) configured the same way. If you upload a query-only file, you still get keyword clustering and the CTR-opportunity report — just not cannibalization flags. Using "Connect Search Console" always includes page data automatically.
How is a CTR "opportunity" decided?+
Each keyword cluster's actual click-through rate is compared against a commonly cited industry-average CTR curve for its average ranking position (roughly 28% at position 1 down to a few percent by position 10). If a cluster has meaningful impression volume but its real CTR sits well below that benchmark, it's flagged as an opportunity — usually worth a title or meta description rewrite. It's a rule of thumb, not a guarantee: some queries (informational, brand, SERP-feature-heavy) naturally sit below the curve.
How does the clustering algorithm actually work?+
The same multilingual sentence-transformer model used by our LSI Keyword Research tool embeds every distinct query, then groups them with a two-pass agglomerative clustering (a coarse pass by broad topic, then a tighter pass that splits loosely-related queries back apart) — so semantically similar queries end up together without lumping in ones that only look related on the surface. You can also manually split any cluster further from its result page if it's still mixing topics.
Can I connect Search Console directly instead of uploading a file?+
Yes — click "Connect Search Console" on this page, sign in with Google, and pick a verified property. We request read-only access via the official Search Console API (the webmasters.readonly scope) and pull query+page data for the date range you choose, so cannibalization detection works automatically without exporting anything by hand. You can disconnect at any time from the property picker.
Is my data kept private?+
Uploaded or fetched data is processed to build your report and kept so the result page stays reachable — it is not listed publicly anywhere on this site. Result pages are marked noindex. If you connect Search Console, we store only an access/refresh token for your session (never your Google password) and use it solely to read the performance data you request.
Can I cluster a plain keyword list without Search Console data?+
Yes — paste a list (one keyword per line, up to 2,000 keywords) into the box below the upload dropzone. It skips performance analysis entirely and just groups the keywords by topic using the same clustering engine, which is useful for organizing a list from a rank tracker, a paid keyword tool, or a brainstorm doc.
Can I export the keyword clusters?+
Yes — every finished report has both a CSV and an XLSX download. Reports built from Search Console data include the full per-query metrics (clicks, impressions, CTR, position) and flags on a separate sheet; a plain keyword-list report exports just the cluster and keyword columns.