<?xml version="1.0" encoding="UTF-8"?>
<!--
  ClearPath public sitemap. SEO_AUDIT.md Finding 2: pre-2026-05-31
  this file listed only / and /contact, leaving the other 8 indexable
  public routes invisible to crawlers. Now lists every public route
  that exists in Frontend/src/app/router/routes.tsx without an auth
  guard.

  When programmatic pages (Phase 4: /items/*, Phase 5: /{state}/{county})
  land, this file should be regenerated at build time from the route
  catalog instead of maintained by hand.

  Note on <lastmod>: Google ignores values that are clearly stale or
  bogus, so don't set far-future dates. The values below reflect the
  most recent meaningful change to each page's underlying content.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- Landing page — highest priority. -->
  <url>
    <loc>https://tann.app/</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- Public /check — the primary resident-intent surface. Conversion-
       strategy v2 shipped 2026-05-31 (locality + locked preview +
       funnel telemetry). -->
  <url>
    <loc>https://tann.app/check</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.95</priority>
  </url>

  <!-- Programmatic item-page prototypes (2026-05-31). Top-volume
       resident queries from SEO_KEYWORD_MAP.md groups 1-3 + 5. If
       these rank + convert, the same template scales to the rest of
       the disposal catalog. -->
  <url>
    <loc>https://tann.app/items/battery-disposal</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://tann.app/items/mattress-disposal</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://tann.app/items/paint-disposal</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://tann.app/items/tv-recycling</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://tann.app/items/electronics-recycling</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://tann.app/items/fluorescent-bulb-disposal</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://tann.app/items/motor-oil-disposal</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://tann.app/items/propane-tank-disposal</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://tann.app/items/sharps-disposal</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://tann.app/items/refrigerator-disposal</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://tann.app/items/furniture-disposal</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://tann.app/items/christmas-tree-disposal</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>

  <!-- Programmatic location pages (2026-05-31). MN Twin Cities
       counties — local-intent queries are the fastest path to
       organic-search traction. Priority 0.9 because these are
       hub-pages for the local query graph. -->
  <url>
    <loc>https://tann.app/minnesota/ramsey-county</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://tann.app/minnesota/hennepin-county</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://tann.app/minnesota/anoka-county</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://tann.app/minnesota/dakota-county</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://tann.app/minnesota/washington-county</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://tann.app/minnesota</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.85</priority>
  </url>

  <!-- Editorial guides (SEO_STRATEGY_PHASES_4B_7_10.md §2). Hub
       pages that tie item-page depth together. -->
  <url>
    <loc>https://tann.app/guides/hhw-complete-guide</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>
  <url>
    <loc>https://tann.app/guides/plastic-resin-codes</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.85</priority>
  </url>

  <!-- Trust dashboard — sources and methodology evidence. -->
  <url>
    <loc>https://tann.app/trust</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.85</priority>
  </url>

  <!-- Help center — FAQ surface. -->
  <url>
    <loc>https://tann.app/help</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Public changelog — freshness signal for the brand. -->
  <url>
    <loc>https://tann.app/changelog</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Contact. -->
  <url>
    <loc>https://tann.app/contact</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Demo (operator/partner walkthrough). -->
  <url>
    <loc>https://tann.app/demo</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- Legal — Privacy + Terms. Low priority but should be indexed for
       brand-trust signal. -->
  <url>
    <loc>https://tann.app/privacy</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://tann.app/terms</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
