Stop guessing your index count. Open the Index Coverage report, apply the right filters, and interpret what the numbers actually mean. This guide covers the exact workflow, common failures, and how to act on the data.
The Index Coverage report in Google Search Console is the authoritative source to check indexed pages. Not third-party scrapers. Not a site: search. Google's own data, pulled directly from the index. In practice, when you log in and navigate to the report, you see four buckets: Error, Valid with warnings, Valid, Excluded. Most people only look at 'Valid'. That is a mistake. The real insight lives in 'Excluded' and 'Error'. A site we audited had 3,400 'Valid' pages but 12,000 'Excluded' — mostly from a misconfigured robots.txt rule blocking entire subdirectories. The report caught it. You need to read all four buckets every week.
Select the correct property (domain or URL prefix). Use the property that matches your canonical URL structure.
Found in the left sidebar. The default view shows the last 3 months. Change to 'Last 28 days' for actionable data.
This is your indexed page count. Click into it to see the full list of indexed URLs. Export via the download button.
Look for 'Crawled - currently not indexed' and 'Discovered - currently not indexed'. These often indicate crawl budget issues.
Use the 'Pages' filter to find specific sections. Submit sitemaps. Request indexing for priority URLs.
| Bucket | What It Means | Typical Count Range | Hidden Risk / Failure Mode |
|---|---|---|---|
| Error Server error, redirect error, blocked by robots.txt, 404 | Pages Google tried to index but failed. Fix these first. | 0-5% of total submitted | A single 404 page with high backlinks can waste crawl budget. Check the 'Submitted URL blocked by robots.txt' error — a misplaced Disallow directive can remove entire site sections from index. |
| Valid with warnings Indexed but with issues like missing meta description or mobile usability problem | Pages are in index but not performing optimally. | 2-10% of indexed pages | Warnings compound over time. A page with 'Indexed, though blocked by robots.txt' warning means the page is live but Google is confused. Fix the robots.txt inconsistency quickly. |
| Valid Fully indexed, no issues reported | Your core indexed inventory. Target count here. | 60-85% of submitted URLs | A high 'Valid' count can mask thin content. Google may index a page but never rank it. Cross-check with Search Analytics: if a URL is 'Valid' but gets zero impressions, it is effectively dead. |
| Excluded Noindex, canonical to different page, duplicate, crawled but not indexed | Pages Google knows about but chose not to index. | 10-40% of total known URLs | The largest bucket by volume. 'Crawled - currently not indexed' often indicates low perceived value. 'Duplicate without canonical' means you have a canonicalization problem. 'Excluded by noindex tag' is intentional but check you didn't noindex the wrong pages. |
Confirm you are viewing the correct Search Console property (domain vs. URL prefix).
Check the 'Error' bucket first. Request indexing after fixing each error type.
Export the 'Valid' URLs list and compare it to your sitemap URLs. Are all important pages present?
Inspect the 'Excluded' bucket for 'Crawled - currently not indexed' pages. These often have thin content or poor internal linking.
Use the 'Pages' filter to segment by directory (e.g., /blog/, /product/). Spot patterns.
Cross-check index count with Google Analytics organic landing pages. Any indexed page with zero sessions is a candidate for improvement or removal.
Scenario: An e-commerce site with 15,000 product URLs submitted via sitemap. The Index Coverage report shows:
Drilling into 'Excluded' reveals 3,800 URLs under 'Crawled - currently not indexed' and 1,200 under 'Discovered - currently not indexed'. The product pages are being crawled but not indexed, likely because they have thin descriptions (50 words) and no unique reviews. The fix: improve content depth on the 3,800 crawled-but-not-indexed pages to at least 300 words of unique product copy, then submit them via the URL Inspection tool. For the 1,200 discovered-but-not-indexed URLs, improve internal linking from category pages to those products. After 3 weeks, the 'Valid' count rose to 12,100 (81%). The key was not requesting indexing blindly — it was fixing the underlying content quality issues first.
A common situation we see: agencies check indexed pages for a client, report 5,000 valid URLs, and everyone is happy. But the client has 8,000 blog posts. Where did the other 3,000 go? They are in 'Excluded' because the blog section was accidentally tagged with a noindex meta tag during a CMS migration. The Index Coverage report shows 'Excluded by noindex tag' — but only if you click into that bucket. Another edge: duplicate listings from HTTP and HTTPS versions of the same site in separate properties. If you have both properties verified, the index count will differ because Google normalizes to the canonical. Use the domain property to avoid split data. Also: empty results can happen if you just submitted a new sitemap — wait 48 hours. If the report shows zero URLs, check that your sitemap is accessible and not blocked by the robots.txt rule Disallow: /.
For most content sites, aim for 80-95% of submitted URLs to appear as 'Valid' within 2-4 weeks of sitemap submission. If you see less than 60%, you have a blocking issue or a quality problem. For large sites (100k+ URLs), expect a longer ramp — Google may take months to crawl everything. If your 'Excluded' bucket is larger than 'Valid', that is a red flag. Run the Google Index Update Detection Checklist to rule out an algorithm change affecting your indexation. Also check for 'soft 404' errors: pages that return a 200 status but show 'page not found' content. Google treats these as errors. Use the 'Pages' filter in the Coverage report to find them by searching for 'soft 404' in the 'Why pages aren't indexed' dropdown.
For a new site, first verify ownership in Search Console. Submit your sitemap via the Sitemaps report. Then go to Index > Coverage. It may show 'No data' for up to 48 hours. After Google crawls, you will see a low 'Valid' count. Wait 2-4 weeks for the index to stabilize. Use the URL Inspection tool to check specific pages individually.
This is common for large sites with many thin pages or duplicate content. Click into 'Excluded' to see the top reasons: 'Crawled - currently not indexed' (low content value), 'Duplicate without canonical' (canonicalization missing), or 'Excluded by noindex tag'. Audit the excluded URLs by content quality and fix the root cause before requesting indexing.
Use the Search Console API (v1) with the <code>urlInspection.index</code> endpoint for single URLs, or the <code>sitemaps.list</code> method to get indexed counts per sitemap. For bulk indexed page lists, export the Coverage report data via the API using the <code>searchanalytics.query</code> method filtered by page. Rate limits apply: 200 queries per minute per property.
Google crawled the URL, found it, but decided not to add it to the index. Common reasons: thin content, low authority, duplicate to a higher-quality page, or the page has no internal links from indexed pages. To fix, improve the page content, add unique value, and ensure the page is linked from at least 2-3 other indexed pages. Then use URL Inspection to request indexing.
In the Index Coverage report, click the 'Pages' filter (top of the report). Select 'Page contains' and enter the subdirectory path, e.g., '/blog/'. The report will filter to show coverage data only for URLs containing that string. You can combine filters: e.g., 'Excluded' status + '/product/' to see all excluded product pages.
Index Coverage gives you a bulk overview: total counts for all known URLs in four buckets. URL Inspection checks one URL at a time and shows detailed status including last crawl date, indexing decision, and any detected issues. Use Coverage for trends and anomalies; use URL Inspection to diagnose specific pages that appear missing from the index.
Sudden drops often indicate a technical issue: a new robots.txt disallow, a noindex tag accidentally added site-wide, a server error causing Google to timeout, or a sitemap removal. Also check for algorithm updates using the Google Index Update Detection Checklist. Compare the drop date to your deployment logs. If the drop happened after a CMS update, roll back and test.
Each domain (or URL prefix) is a separate property in Search Console. You must check each property individually. If you have duplicate content across domains, set up canonical URLs and ensure each domain's sitemap only includes URLs from that domain. The Index Coverage report for one property will not show data from another property.
Submitted URLs are pages you included in your sitemap. Indexed URLs are pages Google has actually added to its index. A big gap means Google found many submitted URLs but chose not to index them — often due to quality or duplication issues. The Index Coverage report shows both: the 'Valid' count represents indexed pages; the 'Excluded' bucket shows submitted pages that were not indexed.
Quick calculator. Put in the expected monthly value of a page or link batch and the natural waiting time.