XML Sitemaps in 2026: Limits, lastmod, and How Google Actually Uses Them
A sitemap is a discovery hint, not a ranking signal. Learn the 50,000 URL and 50 MB limits, when lastmod is trusted, and how to structure sitemap index files.
ProfitTool Team
SEO
What a Sitemap Is For
A sitemap is a discovery mechanism. It tells search engines which URLs exist and roughly when they last changed. That is the whole job.
It is not a ranking signal, it does not guarantee indexing, and adding a URL to a sitemap will not rescue a thin page. What it genuinely helps with:
- Large sites where internal linking leaves some pages more than a few clicks deep.
- New sites with almost no inbound links.
- Pages that are only reachable through search forms or filters.
- Fast re-crawl of pages you just updated.
If your site is 40 well-linked pages, a sitemap changes very little. If it is 4,000, it matters.
Hard Limits You Cannot Exceed
- 50,000 URLs per sitemap file.
- 50 MB uncompressed per file. Gzip is allowed and encouraged; the 50 MB limit applies to the uncompressed size.
- Beyond either limit, split into multiple files and reference them from a sitemap index. An index file can itself list up to 50,000 sitemaps.
- All URLs in one sitemap must share the same protocol and host as the sitemap's own location (unless you verify cross-domain ownership in Search Console).
The lastmod Field: Trusted Only If You Are Honest
lastmod is the only optional field Google confirms it uses — and it uses it conditionally. Google trusts lastmod when it observes that your dates correlate with actual content changes. When they do not, it stops trusting the field site-wide.
The three ways sites destroy their own lastmod credibility:
- Setting it to the current timestamp on every build. Now every URL claims to have changed today. Google learns the field is noise.
- Emitting dates in the future. A
lastmodlater than the crawl date is invalid on its face. This also breaksdatePublishedin your Article structured data, and shows readers a publication date that has not happened yet. - Bumping it for trivial edits. A typo fix in the footer is not a content change.
Use a real date. Format it as W3C datetime — either 2026-08-14 or 2026-08-14T09:30:00+00:00. Both are valid.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/guides/pricing</loc>
<lastmod>2026-08-14</lastmod>
</url>
</urlset>What About priority and changefreq?
Google ignores both. Bing treats them as weak hints at best. They are harmless to include and pointless to agonise over. Spend the effort on lastmod accuracy instead.
What to Leave Out
Every URL in your sitemap should be one you want indexed, and it should be the canonical version. Excluding the following prevents contradictory signals:
- URLs that
noindexthemselves. - URLs blocked by robots.txt (you are asking Google to crawl something you told it not to).
- Non-canonical duplicates, parameterised variants, and paginated
?page=2URLs unless they are genuinely canonical. - Redirecting URLs — list the destination.
404and410URLs.
A sitemap full of non-indexable URLs is how you end up staring at "Discovered – currently not indexed" in Search Console.
Sitemap Index Files
Split by content type rather than arbitrarily. It makes the Search Console coverage report diagnostic instead of decorative — you can see at a glance that your blog is 98% indexed while your product pages are at 40%.
<?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-08-14</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-blog.xml</loc>
<lastmod>2026-08-14</lastmod>
</sitemap>
</sitemapindex>Generate It, Do Not Hand-Maintain It
The best sitemap is one built from your live content at request time, so a new page is listed the moment it ships and a deleted page disappears immediately. Hand-edited sitemap files go stale within a week.
Submitting and Monitoring
- Reference it in robots.txt:
Sitemap: https://example.com/sitemap.xml. This is how every crawler finds it without being told. - Submit it in Google Search Console → Sitemaps and Bing Webmaster Tools.
- Watch the Pages report, not the sitemap "Success" badge. "Success" only means the XML parsed.
Build a valid file with the XML Sitemap Generator, advertise it with the robots.txt Generator, and make sure each listed URL declares itself canonical using the Canonical Tag Generator.
Related reading: robots.txt Explained and Canonical Tags and Duplicate Content.
ProfitTool Team
SEOWritten and maintained by the ProfitTool team. Where an article references a ProfitTool utility, the behaviour described is the behaviour of the tool on this site — you can open it and check the output yourself.
Try the Interactive Tools Mentioned
Free to use with no ProfitTool signup. Data handling varies by tool.
More from the Knowledge Hub
robots.txt Explained: Syntax, Crawl Control and the Mistakes That Hide Pages
robots.txt controls crawling, not indexing. Learn the exact syntax, the group-matching rule almost everyone gets wrong, and the mistakes that cost traffic.
SEO & GrowthCanonical Tags and Duplicate Content: How to Consolidate Ranking Signals
rel=canonical is a hint, not a directive. Learn how Google picks a canonical URL, which conflicting signals override your tag, and how to audit for duplicates.
ProductivityGoogle AdSense Approval Checklist 2026: Requirements & Fixes
The 2026 AdSense approval requirements: mandatory legal pages, content volume, navigation and policy compliance — plus how to fix a Low Value Content rejection.