Sitemap index files

How to split a large site across many sitemaps and tie them together with a single index file.

A single sitemap can hold at most 50,000 URLs. Larger sites split their URLs across several sitemap files and tie them together with a sitemap index — a sitemap of sitemaps. You submit the one index file, and search engines fan out to fetch the rest.

What an index looks like

An index uses <sitemapindex> instead of <urlset>, and each entry points at a child sitemap rather than a page:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://example.com/sitemap-pages.xml</loc>
    <lastmod>2026-06-21</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-products.xml</loc>
    <lastmod>2026-06-20</lastmod>
  </sitemap>
</sitemapindex>

How to split your URLs

  • By section — e.g. one sitemap for blog posts, one for products, one for static pages. This makes it easy to see which area has indexing problems.
  • By count — simply chunk every 50,000 URLs into the next file.
  • By freshness — keep frequently-changing URLs in their own file so its lastmod updates often.

Limits apply to the index too

A sitemap index can list up to 50,000 child sitemaps and must itself stay under the 50 MB ceiling. If you ever exceed that, you can nest — though almost no site is large enough to need it.