<?xml version="1.0" encoding="UTF-8"?>
<!--
  Sitemap index for the whole host. The CDN routes /sitemap.xml on every
  distribution to the landing-pages bucket, so this one file is the single
  entry point a crawler follows, the same way app/robots.ts governs
  /robots.txt for every path-mounted SPA.

  This file lists child sitemaps only, never page URLs. Two today:
  resource-library's, emitted from its Prerender set alongside the crawler
  snapshots (TECH-2131), and /sitemap-pages.xml for the host-root pages.

  The bar for listing a URL anywhere below here is that it must be fetchable
  and free of a noindex response header. Raw-HTML content is what makes a
  listing worth having, but it is not the gate: /signup is listed as a
  navigational target for branded queries even though its raw HTML is a
  923-byte shell, because its title and description alone answer the query.

  Every other app on this host - /login, /user, /webquest, /dbquest,
  /game-player, /avatar, /forgot-password, /reset-password - serves the same
  kind of shell AND carries a noindex header from the CDN, so listing one
  would submit a URL that is both empty and suppressed. Those activities are
  already represented for crawlers by their /resources/{type}/{nid}/{slug}
  page.

  The host is hardcoded to production on purpose. QA and staging are
  `disallow: '/'` and app/robots.ts only emits the Sitemap: line on
  production, so this file is inert on the other two hosts. If a non-prod
  host is ever opened to crawlers, this needs to become build-time
  generated - a sitemap index may only reference sitemaps on its own host.

  The sitemap path rule shapes the split: a sitemap may only contain URLs at
  or below its own directory. /resources/sitemap.xml therefore lists only
  URLs under /resources/, and the host-root pages (/, /students/, /signup)
  need a child at the root, which is /sitemap-pages.xml. The CDN behavior was
  widened from an exact '/sitemap.xml' to '/sitemap*.xml' so that second file
  is served without costing another cache behavior.

  MinTTL on this behavior is 86400, so a change here needs an explicit
  CloudFront invalidation of the /sitemap.xml path to take effect.
-->
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://ed.icivics.org/resources/sitemap.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://ed.icivics.org/sitemap-pages.xml</loc>
  </sitemap>
</sitemapindex>
