The Search Console Page Indexing Report: How to Read and Fix It

No Comments

TL;DR

The Page Indexing report in Google Search Console splits your URLs into two buckets: indexed (eligible to appear in Search) and not indexed (currently not). Most "not indexed" reasons fall into three groups: things Google does on purpose and you should leave alone (alternate pages, duplicates pointing to a canonical), things you chose (noindex, robots.txt blocks, redirects), and genuine problems you need to fix (server errors, 404s, soft 404s, and pages stuck in "Discovered" or "Crawled - currently not indexed"). Read the report by status, fix the problems, ignore the working-as-intended rows, then use the Validate Fix workflow to confirm.

The Page Indexing report (older accounts may still call it the Coverage report) is the single most useful screen in Google Search Console for understanding whether your pages can actually show up in Search. It does not measure rankings or traffic. It answers a more basic question: did Google index this URL, and if not, why? This guide explains what the report shows, decodes every common "Why pages aren't indexed" reason, tells you which ones are fine to ignore, and walks through the validation workflow that closes the loop.

If you have already landed on a specific status and just want the deep dive, we have dedicated guides for Discovered - currently not indexed, for Soft 404 errors, and for the complete robots.txt reference. This article is the overview that ties them together.

What the Page Indexing report actually shows

Open Search Console and select Indexing > Pages. At the top you get a chart with two lines: Indexed and Not indexed. Below that sits a table titled "Why pages aren't indexed," where each row is a status with a count and a trend.

Two things matter before you panic at a big "not indexed" number. First, a high not-indexed count is normal and often healthy. Faceted URLs, paginated archives, parameter variations, tag pages, and redirected old URLs all live here on purpose. Second, the report only covers URLs Google has discovered through your sitemaps, internal links, or external links. A page Google has never heard of will not appear at all.

Per Google's own guidance, the goal is to get the canonical version of every important page indexed. Duplicate and alternate pages are not supposed to be indexed, so finding them in the not-indexed bucket is usually a sign the system is working, not failing.

The "Why pages aren't indexed" reasons, decoded

Here is a reference table covering the statuses you will see most often, what each one means, and the action it calls for. Use it as a triage sheet, then read the detail below.

StatusWhat it meansAction
Crawled - currently not indexedGoogle fetched the page but chose not to index it, often a quality or value judgment.Investigate
Discovered - currently not indexedGoogle knows the URL exists but has not crawled it yet, often a crawl-budget or quality signal.Investigate
Duplicate without user-selected canonicalA duplicate with no canonical declared; Google picked a different page as canonical.Review
Alternate page with proper canonical tagThe page correctly points to an indexed canonical (mobile/desktop/AMP variants).No action
Excluded by noindex tagGoogle found a noindex directive and obeyed it.Verify intent
Blocked by robots.txtA robots.txt rule stopped Googlebot from crawling the URL.Verify intent
Soft 404The page returns 200 but looks like an error or empty page to Google.Fix
Not found (404)The URL returns a 404; Google cannot index a missing page.Triage
Page with redirectThe URL redirects elsewhere, so it is not indexed at this address.Usually fine
Server error (5xx)The server returned a 5xx, so Google could not retrieve the page.Fix urgently

Crawled - currently not indexed

Google fetched the page and decided, for now, not to add it to the index. There is no specific error to fix. This is usually a value signal: the page is thin, near-duplicate, or not differentiated enough to earn a slot. Strengthen the content, improve internal linking to the page, and make sure it is not a near-copy of another URL. Then request indexing through the URL Inspection tool. Do not mass-resubmit; it does not force Google's hand.

Discovered - currently not indexed

Google knows the URL exists, typically from a sitemap or a link, but has not crawled it yet. On large or new sites this often points to crawl-budget pressure or a perceived quality ceiling. Tighten internal linking, prune low-value URLs that compete for crawl attention, and confirm your server responds quickly. Our dedicated guide covers the full diagnosis and fix path.

Duplicate without user-selected canonical

This page is a duplicate of another and does not declare a canonical, so Google picked a different page as the canonical and will not serve this one. Inspect the URL to see which page Google chose. If that choice is correct, leave it. If Google picked the wrong canonical, add an explicit canonical link and strengthen the signals (consistent internal links, sitemap entry) that point to your preferred URL.

Alternate page with proper canonical tag

This page is a recognized variant, such as a mobile or AMP version, that correctly points to an indexed canonical. Google's documentation is explicit: there is nothing you need to do. Leave these rows alone.

Excluded by noindex tag

Google found a noindex directive and honored it. The only question is whether you meant to noindex the page. For admin pages, thank-you pages, and internal search results, this is correct. If an important page is here by accident, remove the noindex directive (a meta robots tag or X-Robots-Tag header) and request indexing.

Blocked by robots.txt

A robots.txt rule stopped Googlebot from crawling the URL. Note that robots.txt blocks crawling, not indexing, so a blocked URL can still appear in Search without a description if it is linked elsewhere. If the block is intentional, fine. If not, edit robots.txt. And if your real goal is to keep a page out of the index, use noindex (which requires the page to be crawlable) rather than a robots.txt block. See the complete robots.txt reference linked above for precedence and wildcard rules.

Soft 404

The page returns an HTTP 200 success code, but its content looks like an error or empty page to Google ("not found," an empty category, a thin placeholder). Either return a proper 404 or 410 status for genuinely missing content, or add real content if the page should exist. The soft 404 guide above breaks down every trigger and fix.

Not found (404)

The URL returns a 404. Google only indexes pages that serve a 200 status, so a missing page cannot be indexed. Triage these: if the page is gone for good and has no replacement, a 404 is the correct, expected response and you can leave it. If it was a real page that moved, 301-redirect the old URL to the new one. If it is 404ing by mistake, restore the page.

Page with redirect

The URL redirects somewhere else, so the destination is what gets indexed, not this address. This is almost always intentional and fine. Just confirm the redirects are clean single hops to the right targets, not chains or loops, and that you are not redirecting URLs you actually want indexed.

Server error (5xx)

The server returned a 5xx error when Google tried to fetch the page, so the page could not be retrieved or indexed. This is the most urgent category. Check server logs, hosting capacity, timeouts, and any rate limiting that might block Googlebot. Persistent 5xx errors can eventually push pages out of the index entirely, so treat these first.

How to prioritize

Do not try to drive "not indexed" to zero. Work in this order:

  1. Fix urgently: Server errors (5xx) and Soft 404s. These signal broken infrastructure or broken content and can drag down crawling of healthy pages.
  2. Investigate next: Crawled - currently not indexed and Discovered - currently not indexed, but only for URLs you genuinely want indexed. These are quality and crawl-budget signals.
  3. Review: Duplicate without user-selected canonical and Excluded by noindex, where the only risk is that an important page got caught by accident.
  4. Usually leave alone: Alternate page with proper canonical, Page with redirect, and intentional robots.txt blocks.

A fast filter: for each problem URL, ask "do I want this exact URL in Google?" If no, ignore the row. If yes, fix the underlying cause. That one question removes most of the noise.

The validation and fix workflow

Once you have fixed a cause, close the loop properly so you know it worked:

  1. Confirm the fix at the URL level. Run the URL Inspection tool on a sample affected page. Use "Test Live URL" to see the current state, not the cached report state.
  2. Click Validate Fix. Open the specific status in the Page Indexing report and press the Validate Fix button. Google will recrawl a sample of the affected URLs over the following days.
  3. Wait for the verdict. Validation runs through Started, then Passed or Failed. It can take several days to a couple of weeks. Do not start a new validation while one is running.
  4. Request indexing for priority pages. For a handful of important URLs, use "Request Indexing" in URL Inspection to nudge a recrawl. This does not scale to thousands of URLs and will not override quality judgments.
  5. Re-check after the report refreshes. The report data lags by a few days, so give it time before concluding a fix did not work.

Treat the Page Indexing report and the Crawl Stats report together. Each holds different details about the same URLs, and reading both gives you the full picture of how Google is reaching and judging your site.

Stuck on a stubborn indexing problem?

If pages you care about are stuck in "Crawled - currently not indexed," "Discovered," or recurring soft 404s, the root cause is often structural. An advanced SEO audit pinpoints exactly why Google is holding back and what to change first.

Get an Advanced SEO Audit

Frequently asked questions

Is a high "not indexed" number bad?

Not by itself. Redirects, alternate pages, intentional noindex pages, and parameter URLs all count as not indexed on purpose. What matters is whether important pages are missing from the indexed bucket.

What is the difference between "Discovered" and "Crawled - currently not indexed"?

"Discovered" means Google knows the URL but has not fetched it yet. "Crawled - currently not indexed" means Google fetched it and decided not to index it. Discovered leans toward crawl-budget issues; Crawled leans toward content-value issues.

Should I use noindex or robots.txt to keep a page out of Google?

Use noindex. A robots.txt block prevents crawling, but a blocked URL can still appear in Search if it is linked elsewhere. For noindex to work, the page must be crawlable, so do not block it in robots.txt at the same time.

How long does Validate Fix take?

Usually several days to about two weeks, depending on how many URLs are affected. The status moves from Started to Passed or Failed. Avoid starting a new validation while one is in progress.

Does requesting indexing guarantee my page gets indexed?

No. Requesting indexing asks Google to recrawl the URL sooner, but Google still applies its quality and canonical judgments. If a page is thin or duplicate, resubmitting it will not force it into the index.

Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.

    About SEO ProCheck

    Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.

    Work With Me

    Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.

    Subscribe to our newsletter!

    More from our blog