Indexing

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

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-tag

The 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

StatusWhat it meansFix
Server error (5xx)Your server failed during crawlCheck logs for that timestamp; Googlebot bursts can expose capacity limits
Not found (404)URL is gone but still linked or in the sitemapRemove from sitemap, or 301 it to the closest live page
Soft 404Page returns 200 but looks empty to GoogleReturn a real 404 status, or add genuine content
Blocked by robots.txtYou told Google not to crawl itIntentional? Fine. If not, fix the disallow rule
Redirect errorRedirect chain, loop, or an empty targetCollapse to a single hop that ends in a 200
Duplicate, Google chose a different canonicalYou declared a canonical; Google overruled youGoogle thinks another page is the better version — strengthen the page or accept its choice

A triage order that works

  1. Sort by page count, descending

    One reason usually dominates. Fixing the cause behind 400 URLs beats fixing 12 one-offs.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Keep reading