<?xml version="1.0" encoding="UTF-8"?>
<!--
  Aster — astertrack.app sitemap
  Generated 2026-05-21. Lists the canonical public routes the marketing
  surface wants in search. Per-event / per-team / per-organiser /
  per-athlete pages are NOT listed here statically — those need a
  server-rendered dynamic sitemap once the public catalogue grows
  beyond the launch set. Same goes for /events/:slug pages: once Year 1
  events sign on, generate sitemap entries server-side at the API
  layer and reference here as a sitemap index.

  Priority hints are advisory only — Google has stated they're often
  ignored. They reflect editorial weight, not a guarantee.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <!-- Top-of-funnel marketing -->
  <url>
    <loc>https://astertrack.app/welcome</loc>
    <lastmod>2026-05-21</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- Audience deep-dive landing pages -->
  <url>
    <loc>https://astertrack.app/for-athletes</loc>
    <lastmod>2026-05-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://astertrack.app/for-organisers</loc>
    <lastmod>2026-05-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://astertrack.app/for-teams</loc>
    <lastmod>2026-05-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://astertrack.app/for-brand-partners</loc>
    <lastmod>2026-05-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Public decks hub (the per-recipient /d/:slug pages are noindex) -->
  <url>
    <loc>https://astertrack.app/decks/</loc>
    <lastmod>2026-05-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- FAQ — rich-results eligible via FAQPage JSON-LD on the page. -->
  <url>
    <loc>https://astertrack.app/faq</loc>
    <lastmod>2026-05-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Pricing — single source of truth; emits Product+Offer schema. -->
  <url>
    <loc>https://astertrack.app/pricing</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- About — founder story + richer Organization schema. -->
  <url>
    <loc>https://astertrack.app/about</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Contact — channel-triaged inbound + ContactPoint schema. -->
  <url>
    <loc>https://astertrack.app/contact</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Glossary — evergreen "what is X" definitions, DefinedTermSet schema. -->
  <url>
    <loc>https://astertrack.app/glossary</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Press — journalist-ready boilerplate, founder bio, brand assets,
       ContactPoint schema for press. -->
  <url>
    <loc>https://astertrack.app/press</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Changelog — reverse-chronological shipped changes. Fresh-content
       signal; ItemList of TechArticle schema. changefreq=weekly so the
       crawler comes back often. -->
  <url>
    <loc>https://astertrack.app/changelog</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Resources hub + 3 cornerstone evergreen articles. ItemList +
       Article schema; priority bumped because these are designed to
       capture high-intent organic search. -->
  <url>
    <loc>https://astertrack.app/resources</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://astertrack.app/resources/how-live-race-tracking-works</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://astertrack.app/resources/phone-first-vs-hardware-trackers</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://astertrack.app/resources/organiser-live-tracking-setup-guide</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://astertrack.app/resources/bikepacking-ultra-live-tracking</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Comparison pages — high-intent "X alternative" search capture. -->
  <url>
    <loc>https://astertrack.app/vs/trackleaders</loc>
    <lastmod>2026-05-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://astertrack.app/vs/racemap</loc>
    <lastmod>2026-05-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://astertrack.app/vs/strava-beacon</loc>
    <lastmod>2026-05-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://astertrack.app/vs/garmin-livetrack</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

</urlset>
