Why Is My XML Sitemap Not Being Indexed?
You submitted your sitemap in Google Search Console, it says "Success," and yet weeks later half your pages are still missing from search. That gap between "sitemap processed" and "pages indexed" is one of the most misread signals in technical SEO. A sitemap is a hint, not a command — Google decides what to crawl and index independently. Here's how to figure out which part of the chain is actually broken.
First: separate "sitemap processed" from "pages indexed"
When Search Console reports your sitemap as successful, it means Google downloaded and parsed the file. It does not mean Google accepted every URL in it. Those are two different systems.
Open the sitemap report, then open the Pages report (formerly "Coverage"). Compare the counts. If your sitemap lists 400 URLs and the Pages report shows 120 indexed, the problem is not the sitemap file — it's what happens to those URLs after discovery.
Common statuses you'll see and what they actually mean:
- Discovered – currently not indexed — Google knows the URL exists but hasn't crawled it yet. Usually a crawl-budget or priority signal.
- Crawled – currently not indexed — Google crawled it and chose not to index it. This is a quality or duplication signal, not a technical one.
- Excluded by 'noindex' tag — something on the page is actively blocking it.
- Duplicate, Google chose different canonical — another URL is winning instead.
- Blocked by robots.txt — your own file is stopping the crawl.
Each of these has a different fix. Diagnose the status before you touch anything.
Check the sitemap file itself for silent errors
A sitemap can parse successfully and still be wrong. Run through this list:
- Are the URLs absolute and canonical? Every
<loc>should be the fullhttps://version of the URL you actually want indexed — not a redirecting variant, not an http version, not a trailing-slash mismatch. - Are you listing redirects or 404s? If a URL in the sitemap 301s to another page, you're telling Google two conflicting things. List the destination, not the redirect.
- Is it under the size limits? A single sitemap file is capped at 50,000 URLs and 50MB uncompressed. Past that, you need a sitemap index file that points to multiple child sitemaps.
- Is it valid XML? A stray unescaped
&in a URL will break parsing. Validate the raw file. - Does robots.txt reference it? Add a
Sitemap:line with the full URL so crawlers find it even without a manual submission.
If any of these are off, fix them, resubmit, and give it time. Don't resubmit daily — it doesn't speed anything up and just creates noise.
Confirm the pages aren't blocked or noindexed
The single most common cause of "my sitemap isn't being indexed" is that the pages themselves are telling Google not to index them. Check for:
- A
<meta name="robots" content="noindex">tag left over from staging. - An
X-Robots-Tag: noindexHTTP header — often set at the server or CDN level and invisible in the HTML. - A
Disallowrule in robots.txt covering the path. - A canonical tag pointing to a different URL, which tells Google to index that one instead.
Use the URL Inspection tool on one affected page. It shows you the rendered HTML, the canonical Google selected, and whether indexing is allowed. If it says "URL is not on Google" with a reason, that reason is your answer.
When the problem is quality, not plumbing
If the status is Crawled – currently not indexed, no technical fix will help. Google looked at the page and decided it wasn't worth adding to the index. That usually means one of these:
- Thin or near-duplicate content. Pages that differ only by a filter, sort order, or session parameter are prime candidates. Consolidate them or block them from crawling.
- Low perceived value. A page with almost no unique text, no internal links pointing to it, and no external references looks disposable.
- Site-wide trust is low. A brand-new domain with no history gets crawled and indexed slowly. This is normal and resolves with time and real inbound links.
For near-duplicate URLs, the fix is usually a canonical tag or a robots.txt disallow — but be careful: blocking a URL you also want indexed is a contradiction. Decide which version should exist, then make everything else point to it.
Give discovery a helping hand
If pages are stuck at Discovered – currently not indexed, you need to make them easier to find:
- Link to them internally. A page linked from your navigation or a relevant article gets crawled far faster than one orphaned in the sitemap.
- Keep your sitemap focused. Listing thousands of low-value URLs dilutes the signal. Include only canonical, indexable pages you genuinely want in search.
- Improve site speed and stability. If your server times out or returns 5xx errors during crawls, Google backs off. Check the Crawl Stats report for error spikes.
- Reduce crawl waste. Faceted navigation, internal search results, and paginated archives can consume most of your crawl budget if left unmanaged.
A quick diagnostic order
When you're staring at missing pages, work in this sequence:
- Confirm the page returns a 200 status and isn't noindexed.
- Confirm the URL in the sitemap matches the canonical URL exactly.
- Confirm robots.txt isn't blocking the path.
- Check the Pages report status to see whether Google crawled it.
- If crawled but not indexed, look at content quality and duplication.
- If discovered but not crawled, add internal links and improve site health.
Running a technical audit across your whole site will surface most of these at once rather than one page at a time — run a free audit to see crawlability, indexation, and speed issues side by side.
What not to do
Don't resubmit the sitemap repeatedly, don't request indexing for hundreds of URLs by hand, and don't assume a green checkmark means success. The sitemap is one input among many. Indexing is a decision Google makes per URL, based on crawlability, canonicalization, and whether the page deserves to exist in search at all. Fix the underlying signal, and the index catches up on its own.
For more diagnostics like this, browse the guides library.
More guides · Compare audit tools · Run a free website audit