What is a dynamic sitemap?
A dynamic sitemap is an XML sitemap the site builds for itself. Instead of a static file someone exports and uploads, the content management system generates the list of URLs on request, pulling from the database so that a page published this morning is in the sitemap this morning, with an accurate last-modified date, and a page deleted yesterday is gone. Most platforms do this by default; on WordPress the core or an SEO plugin handles it, usually as a sitemap index pointing to smaller sitemaps per content type.
The sitemap's job has not changed: tell search engines which URLs you consider important and when they last changed. The dynamic part just means it stays true.
Why it matters
Why a dynamic sitemap matters
A sitemap is only useful if it is honest. A static one goes stale the day after it is made: new pages missing, removed pages still listed, last-modified dates frozen. Google learns to distrust it, and a distrusted sitemap stops doing the one thing it is for, which is getting new and changed pages crawled quickly.
For sites that publish often or run large catalogs, the dynamic sitemap is the main channel for freshness. A new product, story or film page gets discovered through the sitemap long before internal links and external mentions catch up. It is also the cleanest signal of what you want indexed: a sitemap that lists only canonical, indexable, 200-status URLs is a map of your intent.
In practice
How a dynamic sitemap works in practice
- 01
Turn it on in your platform and then audit what it produces. Open the sitemap index and the child sitemaps, check that every URL returns 200, is the canonical version, and is not blocked by noindex or robots.txt. Exclude what should not be there: tag archives, author pages, media attachment pages, paginated duplicates, anything with a parameter. Make sure the last-modified dates change only when the content really does; a sitemap where every date is today is as useless as one where none ever changes.
- 02
Then wire it up. Reference the sitemap in robots.txt with a Sitemap line and submit it in Google Search Console, where the Sitemaps report tells you how many URLs were discovered and flags errors. On large sites, keep each file under 50,000 URLs and 50MB uncompressed, and watch generation time: a sitemap assembled from a slow database query can time out under crawler load, and one that returns errors is worse than none. Cache it.
At RIOT
Dynamic sitemaps at RIOT
This glossary is why our own sitemap has to be dynamic. It runs to hundreds of terms, entries are rewritten in waves, and new ones arrive between waves. A hand-maintained file would be wrong within a week. The sitemap regenerates from the content, each glossary page carries a real last-modified date, and when an entry like this one is rewritten the crawler is told exactly which page changed, rather than being asked to recrawl everything to find out.
Watch out
What people get wrong about dynamic sitemaps
Assuming it is set and forget. A dynamic sitemap faithfully reports whatever the site contains, including the mistakes: a plugin that creates a public archive for every tag will put every tag archive in the sitemap. The second mistake is thinking the sitemap gets pages ranked. It gets them found; ranking is the page's job. The third is listing everything. A sitemap is a shortlist, and one that includes noindexed pages, redirects and 404s sends Google mixed signals about what you actually want.





