Every page is a file, so the list of pages needs no route table: the application directory is the list. {sitemap} walks it and gives one row per page - page, url and lastmod, the newest time among the page's files. A directory names a part of the application; here the shop the Clean URLs page routes through:

PHP
HTML
fragments/sitemap_1.pad
Result
<ul>
{sitemap 'fragments/shop'}<li>{$page}</li>{/sitemap}
</ul>
  • fragments/shop/index
  • fragments/shop/about

The routes products/[id] and blog/[year]/[slug] are not in the list: a bracketed page has no one address. Also left out are _ entries, directories that hold a _guard.php, pages with no template whose PHP only redirects or writes, pages whose template says {meta sitemap=false}, and every page or directory listed in $padSitemapSkip.

With $padSitemap = TRUE in _config/config.php the application answers ?sitemap.xml with the same list as the XML search engines read, and ?robots.txt with a line that points to it.