On one of my sites, a single sitemap had grown to several thousand URLs. Search Console said “Success,” so I assumed everything was fine. Then I noticed new articles were taking days longer to get indexed than they used to — and I had no idea which sections of the site Google was ignoring.
Splitting that sitemap into smaller, logically grouped files didn’t magically make Google crawl faster. What it did was give me visibility, cleaner signals and fresher files — and those three things together are what actually sped up indexing.
This guide explains the real reasons sitemap splitting helps, the technical limits you need to respect, how it connects to crawl budget, and exactly how to structure split sitemaps on WordPress. If you’re new to sitemaps, our smart XML sitemaps guide covers the basics first.
Let’s be precise, because a lot of articles overpromise here. Google doesn’t crawl a site faster just because it has more sitemap files. A sitemap is a hint about which URLs exist and when they changed — not a command.
But splitting sitemaps the right way indirectly speeds up indexing in four practical ways:
lastmod dates, so Google can spot new URLs quickly.For large sites, Google itself recommends breaking sitemaps up and using a sitemap index. Its guide on managing large sitemaps is the official reference.
The sitemap protocol sets hard limits. Exceed them and part of your sitemap may be ignored.
| Limit | Value | What Happens If You Exceed It |
|---|---|---|
| URLs per sitemap file | 50,000 | Extra URLs may not be processed |
| Uncompressed file size | 50 MB | File may fail to process (the limit applies even if you gzip it) |
| Sitemaps per sitemap index | 50,000 | Use multiple index files |
| Sitemap index files per site in Search Console | Up to 500 | Combine or restructure indexes |
These limits come from the sitemaps.org protocol, which Google, Bing and other search engines follow.
Just because a file can hold 50,000 URLs doesn’t mean it should. Most WordPress SEO plugins already split sitemaps into much smaller pages by default — Rank Math, for example, uses 200 links per sitemap file by default, and WordPress core sitemaps use up to 2,000. I keep most sitemaps between 200 and 1,000 URLs because:
Crawl budget is the number of URLs Googlebot is able and willing to crawl on your site in a given period. Google explains it in detail in its guide to managing crawl budget for large sites. It depends on two things:
Here’s the honest truth for most site owners: if your site has fewer than a few thousand pages and you publish normally, crawl budget is rarely your bottleneck. Content quality and internal linking matter more.
Crawl budget becomes a real concern when you have tens of thousands of URLs, lots of auto-generated pages (filters, tags, parameters), or a server that responds slowly. In those cases, a well-structured set of sitemaps helps you see and control where crawl attention goes.
None of these belong in a sitemap. When you split sitemaps by content type, you naturally notice them and can exclude them. Our guide to robots.txt and search engine crawling explains how to stop bots from wandering into these areas in the first place.
The goal isn’t just smaller files — it’s meaningful groups. Here are the splitting strategies I use, from simplest to most advanced.
This is the default for most WordPress SEO plugins and works well for most sites:
post-sitemap.xml — blog postspage-sitemap.xml — static pagesproduct-sitemap.xml — WooCommerce productscategory-sitemap.xml — category archivesFor sites publishing several articles a day, I like a small sitemap of recently published or updated URLs, separate from the archive. It changes constantly, so Google has a strong reason to re-fetch it often. News publishers take this further with a dedicated news sitemap covering only the last two days of articles — see our Google News sitemap setup guide.
Large sites benefit from grouping by section, such as sitemap-reviews.xml, sitemap-guides.xml and sitemap-news.xml. When one section’s indexing rate drops, you’ll see it immediately in Search Console.
Image and video sitemaps help search engines discover media that might otherwise be missed, especially when it loads through JavaScript. Our video SEO sitemap guide shows how to set one up in WordPress.
Sites with years of content can split posts by year or month. Older files rarely change, while the current period’s file updates often — which keeps lastmod values honest and meaningful.
Once you split, you need one master file pointing to all the others. That’s the sitemap index. A simple example looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/post-sitemap1.xml</loc>
<lastmod>2026-10-10T08:00:00+00:00</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/post-sitemap2.xml</loc>
<lastmod>2026-09-02T11:30:00+00:00</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/page-sitemap.xml</loc>
<lastmod>2026-08-15T09:00:00+00:00</lastmod>
</sitemap>
</sitemapindex>
You submit only the index in Search Console. Google discovers every child sitemap from there, and the Sitemaps report lets you drill into each one.
/sitemap_index.xml in Search Console.wpseo_sitemap_entries_per_page filter.WordPress has generated basic sitemaps at /wp-sitemap.xml since version 5.5. They’re split by type automatically but offer limited control. If you use an SEO plugin, it usually disables core sitemaps to avoid duplicates — check that only one sitemap index is live.
Here’s a structure I’d use for a site with around 30,000 indexable URLs — a mix of articles, products and categories:
| Sitemap File | Contents | Approx. URLs per File | Changes |
|---|---|---|---|
| sitemap_index.xml | Links to every child sitemap | — | Whenever a child changes |
| post-sitemap1…N.xml | Blog articles, newest first | 500–1,000 | Daily (newest file) |
| product-sitemap1…N.xml | In-stock and evergreen products | 500–1,000 | When products update |
| category-sitemap.xml | Main categories only | Under 500 | Rarely |
| page-sitemap.xml | Core static pages | Under 200 | Rarely |
| video-sitemap.xml | Pages with embedded videos | Under 1,000 | When videos are added |
Notice what’s missing: tag archives, filter combinations, author archives, internal search pages and paginated archives. Leaving these out is just as important as how you split the rest.
E-commerce sites are where sitemap structure matters most, because product catalogs grow fast and change constantly.
For the wider picture on store optimization, see our WooCommerce SEO guide.
If you run a custom-built site, a headless setup, or a large database-driven directory, you’ll likely generate sitemaps yourself. The logic is straightforward:
Validate the output once by opening the index in a browser, then submit it in Search Console and confirm each child sitemap shows “Success.”
lastmod accurate. Google has said it uses lastmod when it’s consistently reliable. Don’t update it for trivial changes like a new sidebar widget.priority and changefreq. Google ignores both, so don’t waste time tuning them.Sitemap: https://example.com/sitemap_index.xml.This is where splitting pays off most. In the Sitemaps report, click any sitemap to open the Page indexing report filtered to just those URLs.
Here’s the monthly check I run:
If your WordPress dashboard isn’t connected to Search Console yet, our Search Console integration guide walks you through it.
On one site, the overall indexing rate looked fine. But once sitemaps were split by section, one category showed far fewer indexed URLs than submitted, with most marked “Crawled – currently not indexed.” The problem wasn’t technical — those articles were thin and overlapping. Merging them into fewer, stronger guides fixed the indexing rate for that section within a couple of months. Without the split, that pattern would have stayed hidden in an average.
Use this checklist the next time you review your sitemaps. If you can tick every box, your sitemap setup is doing its job:
lastmod changes only when meaningful content changes.It’s tempting to blame sitemaps whenever pages aren’t indexed. Before restructuring anything, rule out these more common causes:
A full technical review often uncovers these faster than sitemap changes alone. Our SEO site audit guide walks through each check step by step.
The protocol maximum is 50,000 URLs or 50 MB uncompressed. In practice, 200–1,000 URLs per file is easier to generate, debug and monitor on WordPress.
Not strictly. But since most SEO plugins split by content type automatically, you get the monitoring benefits for free. Just make sure you’re not including low-value URLs.
No. Google ignores priority and changefreq. It may use lastmod if the dates are consistently accurate.
You can, and it reduces transfer size. Remember the 50 MB limit still applies to the uncompressed file.
Not on its own. It helps you see which section is affected. The fix usually involves better internal linking, faster server response and higher-quality content.
Splitting large sitemaps isn’t a trick that forces Google to crawl faster. It’s a way of organising your site so search engines get clean, fresh, trustworthy signals — and so you can see exactly where indexing breaks down.
Keep files small and logically grouped, list only canonical indexable URLs, keep lastmod honest, and check the Sitemaps report every month. Pair that with strong internal linking and useful content, and faster indexing follows naturally. When in doubt, Google’s guide to building and submitting a sitemap remains the definitive reference.