Back to blog
guides26 min read

Why Your Pages Aren't Indexed: Every Google Search Console Status Explained (2026)

A plain-English guide to the Page indexing report in Google Search Console. Every 'Why pages aren't indexed' status decoded: what it means, why a page lands there, how Google thinks about it, and exactly what to do.

Ayush GargJuly 14, 2026Updated July 30, 2026
TL;DR

The 'Why pages aren't indexed' list in Search Console looks scary, but 'not indexed' rarely means 'broken.' Google's own docs say it will not index every page it crawls, and it leaves many pages out on purpose. Two ideas decode the whole report:

  • READ THE SOURCE COLUMN FIRST: 'Website' means the cause is on your side and you can fix it (redirects, 404s, noindex tags, robots.txt). 'Google systems' means Google made a quality or priority call, so you can send better signals but cannot force it.
  • FIX NOW, the real breakage: Redirect error, Server error (5xx), Soft 404, real 404s, and robots.txt blocks you did not mean to add.
  • LOOK INTO, the quality signals: 'Crawled – currently not indexed' means Google read the page and judged it not worth keeping, usually a content-quality issue. 'Discovered – currently not indexed' means Google has not even fetched it yet, a crawl-priority issue. Both move slowly and have no quick button.
  • LEAVE ALONE, where Google is working as intended: Alternate page with proper canonical tag, Page with redirect, Excluded by noindex, and usually 'Duplicate, Google chose different canonical than user.'

The big mistakes are clicking 'Request indexing' over and over, or deleting pages, instead of improving quality and internal links. This guide explains every status in plain English (what it means, why it happened, how Google sees it, and what to do) plus my honest take on why indexing got stricter in 2026.

Why Your Pages Aren't Indexed: Every Google Search Console Status Explained (2026)

Open Google Search Console, scroll to “Why pages aren't indexed,” and it is easy to panic. You see a list of official-looking statuses: Page with redirect, Crawled – currently not indexed, Alternate page with proper canonical tag, each with a number next to it. It all looks like something you broke.

I have looked at this screen on my own sites and on dozens of others. Here is the main thing to know: most of these are not emergencies, and several are Google working the way it should. The skill is not fixing every line. It is knowing which few lines matter and which ones you can leave alone.

Here is the report we are going to break down, line by line:

search.google.com/search-console › Page indexing

Why pages aren't indexed

Pages that aren't indexed can't be served on Google.

ReasonSourceValidationTrendPages
Page with redirectWebsiteNot started12
Alternate page with proper canonical tagWebsiteNot started9
Redirect errorWebsiteNot started1
Not found (404)WebsiteNot started1
Crawled - currently not indexedGoogle systemsNot started8
Duplicate, Google chose different canonical than userGoogle systemsStarted2
Discovered - currently not indexedGoogle systemsPassed0
Source =Website, something you can fixGoogle systems. Google's own call
The exact report this guide decodes, the “Why pages aren't indexed” table in Search Console. (Numbers here are illustrative.)

For every status, I answer the same four questions: What does it mean? Why did my page land here? How does Google see it? And what should I do? If you just want the fast version, the table below has the answer for all 12 statuses. The rest of the guide explains each one in plain English.

The short answer · every status at a glance

What each “not indexed” status means and what to do

StatusSourceVerdictWhat to do
Redirect errorWebsiteFix nowRepair the broken redirect
Server error (5xx)WebsiteFix nowFix the server / hosting
Soft 404WebsiteFix nowReturn a real 404 or add content
Not found (404)WebsiteLook into itRestore or redirect if it should exist
Blocked by robots.txtWebsiteLook into itUnblock it only if the block was a mistake
Excluded by ‘noindex’ tagWebsiteUsually fineRemove the tag only if you want it indexed
Page with redirectWebsiteUsually fineNothing. This is normal
Alternate page with proper canonical tagWebsiteUsually fineNothing. Google is obeying your tag
Crawled – currently not indexedGoogleLook into itMake the page better; add internal links
Discovered – currently not indexedGoogleLook into itAdd internal links; improve site quality
Duplicate without user-selected canonicalGoogleLook into itAdd a canonical tag yourself
Duplicate, Google chose different canonicalGoogleUsually fineCheck it's the right page, then leave it
The whole report in one table. The rest of this guide explains each row in plain English.

What is the Google Search Console Page indexing report?

The Page indexing report is Google's list of every URL it knows about on your site, and whether each one is in the index. If a page is not in the index, it cannot show up in Google Search at all.

  • Indexed. The page is in Google's index and can show up in search.
  • Not indexed. The page cannot, for one of the reasons listed in the report.
  • Formerly “Index Coverage.” Same report, new name.
  • Formerly “Excluded” and “Error.” In late 2022 Google merged those two groups into the single “Not indexed” status, so an older post about “Excluded” pages describes the reasons you see under “Not indexed” today.

So this report is the line between “my page can rank” and “my page is invisible.”

Does “not indexed” mean my page is broken?

No. This is the most important idea in the whole guide. “Not indexed” does not mean “error.” Google's own help docs say it plainly: not every page Google crawls will be indexed.

  • Left out on purpose. Duplicates, redirects, alternate versions, and pages you told Google to skip. That is Google doing its job, not failing.
  • Most of the count is benign. In the report above, the 12 redirects and 9 alternate-canonical pages are the bulk of the “problem,” and both are Google following your own site's instructions.
  • The rows that need you are the small share. A redirect error, a couple of 404s, 8 crawled-but-not-indexed.

So do not try to get this list to zero. A healthy site always has “not indexed” pages. The job is to tell the real problems from the noise, and two simple ideas do that.

What does the “Source” column mean (Website vs Google systems)?

The Source column is the most useful and most ignored part of the report. It tells you who is responsible for a page not being indexed, and so, who can fix it.

Read this column first

What the “Source” column is really telling you

Source: Website

The issue comes from your site. You have a lever: a redirect, a tag, a status code, a link.

You fix it.
Reasons in this bucket
Page with redirectAlternate page with proper canonical tagRedirect errorNot found (404)Soft 404Server error (5xx)Blocked by robots.txtExcluded by ‘noindex’ tag
Source: Google systems

Google made a judgment call, about quality, priority, or which duplicate to keep. There's no switch you flip.

You influence it. You can't force it.
Reasons in this bucket
Crawled – currently not indexedDiscovered – currently not indexedDuplicate, Google chose different canonical than userDuplicate without user-selected canonical

This one thing saves hours, so I always read the Source column first:

  • Website. The cause is on your side: a redirect to fix, a 404 to bring back, or a stray noindex to remove. These rows are my to-do list.
  • Google systems. Google made the call about quality, crawl priority, or which duplicate to keep. You can send better signals, but no button forces it. These rows are my investigate-and-improve list.

I call this the Source-First Triage, and the next section turns it into a simple sort.

Which not-indexed reasons should you actually fix?

Here is the whole report sorted the way I work through it. I call it the Source-First Triage: read the Source column, then drop each row into one of three buckets, fix now, look into it, or usually fine. If you save one image from this guide, save this one.

The Source-First Triage · my framework

Which “not indexed” reasons actually need your attention

!Fix now

Real breakage blocking pages you want ranked

  • Server error (5xx)
  • Redirect error
  • Soft 404
  • Not found (404), if the page should exist
  • Blocked by robots.txt, if the block is accidental
?Investigate

Quality & crawl signals, no quick button, slow to move

  • Crawled – currently not indexed
  • Discovered – currently not indexed
  • Duplicate without user-selected canonical
Usually fine

Google working as intended. Verify a sample, then move on

  • Alternate page with proper canonical tag
  • Page with redirect
  • Excluded by ‘noindex’ tag
  • Duplicate, Google chose different canonical

See the pattern. The fix-now column is technical breakage: broken redirects, server errors, real 404s. Quick and clear. The look-into-it column is quality and crawl stuff that moves slowly and has no quick button. The usually-fine column is Google doing its job. Not sure where a single page falls? Walk it through this quick decision tree:

Decision tree

Should you worry about a page that isn't indexed?

1. Do you actually want this page to show up in Google?
NoLeave it. Lots of pages (thank-you, admin, filters) should stay out. You're done.
YesKeep going ↓
2. What does the Source column say?
WebsiteThe cause is on your site (a redirect, a 404, a noindex, a robots rule). You can fix it directly, jump to that status below.
Google systemsGoogle made a quality or priority call. Keep going ↓
3. Was the page crawled, or only discovered?
Discovered (not crawled)Google hasn't fetched it yet. Add internal links to the page and lift overall site quality so Google prioritizes it.
Crawled (then dropped)Google read it and judged it low value. Make the page genuinely better and more unique, then request indexing.

Now let's go through every status, grouped by that Source column.

The “Website” reasons: the ones you control

These are the statuses where the cause lives on your site. For each one I'll give you the same four things: what it means, why it happens, how Google looks at it, and what to do.

Page with redirect: what it means and when to worry

Page with redirect: in plain English

This URL isn't in Google because it forwards anyone who visits, including Google, to a different page. Google skips the forwarder and keeps the page it points to instead. It's almost always something you set up on purpose, and it's fine.

  • What it means: this URL sends visitors (and Google) to a different page, so Google keeps the destination page and not this one. The redirecting URL is, correctly, left out.
  • Why it happens: normal site changes. You moved from http:// to https://. You added a trailing slash. You retired an old post and pointed it to the new one. You merged example.com and www.example.com. Each one creates a “Page with redirect” entry, and that is fine.
  • How Google sees it: as normal, not a problem. It followed your redirect and kept the right page.
  • What to do: almost always nothing. Only step in if (a) a page you want indexed shows up here, which means it is redirecting by mistake, or (b) you find long redirect chains (A to B to C to D), which slow crawling down. Shorten chains to a single hop. Otherwise, leave it.

Alternate page with proper canonical tag: is it a problem?

Alternate page with proper canonical tag: in plain English

You have two similar pages, and you told Google which one is the “real” one to show. Google listened and kept that one, leaving this near-copy out. This is the system working correctly, not an error.

  • What it means: this page has a rel="canonical" tag that points to a different page as the “master” version, and Google indexed that master instead. This is canonicalization working the way it should.
  • Why it happens: you have duplicate or near-duplicate URLs, and you correctly told Google which one is primary. Common examples: a product page at /shoes?color=red and /shoes?color=blue that both point to /shoes; a print version; an AMP page pointing to its normal version; or page 2, 3, and 4 pointing to page one.
  • How Google sees it: as a job done right. It found your canonical tag, obeyed it, and kept the version you asked for.
  • What to do: in most cases, nothing. This is one of the safest statuses in the report. Only look closer if a page you actually want ranking is stuck here (its canonical points at the wrong URL), if the count is far bigger than your real page count, or if canonicals point at URLs that do not exist. Spot-check a few with URL Inspection. If the canonicals are right, move on.

Redirect error: how to find and fix it

Redirect error: in plain English

You set up a forward from one page to another, but it's broken. It loops in circles, hops too many times, or leads nowhere. Google gave up trying to follow it. Unlike a normal redirect, this one you actually need to fix.

  • What it means: Google tried to follow a redirect and failed. This is a real problem. The redirect is broken.
  • Why it happens: a redirect chain that's too long, a redirect loop (A → B → A), an empty or malformed redirect URL, or the redirect target timing out.
  • How Google sees it: as a genuine error under the “Website” source. It wanted to reach a page and couldn't.
  • What to do: fix it. Run the URL through a redirect checker (or Screaming Frog), trace the hops, and rebuild it as a single 301 to a live 200-OK page. No loops, no chains, no dead targets. This is a “fix now” row every time.

Not found (404): when it matters and when it doesn't

Not found (404): in plain English

Google went looking for this page and it simply wasn't there. Either you deleted it, or a link somewhere points to the wrong address. It's only a problem if the page was supposed to exist.

  • What it means: the URL returns a 404 (or 410), the page doesn't exist, so Google dropped it from the index.
  • Why it happens: you deleted a page, a product went out of stock and its URL was removed, an internal or external link has a typo, or an old URL got linked somewhere and Google went looking for it.
  • How Google sees it: neutrally. A 404 is a perfectly valid answer. Google does not penalize you for having 404s. They're a normal part of the web.
  • What to do: it depends on whether the page should exist. If it should (you deleted it by mistake, or it has value and inbound links), bring it back, or 301-redirect it to the closest live page. If it should really be gone, a 404/410 is the right answer, just find any internal links still pointing at it, so you stop sending Google and users to a dead URL. Do not redirect every 404 to your homepage out of habit; that creates soft 404s (the next section).

Soft 404: why Google thinks your page is empty

Soft 404: in plain English

The page loads “successfully,” but there's basically nothing on it, so Google treats it like a missing page. Your site is saying “all good here” while showing an empty or dead-end screen, and Google trusts what it sees, not what the code claims.

  • What it means: the page returns a success code (200 “OK”) but looks empty or like a “not found” page to Google. The signal (200) and the reality (nothing here) don't match, so Google flags it.
  • Why it happens: a “No results found” search page that returns 200, an out-of-stock product page with the content stripped out, a thin or blank page, or, the classic, redirecting every deleted URL to your homepage, which Google reads as “this isn't the page they asked for.”
  • How Google sees it: as a mismatch it needs to correct. It won't index a page that behaves like an error even if the header says 200.
  • What to do: decide what the page really is. If it's genuinely gone, return a true 404 or 410. If it should exist, give it real, substantive content so it no longer looks empty. Fix the underlying honesty problem. Make the status code and the content agree.

Excluded by ‘noindex’ tag: usually intentional

Excluded by ‘noindex’ tag: in plain English

There's a hidden instruction on this page telling Google “don't list me,” and Google obeyed. Usually that's on purpose (think thank-you or login pages). It's only worth worrying about if it's sitting on a page you actually want people to find.

  • What it means: the page has a noindex meta tag (or X-Robots-Tag header), which explicitly tells Google not to index it, and Google obeyed.
  • Why it happens: most of the time, on purpose. Thank-you pages, admin and login screens, internal search results, staging pages, tag archives: all commonly (and correctly) set to noindex.
  • How Google sees it: as a direct instruction it's following to the letter.
  • What to do: confirm it's intentional. This is only a problem when an important page (a money page, a key blog post) got a noindex by accident (a botched CMS setting or a template change is the usual culprit; I've watched a single theme update silently noindex an entire blog). If the page belongs in Google, remove the tag. If it doesn't, you're done.

Blocked by robots.txt: crawl blocked, not always deindexed

Blocked by robots.txt: in plain English

You put up a “do not enter” sign for this page, so Google never went in to read it. Perfectly fine if that was intentional, a problem if you accidentally fenced off pages you actually want seen.

  • What it means: your robots.txt file tells Google not to crawl the URL. One catch: blocking crawling is not the same as keeping a page out of the index. Google can still index a URL it cannot crawl if enough other pages link to it. It just cannot see the content.
  • Why it happens: you deliberately disallowed a section (a /cart/, /admin/, or faceted-navigation path), or, the dangerous version, a disallow rule is accidentally blocking pages you want crawled.
  • How Google sees it: as a crawl instruction it respects.
  • What to do: check intent with the robots.txt Tester. Intentional block of low-value URLs? Fine, leave it. Accidentally blocking important pages? Fix the rule. And remember: if you want a page truly kept out of the index, use noindex (which requires the page to be crawlable), not a robots.txt block.

Server error (5xx): fix your hosting first

Server error (5xx): in plain English

When Google knocked, your server answered with an error instead of handing over the page. It couldn't load, so it couldn't be listed. This one points at a hosting or server problem to sort out.

  • What it means: your server returned a 5xx error when Googlebot tried to fetch the page. It couldn't load, so it couldn't be indexed.
  • Why it happens: the server was overloaded, timed out, went down during the crawl, or a bug threw a 500. Sometimes it's Googlebot's crawl rate briefly overwhelming a small host.
  • How Google sees it: as a real failure, and if 5xx errors persist, it will slow its crawling of your whole site to avoid making things worse.
  • What to do: treat it as a “fix now.” Check with your host for uptime and resource issues, look at response times and timeouts, and confirm the URLs load reliably now. Then use URL Inspection to have Google re-check. Persistent 5xxs are one of the few indexing issues that can drag down far more than the affected pages.

The “Google systems” reasons: Google's judgment calls

Now the harder half. These statuses are not about a broken tag. They are Google deciding not to index a page, based on quality, crawl priority, or duplicates. There is no switch to flip. You work by sending better signals.

Before you try to fix any of these, ask one question: do I even want this page in Google? A lot of not-indexed pages are ones you should not care about:

  • Terms and conditions, and privacy policy pages.
  • Thin landing pages built for ads.
  • In-app or account pages that got picked up by accident.

If a page does not need to rank, leave it and move on. Save your energy for the pages that bring in traffic and revenue.

Two of these statuses, Discovered and Crawled – currently not indexed, get mixed up all the time. This picture shows the difference:

Discovered vs Crawled · the one everyone confuses

Where a URL drops out of the road to indexing

1Discovered

Google finds the URL, via your sitemap, an internal link, or an external link. It knows the page exists.

Discovered – currently not indexed

Found, but not fetched yet. A crawl-priority problem: Google queued it and hasn't gotten to it (thin site signals, weak internal links, or your server looked slow).

2Crawled

Googlebot actually fetches and renders the page, reading its content, links and tags.

Crawled – currently not indexed

Fetched, then rejected. A value problem, Google saw the page and decided it wasn't worth indexing (usually content quality, site-wide).

3Indexed

The page is stored in Google's index and is eligible to appear in search results.

Eligible to rank

The goal. The page can now show up for real searches.

The tell: “Discovered” has an empty last-crawl date, Google never fetched it. “Crawled” has a real crawl date. It fetched the page and still said no.

Discovered – currently not indexed: why Google hasn't crawled your page

Discovered – currently not indexed: in plain English

Google knows this page exists but hasn't even opened it yet. It's sitting in the queue, often because the page looks low-priority or your server seemed slow. Nothing's broken; Google just hasn't gotten around to it.

  • What it means: Google knows your URL exists (it found it in your sitemap or a link) but has not fetched it yet. The tell in URL Inspection: the last-crawl date is empty. This is a crawl-priority problem, not a page-value one.
  • Why it happens: Google's Martin Splitt gave three reasons in Google's “SEO Made Easy” series (the video is at the top of this post). First, quality: if Google has seen a lot of thin pages on your site, it may hold off on crawling more URLs that look the same. Second, server speed: if your server looks slow, Google slows down so it does not overload you, and crawls your pages over a longer time. Third, it may just need more time. The URL is in line and Google has not reached it.
  • How Google sees it: as a priority call. John Mueller has said that when many of your pages sit here, the fix is usually not in those exact URLs. It is in the overall quality and structure of the site. Also worth knowing: Gary Illyes has said about 90% of sites never need to worry about crawl budget. So for most sites, this is a quality and internal-linking signal, not a “crawl budget” one.
  • What to do: send stronger signals so Google wants to crawl these pages. Add internal links from strong pages that are already indexed (orphan pages with no internal links are a top cause). Improve site-wide quality so your pages do not look low-value. Keep your sitemap clean, only live, canonical URLs: if this count jumped after a release, diff the current sitemap against the previous one in our sitemap comparison tool and you will usually find a regenerated file that added a few thousand URLs nobody asked for. Fix crawl traps like endless filter URLs. And make sure your server is fast. This moves slowly, over weeks or months, so be patient and do not just spam “Request indexing.”

Crawled – currently not indexed: what it means and how to fix it

Crawled – currently not indexed: in plain English

Google read the page and decided it's not worth adding, usually because the content feels thin or too similar to things already out there. The fix here isn't technical; it's making the page genuinely better.

  • What it means: Google did fetch and read the page (there is a real crawl date) and then chose not to index it, at least for now. It saw the page and decided it was not worth adding. This is a value call, and it is the one that hurts the most.
  • Why it happens: almost always content quality, and usually not just this one page. Thin content, content that copies what is already out there, mass-produced or barely-edited AI pages, or a page that adds nothing new. Weak internal links and a site that does not look high-quality overall make it worse.
  • How Google sees it: as a choice. Crawling a page never guarantees it gets indexed. John Mueller has said clearly that Google does not index everything, and that when pages pile up here it is usually a site-wide quality signal, not a problem with each URL. Martin Splitt has said much the same: Google may drop pages when it sees a pattern of thin or low-quality content. In short, Google is telling you this content has not earned a spot.
  • What to do: raise the quality bar. Make these pages more useful, deeper, and more different from what already ranks, or combine several thin pages into one strong page. Add internal links from good, related pages on your site.

Then check one technical thing: can Google see your content without running JavaScript? Google can render JavaScript, but rendering is queued and not perfect.

  • Read the raw HTML. View the page source, not the inspected DOM, and confirm the actual content is there. If your main text and links only appear after JavaScript runs, that is a real risk here.
  • Render it on the server. If the content is missing from the source, server-side render it (SSR) or pre-render it so it is there on the first load. This removes all doubt.
  • Only then request a re-crawl. Once the page is genuinely better and visible without JavaScript, use URL Inspection.
  • What not to do. Do not click “Request indexing” over and over, because it will not beat a quality decision, and do not delete the pages in a panic.

Fixes here take weeks to months. This is the slowest row in the report.

Opinion· Ayush’s take on the “crawled not indexed” trap

I keep hearing the same story from other founders, and I've seen it myself: Google indexes a batch of pages, they even rank for a week or two, and then they quietly drop back into “not indexed.” It stings, but the message is consistent, if Google does not see lasting value, it will not keep the page.

The pages that get hit hardest are programmatic (pSEO) pages, templated pages built at scale, even when each one has “unique” text. A few normal blog posts can get caught too.

My honest advice now: go slower and raise the real quality of every page instead of shipping thousands of thin ones. Publishing fewer, genuinely useful pages beats flooding Google with pages it will judge and reject.

Duplicate, Google chose different canonical than user

Duplicate, Google chose different canonical than user: in plain English

You told Google which version of a page should count, but Google disagreed and picked a different one. Your canonical tag is treated as a suggestion, not an order, and here Google overruled it.

  • What it means: you declared one URL as canonical, but Google overrode you and indexed a different URL as the master version instead.
  • Why it happens: Google allows this because, in its own words, a rel=canonical tag is a hint, not an order. Google groups pages it sees as duplicates and picks the one it thinks is most complete and useful. It weighs signals like HTTPS vs HTTP, redirects, which URL is in your sitemap, internal links, and your canonical hint. When its pick differs from yours, you get this status. Common causes: mixed signals across your site, near-identical pages, or a canonical that points one way while your other signals point another.
  • How Google sees it: as tidying its index, either removing a duplicate or, in its words, correcting what it thinks is a mistake on the site.
  • What to do: first, check whether it even matters. Open URL Inspection and compare the “User-declared canonical” (yours) with the “Google-selected canonical” (its pick). If Google's choice is a perfectly good page, this is benign, leave it. If Google picked the wrong page, strengthen your signals so they all agree: make the pages genuinely distinct, add a 301 redirect if they're truly the same thing, and align your internal links and sitemap behind your preferred URL. Give it time, canonical re-evaluation can take up to a couple of weeks.

Duplicate without user-selected canonical

Duplicate without user-selected canonical: in plain English

You have near-identical pages and never told Google which one matters, so Google made the call for you. Add a canonical tag and you take that decision back into your own hands.

  • What it means: Google found duplicate versions of a page, you didn't specify a canonical at all, so Google picked one itself and left the others not indexed.
  • Why it happens: no canonical tags on pages that have duplicates, URL parameters (?sort=, tracking tags), trailing-slash or upper/lowercase variants, session IDs, or the same content reachable at multiple paths, all with no signal from you about which is primary.
  • How Google sees it: as filling in a blank you left. It made the canonical decision because you didn't. It's not always benign, because you've handed control of which URL ranks to Google.
  • What to do: take back control. Add an explicit rel=canonical tag to these pages pointing at the version you want indexed, so you decide instead of Google. Where the duplicates are pure noise (parameter URLs), consider handling them at the source. This is a “go add canonicals” task, not a leave-it-alone one.

How do you diagnose a single page with the URL Inspection tool?

The report tells you how many pages hit each status; the URL Inspection tool tells you why one specific page did. Paste any URL into the search bar at the top of Search Console and it runs a live diagnosis. The three things I check every time:

  • Crawl allowed? / Page fetch: did Google's crawl succeed, or is robots.txt or a server error in the way?
  • Indexing allowed?: is there a noindex tag secretly blocking it?
  • User-declared vs Google-selected canonical: the definitive answer to any duplicate/canonical mystery. It shows the canonical you set and the one Google chose, side by side.

One catch worth knowing: for the two “currently not indexed” statuses, the live test can't magically reveal a quality decision. Those aren't testable the way a broken tag is. But for everything “Website”-sourced, URL Inspection is the fastest way from “something's wrong” to “here's the exact reason.”

URL Inspection only works on a property you own, and it checks one URL at a time. When you need the same verdict on a competitor's page, a staging URL, or a page before it ships, run it through our free page indexability checker. It reports the status code, noindex tags and X-Robots-Tag headers, robots.txt rules, the canonical, sitemap membership, and the rendered content in one pass, which covers every “Website”-sourced cause in the table above.

What do the Validation states (Not started, Started, Passed) mean?

The Validation states track Google re-checking an issue after you fix it. Once you have fixed a “Website”-sourced problem, you click “Validate Fix,” and this column shows how that re-check is going:

After you fix something

What the Validation column (Not started → Passed) means

Step 1Not started

You haven't asked Google to re-check. The default state for every reason, including the benign ones you never need to validate.

Step 2Started

You clicked “Validate Fix.” Google is re-crawling the affected URLs in batches. This can take a few days up to ~2 weeks, don't click again while it runs.

Step 3Passed

Google re-checked and the issue is gone on those URLs. The reason clears out of the report.

OrFailed

Google still sees the problem on at least one URL. It tells you the first failing URL. Fix that, then validate again.

Only validate what you actually fixed. Running validation on a benign reason (like “Alternate page with proper canonical tag”) does nothing useful. There's no problem for Google to re-confirm.

The thing people get wrong: validation is for issues you've fixed. There's no point running it on a benign row like “Alternate page with proper canonical tag”. There's nothing broken for Google to re-confirm. Fix the real rows, validate those, and ignore the button on the rest.

The mistakes I see people make with the Page indexing report

After enough of these, the same handful of errors show up again and again. Avoid these and you're ahead of most:

Key Takeaways

  • Trying to drive “not indexed” to zero: A healthy site always has redirects, alternates, and noindex pages sitting here. Chasing zero means fighting Google for doing its job right.
  • Reading the Source column last (or never): It's the fastest triage you have. Website = your to-do list. Google systems = your investigate-and-improve list. Sort by it first.
  • Spamming “Request indexing”: It does not override a quality decision. For Crawled – currently not indexed, clicking it 20 times changes nothing; improving the content does.
  • Treating Discovered and Crawled the same: Discovered = not fetched yet (crawl priority). Crawled = fetched and rejected (value). Different problems, different fixes.
  • Deleting or redirecting pages in a panic: Redirecting every 404 to the homepage creates soft 404s. Deleting crawled-not-indexed pages throws away pages that just need to be better.
  • Fixing per-page when it's site-wide: For the quality statuses, Google is usually judging your whole site. Lift overall quality and internal linking, not just the one URL.

My honest take: what's really going on with indexing in 2026

Everything above is the official, verified answer. Now here is my opinion, based on what I and other founders are seeing. Take it as a point of view, not gospel.

Indexing in 2026 is stricter than it used to be, and it does not stop once a page is in. Google keeps re-judging value, and it will drop a page it once kept:

Why indexed pages disappear

Being indexed is not permanent, Google keeps re-judging

Indexed

Google adds the page. It may even rank for a while.

Re-checked

Google keeps re-judging the page's value over time.

Found thin

If it looks low-value or too templated, its stock falls.

Dropped

The page is removed and lands back in “not indexed”.

The way out of the loop: real, per-page quality and genuine brand signals. That is what makes Google keep a page instead of dropping it.

The biggest shift is that Google is harsher on low-value pages than it was two years ago. Templated programmatic pages get hit first, but plain content pages with no links and no brand behind them are not safe either.

  • Where I agree with the popular take. The real fix is partly brand and authority: people searching for your name, mentions and links from other sites, and trust signals beyond your own domain. Those genuinely help borderline pages get indexed and stay indexed.
  • Where I push back. The strong version of that claim, that brand is the only thing that matters and content sites are dead, goes too far. Plenty of pages sit in “not indexed” for boring, fixable reasons: a stray redirect, thin content, a missing canonical, or a page that only renders with JavaScript. Brand does not fix those; the basics in this guide do.

The honest answer is that both matter: get the technical and content basics right first, then build real brand and authority on top.

Opinion· What I actually do now

I stopped chasing volume. I publish fewer pages, make each one genuinely worth keeping, and add internal links so no good page is an orphan.

And I treat deindexing as useful feedback, not a bug. If Google drops a page, it is often telling me the page was not good enough to keep. That reframe changed how I build sites.

How I catch these issues early with CrawlRaven

Here is the hard part about the Page indexing report: it is a lagging signal. By the time a status shows up with a page count next to it, Google has already crawled, judged, and dropped those URLs, and getting them back in takes weeks.

The real goal is catching the causes before they land in this report. That is why we built CrawlRaven, and it is what I run on my own sites on a schedule. A few examples of what it flags early:

Lagging report → leading signal

What CrawlRaven catches before it reaches this report

Redirect error
Flags redirect chains & loops to collapse into one clean 301
Excluded by ‘noindex’ tag
Alerts the moment a noindex lands on a page that should rank
Duplicate / wrong canonical
Surfaces canonical mismatches and pages missing a canonical
Discovered – currently not indexed
Maps internal links and flags orphan, hard-to-reach pages
Soft 404 · 5xx · broken links
Catches empty pages, server errors, and dead links every crawl
Crawled – currently not indexed
Spots thin, duplicate & decaying content (with Content Insights)

The point: by the time a status appears in Search Console, the damage is done and recovery takes weeks. A scheduled crawl moves the catch upstream, while a one-line fix still solves it.

  • Redirect chains and loops: before they become a “Redirect error,” the 200-point crawl surfaces multi-hop chains and loops so you can collapse them to a clean single 301.
  • Accidental noindex on money pages: the moment a template change or CMS setting slaps a noindex on a page that should rank, it's in your issues list, not silently dropped from Google weeks later.
  • Canonical mismatches: pages whose canonical points at the wrong URL, or duplicates with no canonical at all, so you fix them before Google picks a canonical for you.
  • Orphan pages and weak internal links: the number-one driver of “Discovered – currently not indexed.” CrawlRaven maps your internal link structure and flags pages Google will struggle to prioritize.
  • Soft 404s, broken links, and 5xx errors: the technical breakage from the “fix now” column, caught on every crawl.
  • Thin and duplicate content: by connecting Google Search Console data, you can spot the thin, cannibalizing, or decaying pages most likely to end up “Crawled – currently not indexed,” then fix or consolidate them first.

The report tells you what Google already decided. A continuous audit tells you what it's about to decide, while you can still change the answer. That's the difference between reacting to this report every quarter and rarely having a bad row on it at all.

Frequently asked questions

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

The difference is whether Google has fetched the page. 'Discovered - currently not indexed' means Google knows the URL exists (from a sitemap or link) but has not crawled it yet. Its last-crawl date is empty. It's a crawl-priority issue, usually caused by weak internal linking, a slow server, or site-wide quality signals that make Google deprioritize crawling similar URLs. 'Crawled - currently not indexed' means Google did fetch and read the page and then chose not to index it. It has a real crawl date. That's a value judgment, almost always about content quality across the site. Requesting indexing on a 'Discovered' URL typically just moves it to 'Crawled'; both are symptoms of the same underlying quality and priority issues.

Is 'Alternate page with proper canonical tag' a problem?

Usually not. It's one of the most benign statuses in the report. It means the page has a canonical tag pointing to a different 'master' page, and Google correctly indexed that master instead. This is canonicalization working exactly as intended, common with URL parameters, printer-friendly versions, AMP pages, and paginated pages. You only need to act if a page you actually want ranking is stuck here (its canonical points at the wrong URL), if the count is wildly disproportionate to your real page count, or if canonicals point at URLs that don't exist. Otherwise, leave it alone.

Does 'not indexed' in Google Search Console mean my page is broken?

No. 'Not indexed' is not the same as 'error.' Google's own documentation says not every page it crawls will be indexed, and many not-indexed URLs are pages Google deliberately excluded: redirects, alternate canonical pages, noindexed pages, and duplicates. A healthy site always has not-indexed pages. The goal isn't to drive the list to zero; it's to separate the genuine problems (redirect errors, real 404s, server errors, crawled-not-indexed quality issues) from the many statuses that are simply Google following your site's own instructions.

What does the 'Source' column in the Page indexing report mean?

The Source column tells you who is responsible for the reason a page isn't indexed. 'Website' means the cause is on your side (a redirect, a 404, a noindex tag, a robots.txt rule), so you have a concrete lever to fix it. 'Google systems' means Google made a judgment call about quality, crawl priority, or which duplicate to keep. You can send better signals but can't force the outcome. Sorting the report by Source is the fastest triage: 'Website' rows are your to-do list; 'Google systems' rows are your investigate-and-improve list.

How do I fix 'Crawled - currently not indexed'?

This status means Google fetched the page and decided it wasn't worth indexing, almost always a content-quality issue, and usually a site-wide one, not just that page. Fix it by genuinely improving the content so it's deeper and more distinct than what already ranks, or consolidating several thin pages into one strong page. Add internal links from relevant, authoritative pages on your site to signal the page matters. Only after improving it, use URL Inspection to request a re-crawl. Don't repeatedly click 'Request indexing' (it won't override a quality decision) and don't delete the pages in a panic. Improvements here take weeks to months to show up.

Why did Google choose a different canonical than the one I set?

Because a rel=canonical tag is a hint, not a directive. Google clusters pages it considers duplicates and picks the one it judges most complete and useful, weighing signals like HTTPS vs HTTP, redirects, sitemap inclusion, internal links, and your canonical hint. When those signals contradict your declared canonical, Google overrides it, either to keep its index free of duplicates or to correct what it thinks is a site mistake. Use the URL Inspection tool to compare your 'User-declared canonical' with the 'Google-selected canonical.' If Google's pick is a good page, it's harmless; if it's wrong, make your signals agree: distinct content, a 301 if the pages are truly the same, and consistent internal links and sitemap entries behind your preferred URL.

Do I need to fix every page in the 'Why pages aren't indexed' report?

No. Prioritize by triage. Fix now: real breakage, Redirect error, Server error (5xx), Soft 404, genuine 404s on pages that should exist, and accidental robots.txt blocks. Investigate: the quality and crawl signals, Crawled and Discovered - currently not indexed, and Duplicate without user-selected canonical, which are slow to move and have no quick button. Usually leave alone: the statuses that are Google working as intended, Alternate page with proper canonical tag, Page with redirect, Excluded by noindex, and usually 'Duplicate, Google chose different canonical than user.' Verify a sample of the benign ones with URL Inspection, then move on.

What do the Validation states (Not started, Started, Passed) mean?

They track Google re-checking an issue after you click 'Validate Fix.' 'Not started' is the default. You haven't asked Google to re-verify. 'Started' means validation is in progress; Google is re-crawling the affected URLs in batches, which can take a few days up to about two weeks. 'Passed' means Google confirmed the issue is gone and the reason clears from the report. 'Failed' means Google still sees the problem on at least one URL (it names the first failing one). Only run validation on issues you've actually fixed, usually the 'Website'-sourced rows, not on benign statuses where there's nothing to re-confirm.

Ayush Garg
About the Author

Ayush Garg

Co-founder, CrawlRaven · 6+ years building SaaS content & SEO products

Ayush has 6+ years of experience building SaaS products and content strategies in the SEO space. As co-founder of CrawlRaven, he writes from hands-on experience building deep-crawl audit tools and solving the technical SEO problems agencies actually face.

google search console page indexing reportwhy pages aren't indexedcrawled currently not indexeddiscovered currently not indexedalternate page with proper canonical tagpage with redirectduplicate google chose different canonical than usernot found 404 search consolesoft 404excluded by noindex tagindex coverage reporthow to fix indexing issues

The Page indexing report is a lagging indicator: by the time a status shows up, Google has already crawled, judged, and excluded those URLs. The win is catching the causes before they land there.

Catch indexing problems before Google does

CrawlRaven's 200-point crawl surfaces the exact issues that feed this report (redirect chains, accidental noindex tags, canonical mismatches, orphan pages, soft 404s, and 5xx errors) so you fix them before they cost you the index. Start free (1 site, no credit card); lifetime licenses from $49 at launch.

Search Console tells you what Google already decided. A continuous audit tells you what it's about to decide, while you can still change the answer. Run the crawl that flags the redirects, missing canonicals, and thin, weakly-linked pages most likely to end up 'not indexed,' and fix them first.

CrawlRaven connects Google Search Console and GA4, runs 200+ technical SEO checks, and joins all three into one prioritized fix list, so you know what is broken, what it is costing you, and what to fix first.

✓ No credit card required·200+ checks·GSC + GA4 + full-site crawl
Free plan — no credit card

Stop exporting. Start shipping.

Connect Search Console, import your Ahrefs or Semrush lists, and get one ranked plan. Start free with one site — or grab a limited lifetime deal from $29, only 4 licenses left.

3
Data sources joined
200+
Point audit checks
1
Ranked plan out