<?xml version="1.0" encoding="UTF-8"?>
<!--
  Sitemap index. Static on purpose.

  Express only ever sees /api/*; the static layer serves every other path from
  this build, so a generated /sitemap.xml is not reachable. Shipping the index
  as a file also fixes the older problem that /sitemap.xml answered with the
  SPA's HTML shell and a 200, which parses as an invalid sitemap rather than
  missing harmlessly.

  The children are generated from Neon by routes/sitemap.ts and cached for an
  hour. This file changes only when a child is added or removed.

  sitemap-reports.xml was added once /research/:ticker shipped and was verified
  in a browser. The rule here is that nothing is listed before it serves. It
  carries live reports only: expired reports and /research/:ticker/:id
  permalinks are noindex by decision, so they stay out of both the sitemap and
  internal linking.

  Note for whoever edits this comment next: a double hyphen cannot appear
  inside an XML comment. Writing one here makes the whole index unparseable,
  which is the same failure as having no sitemap at all.
-->
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://naebuza.com/api/sitemap-hubs.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://naebuza.com/api/sitemap-companies.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://naebuza.com/api/sitemap-categories.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://naebuza.com/api/sitemap-trackers.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://naebuza.com/api/sitemap-politicians.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://naebuza.com/api/sitemap-reports.xml</loc>
  </sitemap>
</sitemapindex>
