The Page Indexing Report: Every Status Explained
The Page indexing report lists every URL Google knows about and the reason it did or did not index it. Most 'errors' in it are not errors — the skill is telling deliberate exclusions apart from accidental ones.
12 min read · Updated
On this page
Indexing is upstream of everything else in SEO. A page that is not in the index cannot rank, cannot earn an impression, and cannot be fixed by better content or a smarter title tag. So when traffic is missing and you do not know why, this is the report to open first — before Performance, before Core Web Vitals, before anything.
It is also the report people misread most often, because Google files perfectly healthy pages under headings that sound alarming. Here is the mental model that makes it tractable: every status is Google telling you a decision it made. Your job is only to work out whether that decision matches your intent. A page correctly excluded is a success. A page correctly indexed is a success. Everything else is a bug — sometimes Google's, usually yours.
The statuses that are usually fine
Alternate page with proper canonical tag
Google found this URL, saw that it declares a *different* URL as its canonical, and respected that instruction. It did not index this URL, and it was not supposed to.
This is correct behaviour for genuine duplicates — ?utm_source= variants, paginated views, a printer-friendly copy. If those are what is listed, close the tab and move on.
To check any page in seconds, view source and look for exactly one canonical tag pointing at itself:
curl -s https://example.com/some-page | grep -i canonical
# want: <link rel="canonical" href="https://example.com/some-page"/>
# bad: <link rel="canonical" href="https://example.com/"/>Page with redirect
The URL redirects somewhere else, so Google indexed the destination instead of this URL. Expected for any URL you have intentionally moved.
It becomes a problem when the redirecting URLs are ones you are still *advertising*. The most common self-inflicted version: your sitemap and canonical tags all point at https://example.com/, but your host redirects the apex to https://www.example.com/. Google dutifully follows your sitemap, hits a redirect on every single URL, and files the whole site under 'Page with redirect'. You are handing Google a list of URLs and then telling it none of them are real.
- Fix: pick one hostname — apex or
www— and make it canonical *everywhere*: sitemap, canonical tags, internal links, and your host's redirect direction. - Use 301 or 308 (permanent), never 302 or 307. A temporary redirect tells Google to keep the *original* URL indexed, which is the opposite of consolidating a domain.
- Never redirect into a redirect. Each hop dilutes signals and burns crawl budget; collapse chains to a single hop.
Excluded by 'noindex' tag
The page carries a noindex directive and Google honoured it. Correct for admin pages, thank-you pages, and internal search results. If a page you care about is here, find and remove the tag — check both the meta tag and the X-Robots-Tag HTTP header, since the header is invisible in view-source and is the one people forget.
curl -sI https://example.com/some-page | grep -i x-robots-tagThe statuses that mean Google is unimpressed
Discovered – currently not indexed
Google knows this URL exists — from your sitemap or a link — but has not crawled it yet. It queued the URL and then declined to spend the request.
This is a crawl-budget and site-quality signal, and it is Google being polite about a judgement call. Common causes:
- The site is new and has little authority. Patience genuinely is the fix; this can take weeks.
- Your server is slow. Google throttles crawling on sites that respond sluggishly, to avoid degrading them. Check Crawl Stats for rising response times.
- Too many low-value URLs. Faceted navigation and endless filter combinations flood the queue with near-duplicates, and the pages you care about wait behind them.
- Thin or templated content. If the URL pattern has historically produced pages Google did not index, it deprioritizes the rest of the pattern.
Crawled – currently not indexed
This one stings, because it is more pointed. Google fetched the page, read it, and chose not to index it. There is no technical error to fix — this is a quality verdict.
- Ask honestly whether the page adds anything the top results do not already say.
- Look for near-duplicate siblings — if ten pages say roughly the same thing, consolidate them into one strong page.
- Add internal links from pages that *are* indexed and do have authority. Orphaned pages are easy for Google to dismiss.
The statuses that are real errors
| Status | What it means | Fix |
|---|---|---|
| Server error (5xx) | Your server failed during crawl | Check logs for that timestamp; Googlebot bursts can expose capacity limits |
| Not found (404) | URL is gone but still linked or in the sitemap | Remove from sitemap, or 301 it to the closest live page |
| Soft 404 | Page returns 200 but looks empty to Google | Return a real 404 status, or add genuine content |
| Blocked by robots.txt | You told Google not to crawl it | Intentional? Fine. If not, fix the disallow rule |
| Redirect error | Redirect chain, loop, or an empty target | Collapse to a single hop that ends in a 200 |
| Duplicate, Google chose a different canonical | You declared a canonical; Google overruled you | Google thinks another page is the better version — strengthen the page or accept its choice |
A triage order that works
Sort by page count, descending
One reason usually dominates. Fixing the cause behind 400 URLs beats fixing 12 one-offs.
Separate deliberate from accidental
For each reason, ask: did I mean for these URLs to be excluded? Redirects and canonicals on true duplicates are wins. The same statuses on pages you wanted indexed are bugs.
Fix causes, not URLs
A canonical bug in a layout file is one edit that clears hundreds of rows. Requesting indexing on each URL individually treats symptoms and does not scale.
Validate the fix
Confirm with the URL Inspection tool on a live URL, then hit 'Validate Fix' in the report. Google re-crawls the affected set and reports back — typically over one to two weeks.
Do not sit and refresh
Validation is slow by design. The report lags reality by days; a fix deployed today may not clear until next week.
Catching problems before they compound
Indexing failures are quiet. A canonical tag pointing at the wrong URL does not throw an error or break a build — it just gradually removes your pages from Google, and you find out weeks later when traffic has already gone. A weekly glance at this report costs a minute and is the single highest-leverage habit in technical SEO. Checking it from your phone removes the last excuse not to.
Frequently asked questions
What does 'Discovered – currently not indexed' mean?
Google knows the URL exists but has not crawled it yet. It is usually a crawl-budget or site-quality signal: new sites, slow servers, or a flood of low-value URLs all cause Google to deprioritize crawling. Improving server response time, pruning thin pages, and adding internal links from established pages all help.
How do I fix 'Crawled – currently not indexed'?
There is no technical fix, because there is no technical fault — Google read the page and judged it not worth indexing. Resubmitting or requesting indexing will not change that verdict. Make the page genuinely more useful or distinct than the pages already ranking, consolidate it with near-duplicate siblings, and link to it from indexed pages that already have authority.
Is 'Alternate page with proper canonical tag' an error?
Usually not. It means Google found a page, saw it declared a different URL as canonical, and honoured that. That is correct for real duplicates. It is only a problem when a page you wanted indexed appears there — most often because a canonical tag was set globally in a layout or template and is being inherited by pages that should each canonicalize to themselves.
Why does my sitemap URL show as 'Page with redirect'?
Because the URL in your sitemap redirects instead of returning a 200. The usual cause is a hostname mismatch: the sitemap lists the apex domain while the site actually serves from www (or the reverse). Sitemaps, canonical tags, and internal links must all use the same final hostname that returns 200.
How long does 'Validate Fix' take in Search Console?
Typically one to two weeks. Google re-crawls a sample of the affected URLs, and the validation state moves from Started to Passed or Failed. It is normal for the report to keep showing old data for several days after the fix is live.