· 4 min read
How to Split an Oversized Sitemap
Heshan Fernando
Co-founder & COO
The sitemap has 128,400 URLs in one file. Search console reports far fewer discovered, and nobody can work out why.
The limit is 50,000 URLs per file. Everything past that is not being read, and nothing produces an error message saying so.
The limits, and what happens past them
The sitemaps protocol specifies two:
50,000 URLs per sitemap file.
50 MB uncompressed per file, whichever comes first.
Exceed either and the file may be rejected entirely or truncated at the limit. Truncation is the worse outcome because it looks like success — the sitemap is accepted, some URLs are discovered, and the ones past the cut-off are silently absent.
Gzip compression is supported and reduces transfer size. It does not raise the limits, which apply to the uncompressed content.
A sitemap index is the answer
An index is a file listing sitemap files rather than URLs. You submit the index, and search engines fetch each sitemap it references.
The index itself is limited to 50,000 sitemaps, which combined with 50,000 URLs each gives an effective ceiling of 2.5 billion URLs. Nobody reaches that.
Practically:
- Split URLs across multiple sitemap files, each under both limits
- Create an index listing all of them
- Submit the index, not the individual files
- Reference the index from robots.txt
Referencing the index from robots.txt is worth doing regardless of submission, because it means any crawler that reads robots.txt finds it.
| File | Contains | Limit |
|---|---|---|
| Sitemap | URLs | 50,000 / 50 MB |
| Sitemap index | Sitemap files | 50,000 |
| robots.txt entry | Index location | Points to the index |
Split by section, not arbitrarily
The splitting rule that matters, and it costs nothing to get right.
Splitting arbitrarily — the first 50,000 URLs, then the next — produces files with no meaning. When a coverage report shows that one sitemap has poor indexing, it tells you nothing, because that file is an arbitrary slice of the site.
Splitting by section — products, articles, categories, one per file — makes the report diagnostic. Poor indexing in the products sitemap and good indexing in the articles sitemap is a finding you can act on.
The same applies to sizing. Keeping sections in separate files even when they would fit together preserves that diagnostic value.
Lastmod is worth getting right
A sitemap can include a last-modified date per URL, and it is the field most often either omitted or wrong.
An accurate lastmod helps search engines prioritise recrawling of genuinely changed pages. A lastmod set to the build date for every URL — which many generators do by default — tells them everything changed, which means nothing changed.
Search engines treat lastmod as a hint and reportedly discount it from sites where it is unreliable. Setting it accurately or not at all is better than setting it wrongly.
Keep the sitemap honest
What you leave out matters as much as what you include.
A sitemap should list canonical, indexable URLs that return 200. Including anything else wastes crawl budget and reduces how much the sitemap is trusted:
Redirected URLs send crawlers on an extra hop to reach a page that should have been listed directly.
Noindexed pages send a contradictory signal — the sitemap says crawl this, the page says do not index it.
Non-canonical variants compete with the version you want indexed.
404s, which usually mean the sitemap is generated from a stale source.
A smaller sitemap of clean URLs outperforms a larger one padded with everything the CMS knows about.
Common mistakes to avoid
- One oversized file, silently truncated.
- Submitting individual sitemaps rather than the index.
- Splitting arbitrarily, which makes coverage reports uninterpretable.
- Setting lastmod to the build date for every URL.
- Including non-canonical, redirected or noindexed URLs, which wastes crawl budget and reduces trust in the sitemap.
How to do it with Sitemap XML Splitter
The Sitemap XML Splitter splits and generates the index.
- Paste the oversized sitemap or a URL list.
- Split below both limits, by section where possible.
- Generate the index file.
- Submit the index and reference it from robots.txt.
The sitemaps protocol defines the limits and the index format. Other SEO tools are in the tools directory.
Frequently asked questions
What are the sitemap limits?
50,000 URLs and 50 MB uncompressed per file. Exceeding either means the file may be rejected or truncated, and truncation is silent.
What is a sitemap index?
A file listing your sitemap files rather than URLs. You submit the index and search engines fetch the sitemaps it references, which is how large sites stay within the limits.
How should a large site split its sitemaps?
By section — products, articles, categories — rather than arbitrarily. Section-based files make coverage reports diagnostic, which an arbitrary slice never is.
Final thought
Split by section even when you do not have to. The coverage report is the only feedback you get about indexing, and arbitrary files make it unreadable.