The Pages report in Google Search Console lists every URL Google knows about and, for the ones it did not index, the reason. Most reasons are normal housekeeping: redirects, deliberate noindex tags, duplicates that point to a main version. A few mean pages you care about are missing from Google. The work is telling the two apart.
Open it under Indexing → Pages. The chart shows indexed and not indexed pages; the table Why pages aren't indexed groups the rest by reason. Click a reason to see example URLs and to start a validation after you fix it.
Is this reason a problem?
| Reason in Search Console | Usually a problem? | Guide |
|---|---|---|
| Crawled – currently not indexed | Yes, if the pages are ones you want to rank | Crawled – currently not indexed |
| Discovered – currently not indexed | Yes, if it grows or holds key pages | Discovered – currently not indexed |
| Duplicate without user-selected canonical | Often: Google is choosing for you | Duplicate without user-selected canonical |
| Alternate page with proper canonical tag | No, this is the intended result of a canonical | Alternate page with proper canonical tag |
| Soft 404 | Yes: a page answers 200 but looks empty or missing | Soft 404 |
| Page with redirect | No, unless important pages redirect by mistake | Page with redirect |
| Excluded by ‘noindex’ tag | Only if the tag is there by mistake | Excluded by noindex tag |
| Blocked by robots.txt | Only if the block is a mistake | Blocked by robots.txt |
| Indexed, though blocked by robots.txt | Yes: the block and the intention disagree | Blocked by robots.txt |
| Server error (5xx) | Yes, if it persists | Server error (5xx) |
| Blocked due to access forbidden (403) | Yes, if real pages are behind it | Blocked due to access forbidden (403) |
| Not found (404) | Rarely: missing pages should answer 404 | Not found (404) |
| Redirect error | Yes: a loop, a chain that is too long or a broken target | Page with redirect |
| Duplicate, Google chose different canonical than user | Yes: your canonical is ignored | Duplicate without user-selected canonical |
How to work through the report
- Start with pages that should rank. Export each reason and sort by page type. A reason that only holds tag pages, internal search results and parameter URLs can usually stay.
- Fix by template, not by URL. Ten thousand product pages in one reason almost always share one cause in one template.
- Check a live URL before changing anything. URL Inspection → Test live URL shows what Google gets today, which may differ from the date the report was last updated.
- Validate after the fix. Click Validate fix on the reason. Google rechecks the URLs over days or weeks and reports progress.
Why the numbers move on their own
The report is updated with a delay and Google recrawls on its own schedule, so a fix can take weeks to show. Counts also change when Google discovers new URLs (a new filter, a new sitemap) or drops old ones. Compare trends per reason over a month rather than day to day.
Find the causes across the whole site at once
Search Console shows what Google decided, not why your site produced those URLs. A crawl of the site finds the causes directly: redirect chains, canonical tags that point to redirects or errors, noindex on linked pages, soft 404 pages, server errors and duplicate templates. SignalCrawler runs those checks in one audit and, if you attach your Search Console export, ranks the problems by the search clicks on the affected pages.