
AI Summary
An XML sitemap is a machine readable list of the URLs you want indexed, served as a file on your own site. It is discovery insurance rather than a ranking lever, and it works best when every listed URL is canonical, indexable, and returns 200.
- Google reads lastmod when it is consistently truthful and ignores priority and changefreq.
- Hard limits: 50,000 URLs or 50 MB uncompressed per file, chained through a sitemap index.
- A clean sitemap turns the GSC Sitemaps report into a per segment indexation dashboard.
- Feeding it redirects, noindex pages, or 404s teaches Google to trust it less.

An XML sitemap is a machine-readable list of the URLs you want search engines to find, served as a file on your own site. Its job is discovery insurance: without one, crawlers only learn about pages by following links, and any URL that's new, deep, or poorly linked can wait weeks to be found, a delay you feel directly as lost launch-week traffic and stale listings in the index.
What a sitemap is not: a ranking lever, a command, or a guarantee. It's a nomination list. Google cross-checks it against everything else it knows, and a sitemap full of junk teaches Google to trust yours less.
The format, and which fields Google actually reads
A minimal valid sitemap:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/guides/olive-oil-grades/</loc>
<lastmod>2026-06-18</lastmod>
</url>
</urlset>Of the optional fields, only <lastmod> earns its bytes: Google uses it to decide which URLs are worth refetching, provided your dates are consistently truthful. <priority> and <changefreq> are ignored by Google, generators that stamp priority=0.8 on everything are producing decoration.
There's a family of formats, each with hard documented limits:
| Type | Purpose | Hard limits | Worth knowing |
|---|---|---|---|
| Standard XML sitemap | List page URLs | 50,000 URLs or 50 MB uncompressed, whichever comes first | Gzip allowed; the 50 MB limit applies to the decompressed file |
| Sitemap index | A sitemap of sitemaps | Up to 50,000 child sitemaps | Theoretical ceiling of 2.5 billion URLs per index; segment children by template or section |
| Image extension | Surface images per page | Images ride inside normal <url> entries | Useful when images load via JS or CDN domains |
| Video extension | Video metadata (title, duration, thumbnail) | Same 50k/50 MB envelope | One of the few ways to get video details indexed reliably |
| News sitemap | Google News discovery | 1,000 URLs max; articles from the last 48 hours only | Rolling file, old articles drop out; keep it fast to generate |
| Plain text / RSS-Atom | Lightweight alternatives | Text: one URL per line, same 50k cap | RSS feeds double as sitemaps; handy for blogs |
How to slice a large site into segmented sitemaps, and why per-template files turn the GSC Sitemaps report into a free indexation dashboard, is the subject of the sitemap segmentation strategy guide; the format details live in the complete XML sitemaps reference.
The one rule that makes sitemaps useful
Every URL in the file should be canonical, indexable, and return 200. That single filter does more than any other sitemap decision, because the file becomes a truthful statement: "these, exactly, are the pages I want indexed." Then the GSC Sitemaps report can compare submitted vs. indexed and give you a clean indexing rate per segment. Feed it redirects, noindexed pages, and 404s, and you've salted your own instrument, those failure modes each have write-ups, e.g. 4xx URLs in sitemaps and 403s in sitemaps.
How to check your own sitemap setup
- Find it. Try
/sitemap.xml,/sitemap_index.xml, and theSitemap:line in your robots.txt. If none exist, that's finding number one. - Validate structure and status codes, the XML sitemap validator parses the file and flags malformed entries; for a deeper pass, crawl the sitemap in Screaming Frog (List mode → Download XML Sitemap) and check every URL's response code, canonical, and robots meta.
- Check GSC → Sitemaps. Confirm status "Success," compare discovered-URL counts against your known inventory, and click through to see the indexation breakdown per file.
- Spot-check freshness: pick a page you edited this week and verify its
<lastmod>moved. If every URL shares the same date, your generator is lying and Google will learn to ignore the field. - Confirm the sitemap URL itself returns 200 with
curl -I https://www.example.com/sitemap.xml, sitemaps behind redirects or auth quietly stop working.
Common mistakes
- The kitchen-sink sitemap. Auto-generated files that include tag pages, paginated archives, and canonicalized parameter variants. Fix: generate from the same logic that decides indexability, not from "all published posts."
- lastmod set to page-render time. Every URL claims it changed today, forever. Google's stated position is that it uses lastmod when it's consistently accurate, this pattern is how you lose that trust. Fix: stamp from the content's real modified date.
- Sitemap never updated after a migration. Six months post-launch, the file still lists old URLs that now 301. Fix: regenerate as part of the deploy, and re-submit in GSC.
- Multiple conflicting sitemaps. The CMS makes one, the SEO plugin another, an old static file lingers at a third path, all submitted, disagreeing. Fix: one source of truth, delete the rest, remove stale submissions from GSC.
- Assuming submission forces indexing. A sitemap gets URLs considered, nothing more. If submitted pages aren't indexing, the problem is page quality or duplication, the sitemap already did its job.
FAQ
Does a small site need a sitemap?
If it's well linked internally and under a few hundred pages, honestly, marginal benefit. It costs nothing to have one, and the GSC reporting alone justifies it, but internal linking is doing the discovery work either way.
Should I gzip my sitemap?
Fine either way, engines accept .xml.gz. Just remember the 50 MB size cap is measured uncompressed, so gzip buys transfer speed, not extra capacity.
How do search engines find my sitemap?
Three routes: direct submission (GSC, Bing Webmaster Tools), the Sitemap: line in robots.txt, and, for Bing and others, the IndexNow ecosystem for individual URL pings. Use at least the first two.
Can a sitemap include URLs from another domain?
Only if you've verified ownership of both in the same Search Console context, or you host the sitemap location declared via robots.txt cross-referencing. In practice: keep each host's sitemap on that host and save yourself the edge cases.
How often should the sitemap regenerate?
On every content change, ideally, event-driven beats scheduled. If that's not feasible, match the cadence of your publishing: daily for active sites is a sane floor.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







