Search performance
The Search Console view: why it ends three days ago, what average position cannot tell you, and how the two opportunity lists decide what counts as a copy problem rather than a ranking one.
Everything on this page is your own Google Search Console data, read through a connected account. None of it is measured by us, and none of it is about how fast your pages load.
It is not page speed
The name misleads. There is no Lighthouse run and no Core Web Vitals measurement anywhere in the product. "Performance" here means how your pages perform in search results: how often they appear, how often someone clicks, and where they sit in the ranking.
The window ends three days ago
Whatever window is named above the cards, it stops at three days before today. That gap is Google's, not ours — Search Console's finalised numbers lag about that far behind, and asking for anything newer returns partial data that changes under you. So "the last four weeks" is always the four weeks ending three days back, never the four weeks ending this morning.
On top of that we sync once a day and process the queue every few minutes, so a freshly connected property fills in rather than appearing at once. Connecting one pulls 90 days of history to start from. The badge at the top of the page says two separate things on purpose: when the sync last ran, and which date the data itself runs to.
The four numbers
Impressions count the times a page appeared in results. Clicks count the times someone chose it. CTR is one divided by the other.
Average position is the one to be careful with. It averages across every query the site appeared for, weighted by impressions — so a site can rank first for its own name and twentieth for everything else and report a comfortable middle. No single page's ranking can be read out of it. The per-query and per-page tables further down are where an actual position lives.
Pages leaving clicks on the table
A page can rank well and still not be clicked, and that is a title-and-description problem rather than a ranking one. The CTR list finds those: pages whose actual CTR sits below what is normal for their position.
"Normal" is a fixed, deliberately conservative curve rather than your own site's history. Calibrating against your own data was tried and rejected — on a small site the per-position rates are noise, and a site large enough to calibrate reliably does not need the help.
Three thresholds keep the list honest. A page needs at least 100 impressions, because below that CTR says nothing. It must rank in the top 20, because past that its ranking, not its copy, is the binding constraint. And the estimate must be worth at least 5 clicks. The missed-click figure is an estimate on the low side, never a promise: ads, AI Overviews and other result features absorb clicks the curve cannot see.
Striking distance
The other list works the other way round — queries that rank nearly well enough. A query qualifies at position 8 to 20 with at least 50 impressions: close enough that content work can plausibly move it, and frequent enough that its average position means something.
Below position 8 the query is already on page one. Past 20, no amount of copy will fix it.
Index coverage is a sample
The indexing numbers come from URL Inspection, which Google caps hard. We inspect at most 200 URLs per property per day, so on a large site coverage is a rolling sample rather than a census — a URL missing from it has not been checked yet, which is not the same as not indexed.
A canonical mismatch means Google picked a different canonical than the one your page declares. That is Google disagreeing with you, and it is worth reading before changing anything.
It does not move your score
Search Console data feeds this page, the category breakdown and the movers list. It is not part of the site health score, which is built entirely from what our own crawl and audit found — see How scoring works. A week of good search traffic will not raise it, and a bad week will not lower it.