Publish product detail pages in the sitemap

This guide shows how to publish dynamic product detail pages in a site's public sitemap. After the next site release, /sitemap.xml serves a sitemap index and Workspace automatically adds deliverable product URLs from the site's sales channel.

Prerequisites

  • The site is connected to a sales channel.
  • A global dynamic page with dynamicRoute.kind: productDetail exists.
  • Products have released content and a live ProductRoute for the locale and sales channel.
  • The snippet builder has generated every product snippet marked as required.

Enable the product sitemap

Set sitemap: true on the global product detail page. The published page contract then defines the locale, URL prefix, canonical behavior, and required snippets.

yaml
type: product-detail
sitemap: true
variant:
  translationKey: product-detail
  locale: en-GB
  slug: _dynamic/product-detail
dynamicRoute:
  kind: productDetail
  prefix: en/products
canonicalPath:
  mode: trailing-slash
containers:
  mainContent:
    - type: productSnippet
      name: product-detail-hero
      params:
        required: true

Publish a new site release. Workspace uses only the global product detail variant. Jurisdiction-specific variants do not create product sitemap entries.

Understand the publication gates

Workspace includes a product URL only when all of these conditions hold in the tenant, sales-channel, and locale scope:

  • The product is listed and enabled for public search.
  • Its catalog visibility is standalone rather than embedded-only.
  • Content and ProductRoute are released, live, and inside their publication windows.
  • Every required product snippet is available.

Snippet readiness uses the same fallback order as the live product page: sales channel plus locale, sales channel, locale, then global. If a required snippet is missing, Workspace omits the product URL until the snippet builder provides a deliverable artifact.

Updates and file limits

Workspace reacts to product changes and site release activation. It also fully reconciles product sitemaps at least every five minutes. This corrects lost events and time-based publication-window changes.

/sitemap.xml is always a sitemap index. Static pages and product pages use separate files under /sitemaps/. Workspace splits a product sitemap at 50,000 URLs or 50 MB of uncompressed XML.

Workspace does not change robots.txt and does not register the sitemap with a search engine. Keep those actions in your separate operations and SEO process.

Verify the publication

Request the site's public host after publishing:

bash
curl -fsS https://www.example.com/sitemap.xml

Then inspect at least one product file referenced by the index:

bash
curl -fsS https://www.example.com/sitemaps/<generation>/products-0001.xml

Verify that:

  • every URL uses the site's public origin,
  • locale, product prefix, and canonical slash policy are correct,
  • unsearchable or undeliverable products are absent,
  • referenced product detail pages return HTTP 200.

If a product remains absent for more than five minutes, inspect the Public Catalog, ProductRoute, and required snippets first. Do not create one static CMS page per product or infer a product URL from its SKU.