Google Search Console page indexing issues, explained one by one

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

  1. 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.
  2. Fix by template, not by URL. Ten thousand product pages in one reason almost always share one cause in one template.
  3. 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.
  4. 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.