Astro's @astrojs/sitemap integration silently emits the wrong canonical host if the site config is missing at build time. It's the #1 SEO footgun on Astro projects hosted on preview branches.
What's different about Astro
Astro's @astrojs/sitemap integration silently emits the wrong canonical host if the site config is missing at build time. It's the #1 SEO footgun on Astro projects hosted on preview branches.
Signals to watch on Astro
Sitemap.xml URLs pointing to a preview branch instead of prod
Missing hreflang tags after enabling i18n routing
Duplicate canonical tags when a layout renders <ViewTransitions /> twice
How Lemwatch surfaces it
We fetch and parse your sitemap on every check, flagging host drift, 404 URLs inside the sitemap, and stale lastmod dates — all invisible in Lighthouse.
What we check for seo monitoring
Title & meta description drift alerts (catches accidental deploys that strip them)
Sitemap health — 404s inside sitemap.xml, stale lastmod, oversized files
Robots.txt & noindex drift (the #1 way a launch tanks its own SEO)
Structured-data validation — schema.org type coverage tracked over time
Other ways Astro sites break
Monitor Astro sites for build drift, hydration errors, and stale islands.
Common failure modes
Partial hydration JS bundles missing after CDN purge
View Transitions failing on cross-origin navigations