<?xml version="1.0" encoding="UTF-8"?>
<!--
  Loomory sitemap.

  Earlier revisions of this file enumerated each hash route
  (#pricing, #studio/wire-wrap, etc.) but Google explicitly does
  NOT treat URLs that differ only by fragment as separately
  indexable pages — submitting them is mostly cosmetic (Search
  Console reports them as "submitted" but they collapse onto the
  canonical document at the page level). It also gives a false sense
  that the tool pages are indexable, when in reality their per-route
  meta is only visible after JS executes.

  So the sitemap only declares the canonical root. The Helmet-
  managed per-route titles / descriptions still help when users
  share URLs directly (Twitter, IG, Slack unfurls all parse the JS
  output once it's rendered), but for actual search-engine indexing
  the tool pages will need a server-rendered / prerendered path
  routing migration first. Tracked as future work (P2-x in
  loomory-staging/CLAUDE.md TODO).
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://loomory.co/</loc>
    <lastmod>2026-05-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
</urlset>
