Problem Map
How Contexta scores every page against the click-through rate its ranking position should earn, and what each of the five views means.
Problem Map
The Problem Map answers one question: which page should I open first?
Most SEO tools grade the page you are already editing. The Problem Map instead scores your entire site from real Search Console data and sorts it by how many clicks each page is leaving on the table.
How lost clicks are calculated
A page at position 1 earns a very different click-through rate than a page at position 9. Judging every page against one flat CTR benchmark misreads both: a position-1 page at 5% CTR looks fine but is badly underperforming, while a position-9 page at 3% is doing well.
Contexta compares each page's actual CTR against the CTR expected for its actual position, using a curve based on aggregate published organic CTR studies:
| Position | Expected CTR |
|---|---|
| 1 | 28% |
| 2 | 15% |
| 3 | 11% |
| 4 | 8% |
| 5 | 6% |
| 6 | 5% |
| 7 | 4% |
| 8 | 3% |
| 9 | 3% |
| 10 | 2% |
| 11+ | 1% |
Positions in between are interpolated. The estimate is then:
lost clicks = (expected CTR − actual CTR) × impressions
Negative results are floored at zero — a page beating its expected CTR is not "losing" anything.
This is an estimate for prioritisation, not a promise. Its job is to rank your pages against each other, and it does that reliably. Treat the absolute number as directional.
The header metrics
Across the top of the Problem Map:
- Impressions and Clicks — totals from your import
- Site CTR — overall click-through rate
- Avg Position — average ranking position across all pages
- Lost/mo (est) — the sum of estimated lost clicks across every page
The five views
CTR Crisis
Pages with more than 20,000 impressions and under 0.5% CTR, sorted by impressions.
These are your highest-leverage fixes. Google shows the page constantly and almost nobody clicks — which is nearly always a title and meta description problem, not a content problem. Fixing the title is fast and the impression volume is already there.
Page 2
Pages ranking at position 11–20 with more than 1,000 impressions, sorted by impressions.
Page 2 gets almost no traffic. These pages have already proven they are relevant enough to rank — they need a content push to break into page 1, where clicks actually happen.
Ranking + Bad CTR
Pages at position 1–10, under 1% CTR, more than 1,000 impressions, sorted by lost clicks.
The frustrating category: you already rank on page 1 and still nobody clicks. Almost always a snippet problem — the title doesn't match what the searcher wanted, or a competitor's snippet reads better.
Quick Wins
Queries (not pages) at position 4–20 with more than 500 impressions, sorted by impressions.
These are keywords one small improvement away from the top 3, where the CTR curve steepens sharply. Adding a section that answers the query directly, or adding structured data, often moves them.
Cannibalisation
Groups of your own pages competing for the same searches, with a KEEP (winner) and MERGE + 301 recommendation per group.
Two detection methods:
- Exact — used when your Queries export includes the Page dimension. Contexta groups pages that literally rank for the same query. Ground truth, no guessing. A group forms when pages share two or more overlapping queries.
- Heuristic — the fallback when page mapping is absent. Compares URL slug keywords, language-agnostically.
The exact method is much better. Re-export your Queries report with Page added as a second dimension to enable it.
Working through the list
Each row has a Fix → link that opens that page in the AI Editor with its Search Console metrics already loaded.
A sensible order of attack:
- CTR Crisis — biggest volume, cheapest fix
- Ranking + Bad CTR — page 1 already, just needs a better snippet
- Quick Wins — small content additions, high upside
- Cannibalisation — structural, do it once and it stays fixed
- Page 2 — the most work per page, do these when the fast wins are done
Caching
The analysis is cached so large sites don't recompute on every page load. Re-importing your CSVs clears every Contexta cache automatically, so the map always reflects your latest export.