XML sitemap
A machine-readable list of every URL you want crawled, parked at /sitemap.xml so search engines do not have to guess what exists.
See it
What it is
An XML sitemap is a machine-readable list of the URLs you want crawled, usually served at /sitemap.xml. Each entry is a <url> block with a <loc> and optionally a <lastmod> date. It is a discovery aid, not a site map for humans and not a navigation menu: nobody reads it except bots and the occasional competitor.
It earns its keep on big sites, brand new sites with no inbound links, sites with pages that nothing links to yet, and anything generated from a database where URLs appear faster than crawlers wander in. Point to it from robots.txt with a 'Sitemap:' line and submit it in Search Console. Past 50,000 URLs or 50MB uncompressed, split it and reference the parts from a sitemap index file.
The big misconception: a sitemap is a suggestion, not a guarantee of indexing. Listing a page does not make Google keep it. The reverse matters more: only list URLs you actually want indexed. Sitemaps stuffed with redirects, 404s, noindexed pages, or non-canonical duplicates teach crawlers that your file is unreliable. Keep <lastmod> honest too, since a build that stamps today's date on all 40,000 URLs every night makes the signal worthless.
Ask AI for it
Generate an XML sitemap for this site at /sitemap.xml. Emit valid sitemap protocol XML with a <urlset> and one <url> per indexable page, each with an absolute <loc> using the canonical URL and a <lastmod> taken from the content's real updated-at timestamp. Build the URL list from the routes and content collections at build time, and exclude noindexed pages, redirects, paginated duplicates, and anything blocked in robots.txt. If the list exceeds 50,000 URLs, split it into numbered child sitemaps and emit a sitemap index that references them. Add a 'Sitemap:' line pointing at the absolute sitemap URL in robots.txt.