<?xml version="1.0" encoding="UTF-8"?>
<!--
  Only pages that actually answer 200 and are worth indexing.

  NOTE: an XML comment may not contain two hyphens in a row, so this file
  cannot use the repo's usual comment dashes.

  NOT listed, deliberately:
    /pricing/   301s to /services (config/urls.py, permanent as of 2026-08-23).
                A redirect in a sitemap is a Search Console warning, and the
                destination is listed.
    /order/     bounces any visitor without an access token to /register
                (see the inline script in website/order.html). A crawler runs
                that script and lands on a disallowed page, so the URL is not
                indexable even though it answers 200.
    portal routes  render an empty React shell to a crawler; robots.txt
                disallows them.

  /faq/ IS listed below, added when the page was, because it answers 200 with
  real server-rendered content and FAQPage structured data: exactly what
  this file's own opening line asks for.

  Host is www, matching the rel=canonical on every page and the site's own
  CTAs. The apex also answers 200, so listing both would be duplicate content.

  site_origin comes from CANONICAL_SITE_ORIGIN via apps.core.context_processors,
  the SAME source rel=canonical is built from, and that identity is the point.
  These four URLs were absolute and hardcoded, so the public identity moving to
  permitsagency.com left a sitemap advertising the old host while every page
  canonicalised to the new one. Google treats that as the site disagreeing with
  itself about where it lives, and the safe reading of the disagreement is to
  index neither confidently.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.permits.agency/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <!-- The storefront. Rendered by the React SPA from the live catalog. -->
    <loc>https://www.permits.agency/services</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <!-- The first dedicated, server-rendered, high-intent service landing
         page (see the Field Report's technical-SEO section: /services alone
         has no SSR content and no way to rank for one specific service).
         Priced from apps.payments.tiers.TIERS via extra_context, not a
         literal, so it cannot drift the way pricing.html/services.html did. -->
    <loc>https://www.permits.agency/form-2290/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <!-- Discovery tool for a visitor who doesn't know which service applies
         to them. No dynamic content to index beyond the page shell itself
         (results are generated client-side from the visitor's own answers). -->
    <loc>https://www.permits.agency/permits-wizard/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <!-- Four more, same reasoning and same discipline: priced via
         extra_context from apps.payments.catalog.price_for(sku), not a
         literal. -->
    <loc>https://www.permits.agency/mc-authority/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.permits.agency/usdot-number/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.permits.agency/boc-3/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.permits.agency/ucr-registration/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.permits.agency/ifta/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <!-- MCS-150 has a real intake wizard (/services/mcs150); same treatment
         and same pricing discipline as the six pages above. -->
    <loc>https://www.permits.agency/mcs-150/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <!-- One overview page for three genuinely different bundles, matching
         how they're already grouped on the homepage's own bundles-grid. -->
    <loc>https://www.permits.agency/packages/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.permits.agency/about/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.permits.agency/faq/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.permits.agency/privacy/</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
