<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://ciabyaccelerator.com/</loc><changefreq>weekly</changefreq><priority>1.0</priority></url>
  <url><loc>https://ciabyaccelerator.com/features</loc><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ciabyaccelerator.com/pricing</loc><changefreq>monthly</changefreq><priority>0.9</priority></url>
  <url><loc>https://ciabyaccelerator.com/about</loc><changefreq>monthly</changefreq><priority>0.5</priority></url>
  <url><loc>https://ciabyaccelerator.com/contact</loc><changefreq>yearly</changefreq><priority>0.4</priority></url>
  <url><loc>https://ciabyaccelerator.com/developers</loc><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://ciabyaccelerator.com/legal/terms</loc><changefreq>yearly</changefreq><priority>0.3</priority></url>
  <url><loc>https://ciabyaccelerator.com/legal/privacy</loc><changefreq>yearly</changefreq><priority>0.3</priority></url>
  <url><loc>https://ciabyaccelerator.com/legal/aup</loc><changefreq>yearly</changefreq><priority>0.3</priority></url>
  <url><loc>https://ciabyaccelerator.com/legal/do-not-sell</loc><changefreq>yearly</changefreq><priority>0.3</priority></url>

  <!--
    Every entry above is a path App.tsx actually declares, and that direction is
    the one this file had wrong. It listed /compare until 2026-09-05. App.tsx has
    never declared that path and the string "compare" occurs nowhere in
    frontend/src, so the docroot answered it the way it answers any unmatched
    path: the SPA shell, HTTP 200. Measured on the running site that day, the
    published sitemap carried the entry and /compare returned 200. That is a soft
    404 submitted to Google under our own name, which is precisely what the last
    paragraph of this comment warns against, so the file was breaking its own
    rule. sitemapRoutes.test.ts now reads this file and App.tsx together and
    fails if they part company again.

    Deliberately absent: the account surfaces /auth, /onboarding, /app,
    /app/report/:dot and /panel, and /carrier/:dot.

    /carrier/:dot is the omission that costs something: it is the only
    per-record indexable page the product has, there is one of them for every
    USDOT number in the census, and none of them is discoverable from here or
    from any internal link, so search engines have no path to the long tail at all.

    Those entries cannot live in this file. There are millions of them, and the
    sitemaps protocol caps one file at 50,000 URLs and 50 MB uncompressed, so the
    per-carrier set has to be generated rather than written by hand:

      1. The nightly census sync writes /sitemaps/carriers-00001.xml.gz and so on,
         50,000 <loc>https://ciabyaccelerator.com/carrier/{dot_number}</loc>
         entries per file, taken from the same table the profile page reads.
      2. A <sitemapindex> at /sitemap-index.xml lists those files and this one.
      3. robots.txt gains a second Sitemap: line pointing at /sitemap-index.xml.

    Do not seed a hand-picked sample here in the meantime. A USDOT number that is
    not in this deployment's dataset renders the profile page's "not found" state,
    which marks itself noindex, so a sample chosen without checking the database
    is a list of soft 404s submitted to Google under our own name. Better an
    absent sitemap section than a wrong one.
  -->
</urlset>
