Search Console page indexing statuses: which ones to fix
Most of the reasons in the Page indexing report are Google working as intended. A few mean something on your site is broken. Here is how to tell them apart.

Google Search Console's Page indexing report lists the reason Google gave for every page it didn't index. Most of those reasons are normal. Google's own help page says not to expect every URL on a site to be indexed: the goal is to get the canonical version of every important page indexed.
So for each status, the useful question is whether it's happening to a page you want people to find in Google. If it isn't, leave it alone. If it is, the table below says what to do.
Which Page indexing statuses need fixing?
The status names and what they mean come from Google's Page indexing report help. The "Fix it?" column is my reading of that guidance.
| Status | What it means | Fix it? | What to do |
|---|---|---|---|
| Alternate page with proper canonical tag | This URL names another page as its canonical, and Google indexed that page | No | Nothing |
| Page with redirect | This URL redirects, so Google indexes where it goes instead | No, if you meant to redirect | Link to the final URL on your own pages |
| Duplicate without user-selected canonical | Google treats this page as a copy and indexed another one | Only if Google picked the wrong page | Add a canonical tag pointing to the page you prefer |
| Duplicate, Google chose different canonical than user | You named a canonical, and Google chose a different one | Usually | Compare the two in URL Inspection (below) |
| Not found (404) | The URL returns a 404 | Only if the page should exist | Restore it, or 301 redirect it to its replacement |
| Crawled, currently not indexed | Google crawled the page and hasn't indexed it | If it's an important page | See the section below. No need to resubmit |
| Discovered, currently not indexed | Google knows the URL but hasn't crawled it yet | If it lasts weeks on an important page | See the section below |
| URL marked 'noindex' | The page tells Google not to index it | Only if you want it indexed | Remove the noindex |
| URL blocked by robots.txt | Your robots.txt stops Google from crawling it | Only if you want it indexed | Remove the block. To keep a page out of Google, use noindex instead |
| Soft 404 | The page reads like an error page but returns a 200 status | Yes | Return a real 404 for missing pages, or add content to empty ones |
| Server error (5xx) | Your server failed when Google requested the page | Yes | Check your hosting, then test the URL live |
| Redirect error | A redirect loop, a chain that's too long, or a bad URL in the chain | Yes | Point the redirect straight at the final URL |
| Blocked due to access forbidden (403) | Your server refused Googlebot | Yes, for public pages | Let Googlebot through |
| Blocked due to unauthorized request (401) | The page asks for a login | Only if the page should be public | Remove the login requirement |
| URL blocked due to other 4xx issue | Another 4xx error | Yes | Inspect the URL to see the code |
| Indexed, though blocked by robots.txt | Google indexed it without crawling it, from links elsewhere | If you wanted it out of Google | Remove the robots.txt block and add noindex |
The statuses you can usually leave alone
"Alternate page with proper canonical tag" means the system is working. The page points to another URL as the main version, Google agreed and indexed that one. Google's own example is an AMP page whose canonical is the regular version of the same page.
"Page with redirect" means the URL sends visitors somewhere else, so Google indexes the destination instead. It's fine when the redirect is deliberate. If your own pages link to the redirecting address, change those links to the final URL so Google and visitors skip the extra step.
"Not found (404)" is also fine when you removed a page on purpose. Google says 404 responses are not necessarily a problem if the page was removed without a replacement. If the page moved, add a 301 redirect to its new address.
"URL marked 'noindex'" and "URL blocked by robots.txt" are fine for pages you kept out of Google on purpose, like thank-you pages or internal search results. Check the list for any page you do want found.
The statuses that mean something is broken
A soft 404 is a page that tells visitors it doesn't exist but returns a 200 "OK" status code to Google. Google recommends returning a real 404 for pages that are truly missing. One common cause is a host that answers every unknown URL with the homepage; Cloudflare Pages does that when a site has no 404 page, which I wrote up in two Cloudflare Pages defaults to fix before you launch. Google's crawler documentation says an empty page that returns a 200 can be reported as a soft 404 too. For those, the fix is to give the page real content.
A server error (5xx) means your server failed when Google asked for the page. Test the URL live in URL Inspection, and look at the Crawl Stats report to see whether your host has been failing often.
A redirect error means Google gave up on a redirect: a loop, a chain that's too long, an address that got too long, or a broken URL somewhere in the chain. Point each redirect straight at the final address.
A 403 means your server refused Googlebot. Google points out that Googlebot never sends credentials, so a public page answering 403 is your server making a mistake. Check your firewall and bot-protection settings first.
What to do when Google picks a different canonical
When several URLs show the same content, Google picks one as the canonical and indexes that one. "Duplicate without user-selected canonical" means you didn't name one and Google chose. "Duplicate, Google chose different canonical than user" means you named one and Google chose another anyway.
Google weighs its signals in its canonical documentation: a redirect and a rel="canonical" tag are both strong signals, and being listed in your sitemap is a weak one. Google also says to link within your own site to the canonical URL rather than a duplicate, and to use absolute URLs in canonical tags.
To see what happened, inspect the URL. URL Inspection shows the canonical you declared and the one Google selected side by side. Then make your signals agree: the canonical tag, your internal links and your sitemap should all name the same URL. A declared canonical that isn't similar to the page won't be chosen, so check that the two pages really are the same.
Crawled, currently not indexed versus discovered, currently not indexed
"Discovered, currently not indexed" means Google found the URL but hasn't crawled it yet. Google says it rescheduled the crawl to avoid overloading your site, and that crawling a known URL can take up to a few weeks. On a new page, this status alone isn't a sign of trouble.
"Crawled, currently not indexed" means Google crawled the page and decided not to index it for now. Google says the page may or may not be indexed in the future, and that you don't need to resubmit it.
For an important page that stays in either state, here's what I check first. These are my judgment, not Google's instructions:
- Does any indexed page on the site link to it? A page reachable only from the sitemap is easy for Google to skip.
- Does it answer something the site's other pages don't? A page that repeats another page tends to be treated as a duplicate.
- Is it complete? A page with a heading and two sentences gives Google little reason to index it.
How to check that a fix worked
- Inspect the URL and run "Test live URL". The default view shows the version Google last indexed, while the live test fetches the page as it is now. A passing live test doesn't guarantee the page will appear in results.
- If the page is ready, click "Request indexing". There's a daily limit, and a request doesn't guarantee indexing.
- For a status that affected many pages, open it in the report and click "Validate fix". Google says validation typically takes up to about two weeks, and sometimes much longer. It ends as Passed when all known instances are gone, or Failed when enough pages still have the issue.
New pages can take a few days to be indexed, and Google says crawling a known URL can take up to a few weeks. Give a fix time before deciding it didn't work.
Three cases I check on my own site
This site is static: plain files on Cloudflare Pages. Static sites run into a few of these statuses in predictable ways.
- An address without its trailing slash, like
/about, answers with a 308 redirect to/about/. If Google finds the short form anywhere, it reports it as "Page with redirect". That's fine; my own links always use the trailing slash, so the redirect stays a fallback. - A missing page answers with a real 404, because the site ships a 404 page. Without one, every typo would return the homepage and risk showing up as a soft 404.
- The copies of the site on Cloudflare's
pages.devaddresses send a noindex header, so they never compete with the real domain as duplicates.