Skip to main content

Why Pages in Your Sitemap Still Aren't Getting Indexed by Google

Wooden library card catalog drawers representing an indexed reference system
Try the Tool
XML Sitemap Generator
Generate valid XML sitemaps with URL validation and smart splitting

You built the sitemap, submitted it in Search Console, and got the green checkmark that says it was read successfully. Two weeks later you check the coverage report and half your URLs are still sitting in "Discovered, currently not indexed" or worse, they never show up at all. Nothing in the submission process warned you this would happen.

This confuses a lot of site owners because the sitemap process feels like it should be transactional: you list a URL, Google reads the list, the page gets indexed. That is not how any of this works, and the gap between "in the sitemap" and "indexed" is where a surprising number of otherwise solid sites lose traffic they should be getting.

This guide walks through the actual reasons Google skips pages that are sitting right there in a valid sitemap, and how to figure out which one applies to you instead of guessing.

What a Sitemap Actually Promises

A sitemap is a discovery hint, not an instruction. It tells Google's crawler "these URLs exist and here is roughly how important I think they are relative to each other," using the optional priority and change frequency fields. Google has said publicly that it treats those fields as weak signals at best, and in practice mostly ignores them.

What the sitemap does not do is override anything else on the page or in your site's configuration. If a URL is in the sitemap but also carries a noindex tag, blocked by robots.txt, or buried under a canonical pointing elsewhere, the sitemap entry loses every time. Google reads the list, then makes its own independent decision about each URL based on signals that have nothing to do with whether you listed it.

Treat the sitemap as a way to make sure Google knows a page exists, especially on large or poorly linked sites. It is not a way to force indexing on a page that fails other checks.

Noindex Tags That Contradict the Sitemap

The single most common cause of this gap is a page carrying a noindex meta tag or X-Robots-Tag header while still being listed in the sitemap. This happens constantly on sites built with a CMS where a staging template, a plugin default, or an old redesign left noindex applied to pages nobody remembers to check.

Google explicitly treats noindex as an instruction, not a suggestion, and it wins over sitemap inclusion every time. Google Search Console's URL Inspection tool will show you the rendered indexing directive for any specific URL, which is the fastest way to catch this without manually viewing source on every page.

Check templated sections first: paginated archives, filtered category views, and auto-generated tag pages are the usual suspects, since noindex often gets applied at the template level rather than per page.

Server room with organized network cables and rack hardware Photo by Brett Sayles on Pexels

Canonical Tags Pointing Somewhere Else

A page can be perfectly indexable on its own and still get skipped because its canonical tag names a different URL as the authoritative version. Google generally respects the canonical signal, so if page A's sitemap entry sits next to a canonical tag pointing to page B, Google indexes B and treats A as a duplicate.

This shows up most often after a site migration, an HTTPS switch, or a URL structure change where old canonical tags never got updated to match the new sitemap. It also shows up when a CMS auto-generates a canonical for a paginated or parameterized version of a page and points it at page one instead of the specific URL you actually wanted indexed.

Cross-check a sample of "not indexed" URLs against their own canonical tags before assuming anything else is wrong. This single mismatch explains a large share of index-gap tickets that otherwise look mysterious.

Thin or Duplicate Content Google Chooses to Skip

Google does not index every page it can technically access. Pages with very little unique text, content copied from elsewhere on the same site, or content that overlaps heavily with a page that already ranks get filtered out during the indexing decision even with no noindex tag anywhere.

This is common on sites with near-identical location pages, auto-generated product variants that differ only by size or color, or thin category pages that just list links with no descriptive text of their own. The sitemap will happily list all of them since the sitemap generator has no opinion about content quality, but the indexing pipeline does.

The fix here is usually consolidation rather than more sitemap tweaking: merge near-duplicate pages, add genuinely distinct content to templated pages, or use canonical tags to point thin variants at the strongest version instead of asking Google to index all of them separately.

Crawl Budget and Low-Priority URLs

Large sites run into a different problem: Google allocates a finite amount of crawling attention to each site, and low-value URLs compete with high-value ones for that budget. If your sitemap lists tens of thousands of URLs and a meaningful share of them are low-quality or rarely updated, Google's crawler may simply never get around to some of them.

Crawl budget is mostly a large-site concern, not something a small blog with a few hundred pages needs to worry about. Sites north of roughly 10,000 indexable URLs, or sites that publish and update pages very frequently, are the ones where this actually matters in practice.

If you are in that range, splitting your sitemap into logical sitemap index files by section and prioritizing high-value URLs at the top helps Google's crawler spend its budget more efficiently instead of working through the list in an arbitrary order.

Open road with directional highway signs at an intersection Photo by David McElwee on Pexels

Server Errors and Redirect Chains

A sitemap entry that returns a 5xx server error, a soft 404, or bounces through two or three redirects before landing on a final URL will get deprioritized or dropped outright. Google's crawler treats a URL it cannot reach cleanly the same way a person would: it stops trying after enough failed attempts.

Redirect chains are sneaky because the page still "works" when you click the link manually, since browsers follow redirects transparently. The Search Console coverage report will flag these as "Page with redirect" rather than counting them toward your indexed total, which is easy to miss if you are only glancing at the summary number.

Run your sitemap URLs through a bulk status checker periodically, especially after a site migration, a plugin update, or a hosting change. Fixing a chain down to a single direct hop is almost always enough to get the URL reconsidered on the next crawl.

"The sitemap tells Google where to look. It never tells Google what to think about what it finds there. Every indexing problem I have ever traced back to a client's site started with someone treating those as the same thing." - Dennis Traina, founder of 137Foundry

Orphan Pages That Only Exist in the Sitemap

A page with zero internal links pointing to it, sitting in the sitemap as its only path of discovery, sends a quiet signal that the page is not important enough for your own site to link to. Google notices this pattern and tends to deprioritize orphan pages relative to pages that are woven into your actual site structure.

This happens after content pruning projects where old pages get unlinked from navigation but never removed from the sitemap, or on large sites where new pages get auto-added to the sitemap by the CMS before anyone links to them from a category page or related-content block.

Add at least one contextual internal link to every page you actually want indexed, ideally from a page Google already crawls regularly. A sitemap entry with no supporting internal link is a much weaker signal than a sitemap entry backed by a real link from your own tools directory or a relevant category page.

Diagnosing the Actual Cause on Your Site

Start with the Search Console coverage report and sort by status rather than guessing page by page. "Discovered, currently not indexed" usually points to crawl budget or perceived low value. "Crawled, currently not indexed" usually points to a content quality decision. "Excluded by noindex tag" and "Alternate page with proper canonical tag" are self-explanatory once you see them labeled.

Once you have a status, use the URL Inspection tool on a handful of representative URLs in that bucket to confirm the specific mechanism before you change anything. Guessing at a fix without confirming the cause wastes time and sometimes makes the problem worse, like adding more internal links to a page that was actually being filtered for thin content.

Keep a simple log of what you checked and what you found for each URL bucket. Sites that recheck the same handful of "not indexed" pages every few weeks without writing down the prior diagnosis tend to repeat the same dead-end fixes, since it is easy to forget you already ruled out a noindex tag three weeks ago and start looking there again.

Open ledger book with index pages and handwritten entries Photo by scott neil on Pexels

Building a Sitemap Google Actually Trusts

None of this means sitemaps are pointless, it means a sitemap only works well when the pages inside it are already indexable on every other dimension. Once you have cleared noindex conflicts, canonical mismatches, thin content, and broken redirects, the sitemap becomes a genuinely useful discovery accelerator, especially for new pages or pages buried deep in your site structure.

The XML Sitemap Generator handles the structural side automatically: valid XML formatting, duplicate detection, and automatic splitting into a sitemap index once a single file gets too large for one submission. That takes the syntax errors off the table so you can focus on the content and linking issues that actually drive indexing decisions.

Keep the sitemap itself lean. A sitemap that only lists URLs you actually want indexed, kept current as pages get added or removed, is far more useful to Google than one that mirrors every URL your CMS happens to generate. For more on how the underlying protocol is defined, the Sitemaps.org specification and Google Search Central's documentation are the two references worth bookmarking.

If you manage a second engine's traffic as well, Bing Webmaster Tools reads the same sitemap format and offers its own version of the URL inspection workflow described above. The underlying diagnosis process is nearly identical across search engines, since the standard itself is shared rather than proprietary to any one of them, a detail documented on the protocol's own Wikipedia entry if you want the format history.

Run the checks in this guide against a sample of your "not indexed" URLs before you touch the sitemap again. In most cases the sitemap was never the problem. It was just the first place anyone looked. For more walkthroughs like this one, the EvvyTools blog covers the rest of the technical SEO stack, and the EvvyTools homepage links out to every free tool mentioned here plus dozens more.

Honey-Do Tracker — home maintenance for landlords and property managers
Share: X Facebook LinkedIn
Honey-Do Tracker — home maintenance for landlords and property managers