How to Fix Index Coverage Errors in Search Console (and Catch Them First)
To fix Index Coverage errors in Google Search Console, open the Pages report, sort the affected URLs by the reason Google gives, fix the cause on the site, and then click Validate Fix. Most of the work is in the third step, because the same reason can come from a template, a plugin setting or a server rule, and the report doesn't tell you which.
The report Google used to call Index Coverage now lives under Indexing > Pages. The chart at the top splits URLs into Indexed and Not indexed, and the table underneath, "Why pages aren't indexed", lists each reason with a count of affected pages. It describes what Google found on its recent visits, so the problem you're looking at today may have started weeks ago.
Reasons in the Pages report and what usually causes them
| Reason shown in GSC | Common cause | Where the fix usually is |
|---|---|---|
| Excluded by 'noindex' tag | <meta name="robots" content="noindex"> or an X-Robots-Tag: noindex header left over from staging or set in a template |
Template, SEO plugin, server config |
| Blocked by robots.txt | A Disallow rule covering URLs you want crawled |
robots.txt |
| Duplicate without user-selected canonical | Near-identical URLs (parameters, trailing slashes, http and https) with no canonical | Add rel="canonical" to the variants |
| Duplicate, Google chose different canonical than user | Your canonical disagrees with internal links, redirects or the sitemap | Make those signals point to the same URL |
| Page with redirect | The URL 301s elsewhere | Often fine; update sitemap and internal links to the final URL |
| Not found (404) and Soft 404 | A removed page still linked or listed, or an empty "no results" page returning 200 | Restore, redirect, or return a real 404 or 410 |
| Crawled - currently not indexed, Discovered - currently not indexed | Google hasn't chosen to index yet, often thin or near-duplicate pages | Improve or consolidate content, strengthen internal links |
Not every row needs fixing. "Page with redirect" and "Alternate page with proper canonical tag" often describe a site working as intended. The rows to worry about are the ones that list URLs you expect to rank.
The noindex row does the most damage, because the page is being kept out on the site's own instruction and nothing looks wrong in the browser. How to catch a noindex in production covers where it tends to come from. For the robots.txt row, go through how to check robots.txt line by line, and remember that Google can't read a noindex on a URL it isn't allowed to crawl.
Working through the report
- In Search Console, go to Indexing > Pages and scroll to "Why pages aren't indexed".
- Open one reason. The example list is capped at 1,000 URLs, so on a large site export it and look for patterns instead of trying to cover every URL.
- Group the URLs by template or folder. Forty product pages with
noindexare normally one template or one plugin setting, not forty separate jobs. - Fix the cause. On WordPress, check Settings > Reading for "Discourage search engines from indexing this site", and the per-page search visibility setting in Yoast or Rank Math, before touching any code.
- Paste one affected URL into URL Inspection and run Test Live URL. It shows whether indexing is allowed and which canonical is declared on the live page, so you know the fix is really deployed and not stuck behind a CDN cache.
- Go back to the reason and click Validate Fix. Google's documentation says validation typically takes up to about two weeks and can take longer, and Search Console emails you as it progresses.
Why the error you see is already old
Search Console runs on Google's crawl schedule, not yours. A template change deployed on the 1st has to be recrawled across enough URLs and processed before it appears as a spike in the Pages report, and the report itself updates with a delay of several days. By the time a reason jumps, pages may already have left the index, and validation adds its own wait on top. That's the same blind spot described in silent SEO changes: the cause sits on the page long before its effect can be measured.
Search Console can't close that gap, since it only reports what Google has already processed. You can, by watching the HTML and robots.txt directly, because that's where most of these reasons begin.
Catching the causes before the report does
Deltio doesn't connect to Search Console and can't tell you what Google has indexed. For that, the Pages report remains the source. What Deltio checks are the on-page causes that later become rows in it. Once a day it reads each site's sitemap and pages and compares them with the previous check, so a noindex that appears, a canonical that changes or a new robots.txt rule is reported by Slack and email for that site on the day it's found. URLs that fall out of the sitemap are reported too, which is often where "Not found (404)" rows start; pages removed from sitemap goes into that. After you've fixed something, a manual SEO scan confirms the page is clean before you click Validate Fix.
The check is daily, so a change can go unreported for up to a day. Compared with a report that trails by weeks, that usually leaves time to revert it before many URLs are recrawled. Reasons that depend on Google's judgement rather than a tag, such as "Crawled - currently not indexed" or a canonical Google chose for itself, still need Search Console.
If you want both views on a client site, you can start a 14-day free trial.
Frequently asked questions
- Should I use Request Indexing for every URL I fixed?
- No. Request Indexing in URL Inspection has a daily quota per property and is meant for a small number of important URLs. For a template fix affecting many pages, use Validate Fix on the reason in the Pages report and make sure the URLs are in an up-to-date XML sitemap.
- What does it mean when validation fails?
- A Failed status means Google still found the issue on at least one of the URLs it rechecked. Common causes are a fix applied to one template but not another, a CDN or page cache still serving the old HTML, or URLs outside the pattern you fixed. Correct the remaining URLs and start a new validation.
- Is "Indexed, though blocked by robots.txt" an error?
- It's a warning that Google indexed a URL from links without being allowed to crawl it, so the result usually shows no description. If you want the page in search, remove the Disallow rule. If you want it out, allow crawling and add noindex, because Google can't read a noindex on a blocked page.
- Why does the Pages report count differ from a site: search?
- The site: operator returns a rough estimate and isn't meant as a count of indexed pages. The Pages report is Google's own figure for the property, though it also lags behind the live site by several days.
- How much does Deltio cost?
- Starter covers up to 50 sites and 5,000 URLs for £24 / €29 / $31 a month, or £20 / €24 / $26 a month billed annually. Professional covers up to 200 sites for £49 / €59 / $64 a month (£41 / €49 / $53 billed annually), and Enterprise up to 500 sites for £119 / €139 / $149 a month (£99 / €116 / $124 billed annually). Every plan has a 14-day free trial.