What a sitemap is
A sitemap is an XML file that lists all the important URLs of your site. It works as an index you hand to Google and other engines so they find your pages quickly, without depending solely on internal links. It is especially useful for large sites, blogs with old posts, or pages that are not well interconnected.
Basic structure
Each entry is a <url> with four optional fields:
- loc: absolute URL (required).
- lastmod: last modification date in ISO format (YYYY-MM-DD).
- changefreq: how often it changes (daily, weekly, monthly).
- priority: relative importance from 0.0 to 1.0.
In practice Google ignores changefreq and priority. It does use lastmod to prioritize crawling, so keep that updated.
When you need a sitemap
- Large sites: hundreds or thousands of URLs. Without a sitemap, Google may take a while to discover all of them.
- Orphan pages: URLs not linked from the menu or home.
- New sites: with low authority and few external links.
- Multimedia content: videos or images you want indexed.
When you don't
Small sites (under 50 pages) that are well interconnected, with a clear menu and internal links, are usually fine without a sitemap. Google follows links like a spider and discovers everything. A sitemap is extra help, not magic.
Technical limits
- 50,000 URLs per sitemap.
- 50 MB uncompressed.
- UTF-8 required.
- Absolute URLs with protocol (https://).
If you exceed these limits, split into multiple sitemaps and create a "sitemap index" that references them. It is an XML that lists other sitemaps instead of URLs.
How to register it
Three steps: upload sitemap.xml to the root, add Sitemap: https://yoursite.com/sitemap.xml to your robots.txt, and submit it in Google Search Console. Then monitor the coverage report to see which URLs were indexed and which had issues.
Maintenance
Modern sitemaps are generated automatically. If you use a CMS or framework (WordPress, Astro, Next.js), there are plugins or configs that regenerate the sitemap whenever you publish. Maintaining a sitemap by hand is doable for small sites but does not scale.