<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- Homepage -->
  <url>
    <loc>https://djtracks.io/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  
  <!-- Main Features -->
  <url>
    <loc>https://djtracks.io/analyze</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  
  <!-- Community & Discovery -->
  <url>
    <loc>https://djtracks.io/community</loc>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Artist Directory -->
  <!--
    Individual artist pages (/artists/:name) are dynamically generated from the database
    and are not enumerated here.
    TODO: Generate /sitemap-artists.xml from the artists table and reference it in a
    sitemap index file once the artist count exceeds 50. This is the highest-leverage
    SEO improvement on the site — artist pages target "[artist] in DJ mixes" long-tail queries.
  -->
  <url>
    <loc>https://djtracks.io/artists</loc>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  
  <!-- Information Pages -->
  <url>
    <loc>https://djtracks.io/how-it-works</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  
  <url>
    <loc>https://djtracks.io/pricing</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://djtracks.io/contact</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- Release Notes -->
  <url>
    <loc>https://djtracks.io/releases</loc>
    <changefreq>monthly</changefreq>
    <priority>0.4</priority>
  </url>

  <!-- Legal Pages (noindex on page, excluded here) -->
  <!--
    /terms and /privacy carry noindex meta tags and are intentionally omitted from
    the sitemap. They are crawlable via robots.txt (noindex, follow).
  -->

  <!--
    Mix playback pages (/playback/:id) are publicly accessible without login and
    are the site's highest-volume indexable content. Each analyzed mix is a unique
    page with tracklist, BPM, key, Spotify links, and MusicPlaylist JSON-LD.
    TODO: Generate /sitemap-mixes.xml dynamically from the analyses table
    (WHERE status = 'completed') and reference it in a sitemap index once mix
    count exceeds 50. Google discovers new mixes via sitemap 1–2 weeks faster
    than organic crawl.
  -->
</urlset>
