- seoSitemapPages (lib/sitemapPages.ts) builds the routes per locale; the
module adds them from a pages:resolved hook registered on ready, after
@nuxtjs/i18n has localised the app's routes, so no cross-locale copies
exist and each name ends in the locale's i18n suffix (L4 WR-05)
- a path an app catch-all covers is left to it and logged at build unless
seo.htmlSitemap.overCatchAll is true (L4 WR-04)
- SitemapLink falls back to the i18n locale and renders only when the path
resolves to the layer's sitemap page of that locale
- an app with only app.vue no longer gets its router turned on by the pages
- the module writes #seo-routes (static paths and route patterns) from the
resolved pages; options seo.routeReport, seo.pagination and
seo.htmlSitemap reach the public runtime config
- seo-route-report: POST /registry/routes once per process with the
route-report token, one retry after 60 s on failure, nothing without a
token, with the layer off or with routeReport false
- seo-drift: one "[vue-seo-layer] drift:" warning per mismatch between
the CMS's site answer (URL patterns, pagination, HTML sitemap paths)
and the build
- GET /api/__seo__/site and useSeoSite()
- smoke grammar routereport and log, fixture registry route, drift run