Everyone with a website logs into Google Search Console at some point. Most of them look at the Performance report (queries, clicks, impressions) and nothing else.
The actually useful report is one click away. Page indexing — formerly "Coverage" — is the single best free diagnostic in SEO. It tells you which of your pages are indexed, which aren't, and why. The "why" part is what makes it irreplaceable.
Where to find it
In GSC, left sidebar, under "Indexing" → "Pages." The top of the report shows two big numbers: indexed pages and not indexed pages. The not-indexed number is where the diagnostics live.
The categories that matter
Click into "Not indexed" and you get a list of categories. Most posts about GSC stop here. The categories are where the work lives — knowing which to act on and which to ignore.
Submitted URL not found (404)
What it means: Your sitemap says this URL exists. Google checked. It doesn't.
Severity: High if you didn't intend the page to be gone. Medium if you deleted it on purpose — you've got sitemap rot.
Action: Either restore the page, or remove it from the sitemap. Sitemap rot is the slow leak version of this — pages get deleted but never removed from the feed.
Submitted URL marked 'noindex'
What it means: Your sitemap submitted the page, but the page has a noindex tag.
Severity: High if unintentional. Almost always means a CMS misconfiguration — draft post got promoted to published, but the noindex template stuck.
Action: Either remove the noindex (if the page should be public) or remove it from the sitemap (if it shouldn't).
Duplicate, Google chose different canonical than user
What it means: Your page declares a canonical. Google ignored it and chose a different page as the canonical version.
Severity: Critical. This is the smoking gun for canonical drift. Google has decided your canonical signal isn't trustworthy.
Action: Check the inspection report for the offending URL. GSC shows both the declared canonical and Google's chosen canonical. If they're absurdly different (e.g., declared = localhost), you've got the localhost-class bug. War story here.
Alternate page with proper canonical tag
What it means: This page points its canonical at a different URL, and Google respected it.
Severity: Usually fine — that's what canonicals are supposed to do. But if you didn't expect it to be a canonical alternate (e.g., it should be its own indexed page), you have a misconfigured canonical.
Action: Spot-check 5 random URLs. If they're all expected alternates (e.g., pagination, locale variants), ignore. If any are pages you wanted indexed independently, fix the canonical.
Discovered — currently not indexed
What it means: Google knows the URL exists. It has not crawled it yet, or has crawled it and decided not to index it.
Severity: Medium. For new pages, this is normal for the first 1–4 weeks. For pages that have been in this state for months, it usually means Google judges the page low-value or has crawl-budget constraints.
Action: If the page is new, wait. If it's been here for over a month, check page quality (thin content, duplicate-ish, no internal links pointing in). Internal linking from indexed pages helps significantly.
Crawled — currently not indexed
What it means: Google crawled the page and chose not to index it.
Severity: Medium to high — Google has actively read and rejected the page.
Action: Page quality, page quality, page quality. Common reasons: too short, too thin, duplicate of another page, low-value affiliate-style content. This is the bucket where AI-written low-quality content lives in the post-December-2025 Core Update era.
Soft 404
What it means: The page returns a 200 status, but Google thinks it's effectively a 404 (empty, error-like, or content-thin).
Severity: High if the page is supposed to have content. Often signals a templating bug — your dynamic page is rendering an empty state because the data didn't load.
Action: Inspect the URL. If the page is genuinely empty, fix it or return a real 404. If it has content, check what Google sees — common cause is JavaScript-rendered content that Googlebot can't execute.
Page with redirect
What it means: The URL redirects somewhere else. Google indexes the redirect target, not the redirect source.
Severity: Low — that's how redirects work. But check for redirect chains (A → B → C). Chains are an indexing tax.
Action: Audit redirect chains. Each one should be A → final-destination, never with intermediate stops.
Blocked by robots.txt
What it means: Your robots.txt is blocking Google from accessing this URL.
Severity: Critical if unintentional. Common cause: someone added a wildcard rule that's broader than intended.
Action: Check robots.txt. If the rule should be there, remove the URL from your sitemap. If not, update the rule.
Blocked due to other 4xx issue
What it means: Google got a 401, 403, or other 4xx response.
Severity: High. Usually a misconfigured auth wall — the page is intentionally behind login but you're still submitting it in the sitemap.
Action: Remove from sitemap, or remove auth on the page if it's supposed to be public.
How to actually use the report
Monthly read, 20 minutes. Process:
- Open Page indexing. Note the indexed/not-indexed counts. Compare to last month.
- Click into "Not indexed." Sort categories by count, descending.
- For each category with more than 5 URLs, click in. Spot-check 3 URLs. Decide: real problem or expected behavior?
- Make a list of real problems. Fix them in batches.
- For low-stakes categories (e.g., "Page with redirect" if you've done a migration), accept and move on.
The discipline is in the spot-checking. The categories themselves are a triage signal, but each URL within a category needs the human "is this expected?" judgment.
What the report won't tell you
Three honest limits:
1. Why a page is judged low quality. "Crawled, currently not indexed" doesn't tell you what specifically about the page Google rejected. You have to compare to indexed pages on your own site and guess.
2. Real-time data. The report lags 2–7 days. If you just deployed a fix, you'll see results next week, not today.
3. The full crawl story. The report covers indexing decisions. It doesn't tell you crawl frequency, crawl budget, or which specific Googlebot variant visited.
The thing nobody tells you about GSC
The Page indexing report is the closest thing to a Google-side log file you'll ever get. Every other SEO tool is doing the same job worse — they're crawling your site themselves and inferring. GSC is showing you Google's own decisions.
The reason most SEOs skip it: it's not visually compelling. Bar charts and pie slices and progress bars are missing. It's lists and categories and counts. Boring.
Boring is fine. Boring is what catches indexing bugs.
FAQ
What's the difference between GSC Coverage and GSC Page Indexing?
Same report, renamed. Google rebranded "Coverage" to "Page indexing" in early 2023. The data and categories are the same.
How often should I check GSC Page Indexing?
Monthly minimum. Weekly if you publish frequently or deploy code changes that touch routing/canonical/sitemap logic.
What does "Discovered — currently not indexed" actually mean?
Google knows the URL exists (via sitemap or link) but hasn't crawled it, or has crawled and decided not to index. For new pages, normal for the first few weeks. For older pages stuck in this state, usually a page-quality or crawl-budget signal.
Should I worry about "Page with redirect" entries?
Mostly no. Redirected URLs not being indexed is expected. Worry if the count is huge (suggests redirect chains or sitemap rot).
Can I make Google reconsider pages in "Crawled, currently not indexed"?
Yes, by improving the pages. Add content, add internal links from indexed pages, update the dateModified signal, request reindexing via URL Inspection. Don't expect instant results — re-evaluation takes weeks.
What's the most actionable category in the report?
"Duplicate, Google chose different canonical than user." Every entry here is a canonical-signal failure. Every entry is a fixable bug.