<?xml version="1.0" encoding="UTF-8"?>
<!--
  Static sitemap of SMUHG's no-login surfaces.

  Deliberately hand-maintained and short. Only routes that (a) render real
  content without a session and (b) exist as concrete URLs belong here.
  Parameterised public routes (/daily/:slug, /champs/:slug, /s/:id) are
  omitted rather than guessed — a sitemap listing URLs that 404-in-spirit
  costs more crawl trust than it earns. If those become worth indexing,
  generate this file at build time from the same source the routes use,
  rather than adding entries by hand here.

  `npm run build` stamps a distinct HTML document for each URL below
  (frontend/scripts/stamp-public-html.mjs), so a crawler that does not run
  JavaScript gets that page's title, description and body. Dynamic public
  URLs (/study/:id, /daily/:slug, /champs/:slug) are still omitted — their
  content comes from the database and is not known at build time.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.smuhg.com/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://www.smuhg.com/landing</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.smuhg.com/explore</loc>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.smuhg.com/terms</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://www.smuhg.com/privacy</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://www.smuhg.com/contact</loc>
    <changefreq>yearly</changefreq>
    <priority>0.4</priority>
  </url>
</urlset>
