Fix Pages Missing From Your XML Sitemap
Your audit found live, indexable pages that are not listed in your XML sitemap. A sitemap is the address book crawlers read to discover URLs, so missing entries slow or block discovery, especially for pages that also lack internal links. Fix it by identifying which URLs are absent, confirming they should be indexable, getting them into a sitemap that regenerates automatically, and resubmitting in Google Search Console.
What this means
This issue flags URLs that return a normal 200 response and are indexable, but do not appear in any of your XML sitemaps. The related sitemap_orphan_pages code is a sharper version of the same problem: pages missing from the sitemap that also have no internal links pointing to them, so a crawler has almost no way to find them.
An XML sitemap is a machine-readable list of the URLs you want search engines to know about:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/services/technical-seo</loc>
<lastmod>2026-07-01</lastmod>
</url>
</urlset>Google treats the sitemap as a discovery hint, not a guarantee of indexing. But a page that is neither in the sitemap nor linked internally can sit undiscovered for a long time. Seeing "Indexed, not submitted in sitemap" in Search Console is the same gap viewed from Google's side: it found the URL some other way, but your sitemap omits it.
Some pages are missing on purpose. Thank-you pages, filtered or faceted URLs, internal search results, and staging URLs are often kept out deliberately. Treat this warning as a prompt to review, not proof that every flagged URL belongs in the sitemap.
Why it matters
Crawlers discover URLs two main ways: by following links and by reading your sitemap. When an important page is in neither, discovery relies on luck, such as an external backlink or a deep crawl that happens to reach it. That delays indexing, and for genuinely orphaned pages it can prevent indexing entirely. Fresh content that could rank stays invisible.
A complete sitemap also improves crawl efficiency. It signals which URLs you consider worth attention, and the lastmod value hints at what changed since the last visit, so crawl budget goes toward recrawling updated pages instead of rediscovering old ones. On large sites this can be the difference between new pages being found in hours versus weeks.
The AI angle matters here too. Assistants like ChatGPT, Perplexity, and Google AI Overviews surface content their underlying crawlers have already discovered, and many of those crawlers lean on the same discovery signals as classic search, with some fetching your sitemap directly to enumerate URLs. A page no crawler can find is a page no answer engine can cite. If you are building content to be quoted by AI answers, getting it into the sitemap is the baseline for it being seen at all.
How to fix it
- 1
Confirm which URLs are actually missing
Compare your live, indexable URLs against what your sitemap contains. Open yourdomain.com/sitemap.xml (or sitemap_index.xml) and cross-reference it with a full crawl of your site. In Google Search Console, the Pages report filter 'Indexed, not submitted in sitemap' is a fast shortlist of URLs Google knows about but your sitemap omits. Build a clean list of the pages that genuinely should be discoverable before you change anything.
- 2
Decide whether each flagged page belongs in the sitemap
Only canonical, indexable, 200-status pages you want ranked should be listed. Exclude URLs that are noindexed, canonicalized to another page, redirected, or blocked by robots.txt, because listing them sends mixed signals. Thank-you pages, cart and checkout URLs, tag or filter permutations, and login pages usually stay out. Keep the sitemap to URLs you would be happy to see rank.
- 3
Add the missing pages to an auto-generating sitemap
The durable fix is a sitemap that regenerates whenever you publish or update content, so this does not recur. On most CMS platforms this is a setting, not a manual file edit. If you maintain a static or custom sitemap, add each missing URL as its own <url> entry with an accurate <loc> and <lastmod>. Split into multiple sitemaps referenced from a sitemap index once you approach 50,000 URLs or 50MB uncompressed per file.
- 4
Fix the root cause for orphan pages
If the audit flagged sitemap_orphan_pages, adding the URL to the sitemap is only half the job. Add at least one contextual internal link from a relevant, already-indexed page so both crawlers and users can reach it through normal navigation. Sitemap inclusion aids discovery, but internal links also pass authority and context that the sitemap alone does not. A page that lives only in the sitemap is fragile.
- 5
Reference the sitemap in robots.txt and resubmit
Add a
Sitemap: https://yourdomain.com/sitemap.xmlline to robots.txt so every crawler, including AI crawlers, can find it. Then submit or resubmit the sitemap under Sitemaps in Google Search Console, and in Bing Webmaster Tools. Google recrawls sitemaps automatically after the first submission, so you do not need to resubmit on every change, but a manual resubmit after a large update speeds up discovery. - 6
Verify the pages get picked up
Wait a few days, then check the sitemap's status in Search Console (submitted vs. discovered counts) and run URL Inspection on a couple of the previously missing pages to confirm they are now found. Recheck the audit to confirm the warning clears. If URLs still show as excluded, inspect them for a stray noindex, canonical, or robots block keeping them out.
Example
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/blog/xml-sitemaps-explained</loc>
<lastmod>2026-07-01</lastmod>
</url>
<url>
<loc>https://example.com/services/technical-seo</loc>
<lastmod>2026-06-18</lastmod>
</url>
</urlset>
<!-- In robots.txt, point crawlers to it: -->
<!-- Sitemap: https://example.com/sitemap.xml -->A minimal, valid sitemap. Each indexable URL you want discovered needs its own <url> block with an accurate <loc> and, ideally, a <lastmod> reflecting the last real content change.
Platform-specific steps
Both plugins generate a sitemap automatically at /sitemap_index.xml. A page is usually missing because its post type is set to noindex or excluded. In Yoast, open the content-type settings and make sure the relevant post type is set to show in search results, which keeps it in the sitemap. In Rank Math, go to Sitemap Settings, confirm the post type has 'Include in Sitemap' enabled, and check the Exclude Posts field for stray IDs. Per page, verify the SEO meta box isn't set to noindex.
Shopify auto-generates /sitemap.xml and you can't edit it directly. A page is excluded when it carries the seo.hidden metafield (which also adds a noindex tag), or when a product's status is Draft or Archived rather than Active. To restore a URL, remove the seo.hidden metafield (or set it to false) and set the product or page to Active. It returns to the sitemap on the next regeneration.
Wix builds and updates /sitemap.xml automatically. Published pages are included by default, even ones hidden from the menu, unless you've turned on 'Hide this page from search results' in the page's SEO settings. If a page is missing, open its SEO Basics panel, make sure it's set to be indexed, then republish and confirm at yoursite.com/sitemap.xml.
Squarespace generates /sitemap.xml automatically and you can't edit it manually. Pages drop out when they're password-protected or when 'Hide from Search Results' is enabled in the page's SEO settings (which adds noindex). To restore a page, remove the password or turn that setting off. Tag and category collection pages are often excluded by design.
Generate the sitemap programmatically from your route or content data so new pages are added automatically. In the Next.js App Router, export the URL list from app/sitemap.ts; on other stacks, build it in your CI or build step. Emit a <loc> and a real <lastmod> for each URL, split into multiple files under a sitemap index past ~50,000 URLs, and add a Sitemap: line to robots.txt pointing to it.
Cloudflare doesn't create sitemaps, but caching or a Worker can serve a stale one. If you regenerated your sitemap but crawlers still see old contents, purge the cache for the sitemap URL or add a cache rule that bypasses /sitemap*.xml. Confirm the file served at the edge contains the previously missing URLs before resubmitting in Search Console.
Frequently asked
No. A sitemap is a discovery hint, not an indexing command. It helps Google find the URL faster, but Google still decides whether to index based on quality, canonicalization, duplication, and crawl budget. To improve the odds, pair sitemap inclusion with strong internal links and genuinely useful, unique content.
A page missing from the sitemap simply isn't listed in your XML sitemap but may still be reachable through internal links. An orphan page is worse: it's missing from the sitemap and has no internal links pointing to it, so crawlers have almost no path to it. Orphan pages need both a sitemap entry and at least one internal link to fix properly.
Usually it's a signal, not an emergency. It means Google indexed a URL through some route other than your sitemap. If the page is important, add it to your sitemap for cleaner discovery and crawl signals. If it's a page you never wanted indexed, that's your cue to noindex it or fix the internal links exposing it.
No. Only include canonical, indexable, 200-status URLs you want to rank. Listing noindexed pages, non-canonical duplicates, redirected URLs, or blocked pages sends contradictory signals and wastes crawl budget. Keep the sitemap as a clean list of your best indexable content.
Check the Sitemaps report in Search Console for the last-read date and the discovered-URLs count. If that count is far lower than your live page count, pages are missing. Also confirm the sitemap URL is listed in robots.txt so every crawler, including AI crawlers like GPTBot and PerplexityBot, can find it.
Does your site have this issue?
Run a free, AI-powered audit and we’ll flag this and 150+ other checks in about a minute. No signup.