Catalog: 120,000 URLs. Search Console: “Sitemap exceeds limits.” One file cannot hold it — the sitemap protocol caps files at 50,000 URLs or 50MB uncompressed, and a single relative-path entry can poison the whole submission. Splitting catalogs into indexed sitemap files is a thirty-minute job that unblocks crawling for months. This guide covers the split math, changefreq honesty, priority tiers and the relative-path rejection that fails most first attempts.
Part of the SEO publishing guide. Generate maps in the sitemap generator; gate crawling with the robots.txt generator.
Split math: 50K URLs / 50MB per file + index
120,000 URLs → three files (50K + 50K + 20K), each under 50MB uncompressed, listed in a sitemap index that Search Console accepts as one submission. Name them by segment (sitemap-products-1.xml, not part1.xml) so coverage reports stay readable. Regenerate on catalog change — stale sitemaps listing dead URLs waste crawl budget exactly when launches need it most. Paste up to 1,200 URLs per run into the generator for clean XML output.
changefreq honesty + priority tiers
| Page type | changefreq | priority | Why |
|---|---|---|---|
| Bestsellers / pillars | weekly | 0.8 | Crawl often, rank-bearing |
| Product / cluster pages | monthly | 0.5–0.6 | Steady value |
| Archives, tags | yearly | 0.3 | De-prioritize crawl spend |
Priorities are hints, not orders — but honest tiers focus crawler attention where revenue lives. Marking everything 1.0/daily trains crawlers to ignore your signals; underclaiming archives is a feature. Revisit tiers quarterly as catalog mix shifts.
Rejections: relative paths, bad dates, wrong content-type
- Relative URLs rejected: every
<loc>must be absolute HTTPS (https://…, never/page). One relative entry can fail the file. - Malformed lastmod: W3C datetimes only (
2026-10-07, not “yesterday”). Future dates confuse schedulers. - Wrong encoding: UTF-8, ampersands escaped (
&). Hand-edited XML breaks here most. - Blocked by robots: URLs disallowed in robots.txt get “submitted but blocked” status — allow what you submit.
After acceptance, watch Search Console's indexed-vs-submitted delta: a growing gap means quality or duplication filters, not sitemap syntax — fix content, not XML. Pair sitemap work with crawler gates in robots vs noindex.
General guidance only. Sitemap hygiene amplifies crawling; it cannot rescue uncrawlable architecture or thin content.