Sitemap index files
A sitemap of sitemaps. Used when a site has more than 50,000 URLs or wants to split sitemaps by content type for cleaner reporting.
What it is
A sitemap index is an XML file that lists other sitemap files. Its root element is <sitemapindex> and each child <sitemap> has a <loc> pointing at a child sitemap, with an optional <lastmod>.
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-articles.xml</loc>
<lastmod>2026-05-29</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-products.xml</loc>
<lastmod>2026-05-28</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-images.xml</loc>
<lastmod>2026-05-29</lastmod>
</sitemap>
</sitemapindex>
Submit the index URL to Search Console. Crawlers will fetch the index, then each child sitemap, then each URL.
Why it matters
Two reasons to use an index:
- Scale. A single sitemap is capped at 50,000 URLs and 50 MB uncompressed. Once a site exceeds either, the only standard-compliant option is to split into multiple sitemaps and reference them from an index.
- Reporting. Search Console reports submitted-vs-indexed counts per sitemap. Splitting by content type (articles, products, categories, images) lets you see at a glance which section has indexing problems instead of one big number for the whole site.
A site with 500 URLs does not need an index. Adding one anyway is harmless but adds a layer of fetching that gains you nothing.
How to implement
Split sitemaps by something meaningful:
- By content type —
sitemap-posts.xml,sitemap-pages.xml,sitemap-products.xml. - By language or region —
sitemap-en.xml,sitemap-nl.xml. Pairs well withhreflang. - By date —
sitemap-2025.xml,sitemap-2026.xmlfor archive-heavy sites.
Rules:
- Up to 50,000 child sitemaps per index, and the index itself is capped at 50 MB uncompressed.
- Every child sitemap must be on the same host as the index, with limited cross-host exceptions.
<lastmod>on the index entry should reflect the newest<lastmod>inside the child sitemap. This lets crawlers skip refetching unchanged sections.- Reference the index from
robots.txtand submit only the index in Search Console — do not also submit each child individually.
Common mistakes
- Pointing the index at child sitemaps on a different host.
- Stale
<lastmod>on the index while the child sitemap has fresh URLs. - Splitting arbitrarily (sitemap-1, sitemap-2) so the reporting buckets are meaningless.
- Submitting both the index and each child sitemap, causing duplicate reports.
Verification
- Fetch the index URL. Confirm the root element is
<sitemapindex>and each child resolves to a valid sitemap. - Validate against the sitemaps.org XSD.
- In Search Console, confirm the index shows the expected number of child sitemaps and their per-sitemap indexing stats.
Related topics
Sources & further reading
- Sitemaps XML format — sitemap index files — sitemaps.org
- Manage sitemaps for large sites — Google Search Central