Technology

Your Sitemap Is Not Too Big: What Actually Goes Wrong on a Large CMS Site

Written by
Pravin Kumar
Published on
Sep 22, 2026

Is my sitemap too big now that the site has thousands of pages?

Almost certainly not. Google's documentation says all sitemap formats limit a single sitemap to 50MB uncompressed or 50,000 URLs, and that you only have to break it into multiple sitemaps if you exceed that. A few thousand URLs is not close. The real problems on large CMS sites are elsewhere.

I get asked about sitemap size more than almost any other technical question from people running content-heavy sites, and the anxiety is nearly always misplaced. Meanwhile the things that genuinely undermine a sitemap go unnoticed for months because nothing about them looks broken.

This is what the documentation actually says, what really goes wrong, and the order I would fix things in.

What are the real limits, and when do they apply?

Google's documentation is specific. All formats limit a single sitemap to 50MB uncompressed or 50,000 URLs, and if you have a larger file or more URLs you must break your sitemap into multiple sitemaps. You can then optionally create a sitemap index file and submit that single index file to Google.

Google also notes that you can submit multiple sitemaps and sitemap index files, and gives a good reason to do so voluntarily: it lets you track the search performance of each individual sitemap in Search Console. That is a reporting benefit rather than a crawling one, and it is the only argument I find persuasive for splitting before you have to.

The encoding and location rules are just as concrete. The sitemap file must be UTF-8 encoded, and unless you submit it through Search Console, a sitemap affects only descendants of its parent directory, which is why Google recommends posting sitemaps at the site root.

What actually goes wrong first on a large CMS site?

Stale and inaccurate lastmod values. On a CMS, lastmod is usually populated automatically from a field that changes for reasons that have nothing to do with the content, so every item claims to have been modified when somebody fixed a typo in a shared template.

Google's documentation is clear about the conditions attached to this. It says Google uses the lastmod value if it is consistently and verifiably accurate, giving the example of comparing it to the last modification of the page. A site where every URL claims a recent modification date is failing that test on the consistency half and the verifiability half at once.

The second thing that goes wrong is inclusion. A sitemap that lists URLs you do not want indexed, or that contradicts your own canonical and robots directives, is sending mixed signals about your own intentions. I covered the mechanics of controlling that in controlling what gets into your Webflow sitemap.

Why do priority and changefreq still appear in so many sitemaps?

Because generators have emitted them for years and nobody removed them. Google's documentation states plainly that it ignores priority and changefreq values, so every one of them in your file is bytes that do nothing and a setting somebody might waste an afternoon tuning.

The harm is not the ignored tags themselves. It is that their presence implies to whoever inherits the site that these knobs matter, which leads to conversations about whether the blog should be priority 0.8 or 0.6. That is time spent on something with a documented null effect.

If your CMS emits them and you cannot turn them off, leave them. They are harmless. Just do not let anyone spend planning time on them, and do not treat them as a lever when something is not getting crawled.

Does submitting a sitemap guarantee anything?

No, and Google says so directly. Its documentation describes submitting a sitemap as merely a hint, and states that it does not guarantee that Google will download the sitemap or use it for crawling URLs on the site. That single sentence should reset most expectations about what a sitemap is for.

What a sitemap does reliably is tell a crawler that a set of URLs exists and that you consider them worth knowing about. It is a discovery aid, not an instruction. Pages that are genuinely unlinked, thin, or duplicative do not become valuable because they appear in a file.

This is why I treat a sitemap as the last step in a discovery strategy rather than the first. If a page needs the sitemap to be found at all, the more useful fix is usually a link from somewhere relevant, which is the same argument I made in auditing orphan pages on a large blog.

What breaks when URLs change on a large site?

The sitemap keeps listing the old URLs until the CMS regenerates, and in the window between a restructure and that regeneration your sitemap is actively advertising URLs that now redirect. That is not fatal, and it is wasteful in a way that compounds if the restructure was large.

This is the intersection where two separate pieces of housekeeping meet. A sitemap full of URLs that redirect is the same underlying problem as a redirect table nobody has audited, and both get worse with each restructure. I wrote about the other half of it in finding and flattening redirect chains.

The practical habit is to check the sitemap immediately after any URL change rather than assuming regeneration has happened. It takes one request and a quick scan, and it catches the case where a caching layer is serving a version of the file from before the change.

Should you split a large sitemap voluntarily?

Only for the reporting benefit Google itself points at. Splitting by content type, so that blog posts, product pages and static pages each have their own sitemap, lets you see search performance per sitemap in Search Console, which turns a single opaque number into something you can act on.

Do not split for crawling reasons below the documented limits. There is nothing in the documentation suggesting that a crawler treats five files of a thousand URLs differently from one file of five thousand, and inventing an optimisation with no stated basis is how sites acquire structure that nobody can later explain.

If you do split, use a sitemap index file and submit that. Google's documentation describes exactly this pattern, and it keeps your Search Console submission to a single entry while still giving you the per-sitemap breakdown underneath.

What should the URLs in the file look like?

Fully qualified and absolute, exactly as Google's documentation specifies. Relative URLs, protocol-relative URLs, and URLs that disagree with your own canonical tags about whether there is a www prefix all create unnecessary work for the crawler and genuine ambiguity for you about which version of a page you meant.

Consistency is the part that decays quietly on a large site. A CMS that generates most URLs correctly and one section incorrectly, because that section was built two years later by someone else, will not announce the discrepancy. Comparing a sample of sitemap URLs against what your canonical tags say is a five minute audit that finds it.

The other mechanical requirement worth checking is escaping. Google's documentation notes that all XML tag values must be entity escaped, which becomes relevant on a CMS where editors can put ampersands and quotes into slugs and titles that feed the file.

What would I actually check, in order?

First, whether the lastmod values are telling the truth. Second, whether the URL list matches the set of pages I actually want indexed. Third, whether the URLs are absolute and consistent with what my canonical tags claim. Size comes last on that list, and on most content sites it never comes up as a real issue at all.

The reason for that order is impact. An inaccurate lastmod undermines a signal Google says it will use when it is trustworthy. A wrong URL list undermines your own intent. Both of those matter more than a file size that is orders of magnitude below a documented ceiling.

I would add one habit on top of the list, which is to look at the file itself occasionally rather than only at the Search Console report. The report tells you what was processed. The file tells you what you are actually publishing, and on a CMS those two things drift.

What should you do next?

Open your own sitemap in a browser and look at ten entries at random. Check whether the lastmod dates are plausible, whether the URLs are absolute, and whether any of them are pages you would rather not have indexed. That is a ten minute audit with a high hit rate.

If the lastmod values all cluster on one recent date, that is your first fix, and it is usually a CMS setting rather than a code change. Getting that one signal honest is worth more than any restructuring of the file.

If you have a large content site and you are not sure whether your sitemap is helping or just existing, tell me roughly how many URLs it holds and how often the content changes. I will tell you what I would check first. Let's chat.

Get found, cited and the back office automated

Let's make your site the source AI engines quote and wire up the systems behind it.

Contact

Let's get your website found and cited by AI

Tell me what you're working on, whether AI search is skipping your product, your back office is buried in manual work, or you need a build that does both.

Got it, thanks. I read every message personally and reply within 1-2 business days.
Oops! Something went wrong while submitting the form.