<?xml version="1.0" encoding="UTF-8"?>
<!--
  Sitemap INDEX — Google fetches this single URL and discovers the
  sub-sitemaps from it. Every child lives on aprs.world: the static
  routes file ships in public/, and the four dynamic ones are
  same-host Worker proxies (apps/web/worker.ts) onto
  api.aprs.world/api/sitemap*.xml — so Search Console accepts all of
  them under the single verified aprs.world property, and Google's
  no-redirects-in-sitemap-index rule is satisfied (the earlier
  _redirects 302 chain was rejected; the Worker serves a clean 200).
-->
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://aprs.world/sitemap-routes.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://aprs.world/sitemap-stations.xml</loc>
  </sitemap>
  <!-- Programmatic-SEO landing pages (commit cef1e51): 88 countries,
       22 devices, 30 frequencies. SSR'd by the backend and proxied to
       the apex by worker.ts (handleSeoPage). -->
  <sitemap>
    <loc>https://aprs.world/sitemap-countries.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://aprs.world/sitemap-devices.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://aprs.world/sitemap-frequencies.xml</loc>
  </sitemap>
  <!-- Guides hub (apps/web/src/content/guides/*.md) is enumerated
       under sitemap-routes.xml so no separate child needed. -->
</sitemapindex>
