GuideIndexing

Page indexing report: every 'not indexed' reason and its fix

The page indexing report shows which URLs Google left out and why. Every reason, whether it needs fixing, and the exact fix for each one.

LaunchScalerPublished 12 min read

The page indexing report in Google Search Console shows how many of the URLs Google knows on your site are indexed, and gives a reason for every URL that is not. Most sites have some not-indexed URLs for good reasons, so the job is to find the reasons that hit pages you want in search results and fix only those.

Below is every reason the report can show, in Search Console's own wording, with the fix and whether it needs one at all. Each reason links to a full guide.

What is page indexing in Search Console?

Indexing is the step after crawling: Google fetches a page, processes its content and stores it in the Google index, where it becomes eligible to appear in Search and Discover. The page indexing report is the site-wide view of that step. It counts your indexed and not-indexed URLs and groups the not-indexed ones by reason.

To open it, select your property, then click Pages in the Indexing section of the left menu. The summary page has four parts:

  • A chart of indexed and not-indexed totals. Each bar is the running total as of that date, not the number of pages Google processed on that day.
  • The "Why pages aren't indexed" table. Every row has a Reason, a Source (Website or Google) and a Validation state. Google's help says that, in general, you can fix only the issues whose source is Website.
  • The "Improve page experience" table, for warnings that did not stop indexing. "Indexed, though blocked by robots.txt" lives here: Google indexed the URL from links alone because the block stopped it reading the page. The indexed though blocked by robots.txt guide covers that case.
  • The "View data about indexed pages" link, with the history of your indexed count and up to 1,000 example indexed URLs.

A sitemap filter above the chart switches between All known pages (the default), All submitted pages, Unsubmitted pages only and one specific sitemap. Filtering to All submitted pages shows only the URLs you asked Google to index, which is usually the list you care about.

Google's help is blunt about small sites: with fewer than 500 pages you probably do not need this report. Search site:yourdomain.com, then inspect your homepage and key pages in URL Inspection.

Why are pages not indexed in Search Console?

Search Console files every not-indexed URL under a reason in the "Why pages aren't indexed" table. Fifteen reasons can appear there, from server errors and robots.txt blocks to duplicates and redirects. Several of them describe a site working as intended. The table maps each reason to its cause, whether you should act, and the fix.

Reason, as the report words itWhat Google is telling youAct?The fixFull guide
Server error (5xx)Your server returned a 500-level status or the request timed out, so Googlebot abandoned it.Yes, on pages you want indexedCheck the host status in the Crawl Stats report, then look for a firewall or DoS rule that blocks Googlebot. URLs that keep returning 5xx are eventually removed from the index.Server error (5xx) fixes
Redirect errorThe chain was too long, looped, grew past the maximum URL length, or held a bad or empty URL. Googlebot follows up to 10 hops.YesRedirect the old URL straight to the final URL in one 301 or 308 hop.Redirect error fixes
URL blocked by robots.txtA robots.txt rule stops Googlebot fetching the page.Only if you want it indexedRemove the Disallow rule. To keep a page out of Google, remove the block and add noindex, because a blocked URL can still be indexed from links.Blocked by robots.txt
Excluded by 'noindex' tagGoogle found noindex in a <meta name="robots"> tag or an X-Robots-Tag header. Google's help page calls this "URL marked 'noindex'".Only if the noindex is a mistakeRemove the tag or header, confirm in Test live URL that "Indexing allowed?" no longer reports noindex, then click Request indexing.Excluded by noindex tag
Not found (404)The URL returned 404. Google found it through a link, or the page used to exist.Only if you link to it or list it in a sitemapRestore the page, or 301 it to its replacement if it moved. A removed page with no replacement can stay 404.Not found (404) in Search Console
Soft 404The page shows a "not found" message or next to no content but returns 200.YesReturn a real 404 or 410 for pages that are gone. If the page is real, open View tested page in a live test to see what Google rendered, and fix what it missed.Soft 404 errors
Blocked due to unauthorized request (401)The page demanded authorization, and Googlebot sends no credentials.Only for pages meant to be publicRemove the login requirement, or let verified Googlebot requests through. Loading the URL in an incognito window reproduces it.No separate guide
Blocked due to access forbidden (403)The server refused access. Googlebot never provides credentials, so Google treats a 403 to Googlebot as your server answering wrongly.Yes, if the page should rankFind the firewall or bot-protection rule returning 403 to Googlebot and allow requests you have verified as Googlebot (a reverse DNS lookup that ends in googlebot.com, google.com or googleusercontent.com, confirmed by a forward lookup).Access forbidden (403)
Blocked due to other 4xx issueAnother 4xx status, not 401, 403 or 404.Yes, if the page should rankInspect the URL, read the status under Page fetch, and fix the handler that returns it.No separate guide
Crawled - currently not indexedGoogle fetched the page and chose not to index it for now.Yes, if you need the page in searchDo not resubmit it; Google says there is no need. Check the page is not thin or a near copy of another URL, and link to it from pages that are indexed.Crawled - currently not indexed
Discovered - currently not indexedGoogle knows the URL but has not crawled it, usually because crawling was expected to overload the site. The last crawl date is empty.Yes, if it lasts on key pagesCheck the host status in the Crawl Stats report, link to the URL from crawled pages, and keep it in your sitemap.Discovered - currently not indexed
Alternate page with proper canonical tagThis URL points to a canonical that is indexed.NoNothing.Alternate page with proper canonical tag
Duplicate without user-selected canonicalGoogle judged the page a duplicate and picked another URL as canonical, and you declared no canonical of your own.Only if Google picked the wrong URLAdd <link rel="canonical"> naming the URL you want, or make the pages differ substantially if they are not duplicates.Duplicate without user-selected canonical
Duplicate, Google chose different canonical than userYou declared a canonical, and Google chose a different URL.Yes, if Google's choice is wrongCompare the inspected page, the User-declared canonical and the Google-selected canonical, then make redirects, canonical tags, the sitemap and internal links all name one URL.Google chose a different canonical
Page with redirectA non-canonical URL that redirects, so only its target can be indexed.No, for URLs you retired on purposeNothing, unless the URL should not redirect. Point internal links and the sitemap at the target.Page with redirect

Which not-indexed reasons need no action?

Page with redirect and Alternate page with proper canonical tag are usually the report working as intended. Old http:// URLs, retired slugs and parameter URLs such as ?utm_source= or ?sort=price that point at a clean canonical belong in those rows. So do noindex, robots.txt and 404 rows on pages you meant to hide or remove.

Google's help says it directly: having a page marked duplicate or alternate "is usually a good thing; it means that we've found the canonical page and indexed it." For Duplicate without user-selected canonical it goes further and calls the status "not an error, but is working as intended."

Judge each row by its example URLs rather than its count. Open the row and read them. If none of them is a page you want a searcher to land on, leave the row alone. If even one is, find the cause in the template or rule that produced it, because one bad robots.txt line or one layout carrying a stray noindex often explains the whole row.

Two patterns deserve attention even when every row looks expected. Google says a drop in indexed pages without a matching rise in errors can mean you are blocking existing pages with robots.txt, noindex or a required login. And a Not found (404) row only lists URLs that returned 404 in the past month, so a URL leaves that row once a month passes without it returning 404 to Google.

How do you read the report without being misled?

Treat the report as a delayed sample of your site. Each example list stops at 1,000 URLs and is not guaranteed to show every affected URL even below that number. Google's short guide adds that changes take a few days to reach the report, and each URL's status comes from Google's last crawl, not from your live page.

That lag explains a lot of confusing rows. If a row still lists a URL you already fixed, check its crawl date in the URL details before assuming the fix failed; the crawl probably came before your change. Google's help notes the reverse case too: a URL that URL Inspection lists as indexed but the report does not was probably indexed recently and will show up in the report soon.

A few more rules keep you from chasing ghosts:

  • You cannot search or filter the report by URL. For one URL, use URL Inspection.
  • The totals will not exactly match your own page count, and Google says small discrepancies can occur.
  • An issue stays in the table until 90 days after its last instance disappears. If it comes back within those 90 days, it reopens with its original "First detected" date.
  • You do not need to watch it daily. Google suggests checking monthly, or after large changes, and emails you when errors spike.

How does Validate fix work?

Validate fix asks Google to recrawl every URL known to have an issue and confirm it is gone. Google says it typically takes up to about two weeks, and in some cases much longer, because only the affected URLs are queued and each needs a fresh crawl. You get an email when it passes or fails.

Run it in this order:

  1. Fix every instance first. Validation stops as soon as Google finds a single remaining instance.
  2. Run Test live URL on two or three affected pages to confirm the fix is live.
  3. Open the issue's details page and click Validate fix, once. Google asks you not to click it again until validation has passed or failed.
  4. Search Console immediately checks a few pages. If the issue is still on any of them, validation ends and the state does not change.
  5. Follow progress from See details on the issue page, which lists every URL queued and its result.

To finish faster, submit a sitemap that holds only your important pages, filter the report by that sitemap, then validate. A request against that subset can complete sooner than one covering every affected URL.

Validation stateWhat it meansYour next step
Not startedSome instances have never been in a validation request.Fix them, then click Validate fix.
StartedValidation is running and no remaining instance has been found yet.Wait for the emails.
Looking goodEvery instance checked so far is fixed.Wait.
PassedAll known instances are gone. You only reach this state by clicking Validate fix.Nothing.
N/AGoogle found the issue fixed everywhere without a validation request.Nothing.
FailedPages still contain the issue after you clicked Validate fix.Fix the URLs listed under See details, then click Start new validation.

Each URL also gets its own state: Pending, Passed, Failed, or Other when Google could not reach it (Other counts as passed). A new validation rechecks only Pending and Failed URLs, plus any new instances found since.

URL Inspection: indexed result or Test live URL?

URL Inspection opens on Google's indexed result: what Google saw at its last crawl and why the URL is or is not on Google. Test live URL fetches the page now. Use the indexed result to learn Google's current decision, and the live test to confirm a fix before you request indexing.

Your questionUseWhere to look
Is this URL in the index, and if not, why?Indexed resultPage indexing section, Last crawl
Which URL did Google pick as canonical?Indexed result onlyUser-declared canonical and Google-selected canonical
How did Google find this URL?Indexed result onlySitemaps and Referring page
Is my noindex or robots.txt fix live?Test live URLCrawl allowed? and Indexing allowed?
What does Googlebot actually render?Test live URLView tested page (the screenshot exists only in a live test)
Can I reproduce a 5xx?Test live URLPage fetch, though a server error can be transient

The live test does not check duplicates or canonical choice, sitemaps, referring pages, quality, manual actions or removals, so a clean live test does not mean the page will be indexed. For redirects, the indexed result describes the URL you entered, while the live test follows the redirect and tests the target without saying so.

URL Inspection has a daily limit per property, Request indexing has its own quota, and asking twice for the same URL does not get it crawled any faster. Google says crawling can take anywhere from a few days to a few weeks.

Check what your pages send before Google's next crawl

The report shows what Google found days ago. To check what your pages send right now, run the free scan on LaunchScaler: you give it a URL, it needs no account, and it runs 156 checks across 6 of its 7 categories at no cost. Its search checks read the same signals this report reacts to: robots.txt rules that block a page, noindex in the meta robots tag or the X-Robots-Tag header, a noindex hidden behind a robots.txt block, canonicals that point at redirected or 404 URLs, soft 404s, long redirect chains, and a sitemap that is missing or lists non-canonical URLs. It reads your live site rather than Google's index, so fix what it flags, run Test live URL on one affected page, then click Validate fix on the matching row.

Questions, answered

What people ask about this

01

What is the page indexing report in Google Search Console?

  • It is the Search Console report that counts how many of your known URLs Google has indexed and gives a reason for each URL it did not index. Open it from the Indexing section of the left menu, where it is labelled Pages.
02

Why are my pages not indexed in Search Console?

  • Each not-indexed URL is listed under a reason in the 'Why pages aren't indexed' table, such as a noindex tag, a robots.txt block, a redirect or a duplicate. Many of those reasons are expected. Fix the rows where the Source column says Website and the example URLs are pages you want people to find.
03

How long does Validate fix take in Search Console?

  • Google says validation typically takes up to about two weeks and in some cases much longer, because it recrawls every URL known to have the issue. Do not click Validate fix again until the current validation has passed or failed.
04

Does the page indexing report show every URL on my site?

  • No. The example list for each reason stops at 1,000 URLs and is not guaranteed to include every affected URL even below that. To check one specific URL, use the URL Inspection tool, because the report cannot be searched by URL.
05

Is 'Crawled - currently not indexed' an error?

  • It is not a crawl failure. Google fetched the page and decided not to index it for now, and its documentation says the page may or may not be indexed later and that there is no need to resubmit the URL.
06

Do small sites need the page indexing report?

  • Google's help says a site with fewer than 500 pages probably does not need it. Search site:yourdomain.com and inspect your homepage and key pages in URL Inspection instead.

Sources

  1. Search Console Help: Page indexing reportsupport.google.com
  2. Search Console Help: Has Google found all your pages?support.google.com
  3. Search Console Help: URL Inspection toolsupport.google.com
  4. Google Crawling Infrastructure: How HTTP status codes affect Google's crawlersdevelopers.google.com
  5. Google Search Central: Block Search indexing with noindexdevelopers.google.com
  6. Google Search Central: How to specify a canonical URLdevelopers.google.com
  7. Google Search Central: Ask Google to recrawl your URLsdevelopers.google.com
  8. Google Crawling Infrastructure: Verify requests from Google crawlers and fetchersdevelopers.google.com
  9. Carrot Help Center: Understanding Google Search Console's Page Indexing Reporthelp.carrot.com

Newsletter

What launched, every Monday

Every Monday: what launched on LaunchScaler that week, what is launching next, and the reviews we published. Confirm your email once and you're in.

More from the blog

Guide

How long does Google take to index a new website? What speeds it up

Google says crawling takes a few days to a few weeks, and most sites wait three days or more per new page. A sitemap and links from indexed pages help.

LaunchScalerSep 28, 2026 · 7 min read
Guide

How to check if a page is indexed by Google (and why site: lies)

URL Inspection in Search Console is the reliable check: URL is on Google or not, with the reason. A site: search shows only a partial sample.

LaunchScalerSep 28, 2026 · 7 min read
Guide

How to set up Google Search Console for a new site

Add a Domain property, verify it with a DNS TXT record, submit your sitemap, inspect the homepage, then read three reports in week one. The full setup.

LaunchScalerSep 28, 2026 · 7 min read