<?xml version="1.0" encoding="UTF-8"?>
<!--
  Sitemap INDEX — Google fetches this single URL and discovers two
  sub-sitemaps from it. Both children live on aprs.world (the
  /sitemap-stations.xml entry is a Cloudflare Pages rewrite that
  proxies to api.aprs.world/api/sitemap.xml — see public/_redirects)
  so Search Console accepts both under the single verified
  aprs.world property — no separate api.aprs.world property needed.
-->
<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 sub-sitemaps (countries / devices / frequencies)
       from commit cef1e51 are intentionally NOT referenced from this
       index. CF Pages forbids same-host 200-proxy to a different
       origin (api.aprs.world); a 302 chain works for direct curl but
       Google's sitemap fetcher rejects redirects under sitemap-index
       semantics. Both pages and sitemaps still exist:
         - https://api.aprs.world/api/sitemap-countries.xml
         - https://api.aprs.world/api/sitemap-devices.xml
         - https://api.aprs.world/api/sitemap-frequencies.xml
       Crawler discovery happens via internal-link graph from
       /station/{cs} → CountryStrip → /stations/country/{iso2}, and
       footer/topnav → /devices, /frequency, /guides hubs. Once we
       have a build-time job that bakes the three XML files into
       public/, we can re-add them here. -->
  <!-- Guides hub (apps/web/src/content/guides/*.md) is enumerated
       under sitemap-routes.xml so no separate child needed. -->
</sitemapindex>
