The XML sitemap is one of the simplest technical SEO elements and one of the most often mismanaged. It does not replace internal linking but helps search engines find all important pages and notice changes.
What goes into it
Only URLs that should be indexed: reachable with status 200, not set to noindex, canonical to themselves. Redirects, error pages, noindex pages and duplicates do not belong. On multilingual sites, language versions can be linked in the sitemap via hreflang entries, or alternatively in the page head. The connection with inclusion in the index is described under indexing.
Limits and sitemap index
A single sitemap file may contain at most 50,000 URLs and be at most 50 MB uncompressed. Larger sites split their URLs across several sitemaps and reference them in a sitemap index. A thematic split, for example by page type, has a side benefit: Search Console shows per sitemap how many URLs are indexed.
lastmod, priority and changefreq
Google uses the lastmod modification date when it is consistently reliable, that is, set only on actual content changes. A lastmod that jumps to the current date on every build loses its value. Google ignores priority and changefreq. Maintaining lastmod honestly gives search engines a useful signal for recrawling.
Submitting
The sitemap is referenced in robots.txt and submitted in Search Console. After major changes, resubmitting it pays off. For Bing and other search engines, IndexNow can additionally report changes faster.
Typical mistakes
Noindex pages in the sitemap sending contradictory signals. Old URLs redirected after a relaunch. Language versions that do not exist. A lastmod unrelated to real changes. And sitemaps that do not match the actual page inventory. On innopulse.io an automated audit after every build checks that every sitemap URL exists, is indexable and has a correct canonical. The basics are in our technical SEO checklist.
