SitemapNode
One URL-worthy published node. Membership is decided server-side: presentation nodes with a
real published path only, so redirects, payload-less structural nodes, and unpublished nodes never
appear here at all.
Properties
Section titled “Properties”lastmod?
Section titled “lastmod?”
optionallastmod?:string|null
When this page’s content last actually changed, ISO-8601 UTC — the <lastmod> source.
Not a publish timestamp: a republish that changes nothing leaves it alone, which is what makes it
safe to advertise. It is the later of the page’s own change date and that of the Component bound
directly to it; a Component nested one level deeper does not move it, so the value can be older
than the truth but never newer. null when no change date is known (content last published by
an older server) — emit no <lastmod> at all rather than inventing one.
localeSlots
Section titled “localeSlots”localeSlots:
SitemapLocalePath[]
The path this node materializes in each non-default locale slot the site has — including slots
where that path is identical to path, which is the common case for a page under no localized
ancestor.
This says nothing about translation. A slot appears because the site materializes it, and a
path differs from the default one because this node or an ancestor carries a localized slug —
neither of which means the page’s content has been translated. Nothing in Content records
that, so no endpoint can report it. hreflang annotates which URLs exist; whether to advertise
them is the consumer’s decision, expressed by passing localeUrl to buildSitemapXml or not.
nodeId
Section titled “nodeId”nodeId:
string
path:
string
Site-relative, in the default locale slot — and in the site’s URL space, so prefixed under a
pathPrefix site with prefixDefaultLocale. Never null — a node with no default path is
omitted rather than listed.
optionalurl?:string
The absolute address of the default-locale version, present under a localeHost site.
buildSitemapXml prefers it over origin + path whenever it is present — one origin cannot
express a site whose locales live on different hosts.