An XML sitemap is a machine-readable list of a site's important URLs, written in the format defined at sitemaps.org. It helps search engines discover pages, especially new ones, deep ones, or ones with few internal links. It is a hint rather than a command: being listed does not guarantee crawling or indexing, but a clean, accurate sitemap makes both easier.
Format and limits
Each URL goes in a url element with a required loc and an optional lastmod. A single sitemap file can hold up to 50,000 URLs and must be no larger than 50 MB uncompressed. Bigger sites split their URLs across several sitemaps and list them in a sitemap index file.
Google has said it ignores the priority and changefreq fields, and uses lastmod only when it is consistently accurate. So lastmod should change when the page's main content changes, not on every deploy.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/integrations/salesforce</loc>
<lastmod>2026-09-30</lastmod>
</url>
</urlset>What belongs in a sitemap
Only canonical, indexable URLs that return 200. Everything else adds noise and weakens the file as a signal.
- Include: the canonical version of each page you want indexed
- Exclude: redirected URLs, 404s, noindexed pages, parameter variants
- Exclude: pages blocked by robots.txt, login and app routes
- Split by type (blog, docs, integrations) so coverage problems are easy to spot
Submitting and monitoring
Reference the sitemap in robots.txt with a Sitemap line and submit it in Google Search Console and Bing Webmaster Tools. Google retired its old sitemap ping endpoint in 2023, so submission plus the robots.txt line is the standard approach now. Bing supports IndexNow for pushing URL changes.
In Search Console, filtering the Page indexing report by sitemap shows how many submitted URLs are indexed. Separate sitemaps per section turn that into a useful diagnostic: if docs pages are indexed but integration pages are not, you know where to look.
Sitemaps on SaaS stacks
Most frameworks and CMSs generate sitemaps, but each property tends to have its own: the marketing site, the blog CMS, the docs platform. Make sure each one is referenced and submitted, and that programmatic pages (integrations, templates, comparisons) are generated into the sitemap from the same data source as the pages themselves, so they never drift apart.
Example
Splitting sitemaps to find a problem
A fictional CRM, Pipewell, has one sitemap with every URL. After splitting it into blog, docs, integrations and templates sitemaps, Search Console shows the integrations sitemap has far fewer indexed URLs than the others.
Inspecting a few integration URLs reveals near-identical page templates with little unique text. The sitemap did not cause the problem, but splitting it is what made the problem visible.
Common mistakes
Listing URLs that redirect or are noindexed
This sends contradictory signals and makes coverage reports harder to read.
Setting lastmod to the build time
If every URL shows today's date on every deploy, Google learns your lastmod is unreliable and ignores it.
Treating the sitemap as a substitute for internal links
A URL that is only in the sitemap is an orphan page. Link to important pages from the site itself.
Questions
Google says small, well-linked sites may not need one, but there is little downside and it helps with new pages. Most platforms make it free to add.
No. It helps discovery. Google still decides whether each URL is worth indexing.
Normally a sitemap covers its own host. Cross-host sitemaps are possible if you verify ownership of both in Search Console or reference the sitemap from the other host's robots.txt, but separate sitemaps per host are simpler.