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.
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.
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:
Why pages aren't indexed
Pages that aren't indexed can't be served on Google.
| Reason | Source | Validation | Trend | Pages |
|---|---|---|---|---|
| Page with redirect | Website | Not started | 12 | |
| Alternate page with proper canonical tag | Website | Not started | 9 | |
| Redirect error | Website | Not started | 1 | |
| Not found (404) | Website | Not started | 1 | |
| Crawled - currently not indexed | Google systems | Not started | 8 | |
| Duplicate, Google chose different canonical than user | Google systems | Started | 2 | |
| Discovered - currently not indexed | Google systems | Passed | 0 |
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.
What each “not indexed” status means and what to do
| Status | Source | Verdict | What to do |
|---|---|---|---|
| Redirect error | Website | Fix now | Repair the broken redirect |
| Server error (5xx) | Website | Fix now | Fix the server / hosting |
| Soft 404 | Website | Fix now | Return a real 404 or add content |
| Not found (404) | Website | Look into it | Restore or redirect if it should exist |
| Blocked by robots.txt | Website | Look into it | Unblock it only if the block was a mistake |
| Excluded by ‘noindex’ tag | Website | Usually fine | Remove the tag only if you want it indexed |
| Page with redirect | Website | Usually fine | Nothing. This is normal |
| Alternate page with proper canonical tag | Website | Usually fine | Nothing. Google is obeying your tag |
| Crawled – currently not indexed | Look into it | Make the page better; add internal links | |
| Discovered – currently not indexed | Look into it | Add internal links; improve site quality | |
| Duplicate without user-selected canonical | Look into it | Add a canonical tag yourself | |
| Duplicate, Google chose different canonical | Usually fine | Check it's the right page, then leave it |
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.
What the “Source” column is really telling you
The issue comes from your site. You have a lever: a redirect, a tag, a status code, a link.
Google made a judgment call, about quality, priority, or which duplicate to keep. There's no switch you flip.
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
noindexto 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.
Which “not indexed” reasons actually need your attention
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
Quality & crawl signals, no quick button, slow to move
- ›Crawled – currently not indexed
- ›Discovered – currently not indexed
- ›Duplicate without user-selected canonical
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:
Should you worry about a page that isn't indexed?
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
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://tohttps://. You added a trailing slash. You retired an old post and pointed it to the new one. You mergedexample.comandwww.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?
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=redand/shoes?color=bluethat 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
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
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
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
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
noindexmeta tag (orX-Robots-Tagheader), 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
noindexby accident (a botched CMS setting or a template change is the usual culprit; I've watched a single theme update silentlynoindexan 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
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.txtfile 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
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:
Where a URL drops out of the road to indexing
Google finds the URL, via your sitemap, an internal link, or an external link. It knows the page exists.
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).
Googlebot actually fetches and renders the page, reading its content, links and tags.
Fetched, then rejected. A value problem, Google saw the page and decided it wasn't worth indexing (usually content quality, site-wide).
The page is stored in Google's index and is eligible to appear in search results.
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
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
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.
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
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=canonicaltag 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
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=canonicaltag 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
noindextag 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:
What the Validation column (Not started → Passed) means
You haven't asked Google to re-check. The default state for every reason, including the benign ones you never need to validate.
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.
Google re-checked and the issue is gone on those URLs. The reason clears out of the report.
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:
Being indexed is not permanent, Google keeps re-judging
Google adds the page. It may even rank for a while.
Google keeps re-judging the page's value over time.
If it looks low-value or too templated, its stock falls.
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.
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:
What CrawlRaven catches before it reaches this report
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
noindexon money pages: the moment a template change or CMS setting slaps anoindexon 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.
Related reading on CrawlRaven
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.
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.