<?xml version="1.0" encoding="UTF-8"?>
<!-- Public, crawlable routes only. Every URL here was checked SIGNED OUT and renders
     real content: an indexed URL that answers with a sign-in wall is a soft-404 and
     wastes crawl budget on the whole site. /search is deliberately absent (renders ~39
     words logged out — thin), as is everything behind auth.

     PER-SHOW AND PER-ROOM URLS live in /sitemap-shows.xml (generated at build from
     public/data/top-shows.json by scripts/gen-sitemap-shows.cjs; listed in robots.txt).
     They became listable once netlify/edge-functions/seo-show.js started serving
     crawlers a real static document for /show/:id and /aftershow/:id — before that
     they were client-rendered and near-empty to a bot. Grow that list deliberately:
     every id in it should be a show people actually search for. -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://app.nextep.show/</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://app.nextep.show/discover</loc>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://app.nextep.show/aftershow</loc>
    <changefreq>daily</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://app.nextep.show/reviews</loc>
    <changefreq>daily</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://app.nextep.show/cliffhanger</loc>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://app.nextep.show/help</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://app.nextep.show/privacy</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://app.nextep.show/terms</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
