<?xml version="1.0" encoding="UTF-8"?>
<!--
  The Stringer Report — sitemap.xml
  Added 2026-09-20. This file could not meaningfully exist before the
  2026-09-15 hash-routing → path-routing migration: every page lived behind
  a `#` fragment, crawlers only ever fetched the single root document, and a
  sitemap listing `/#/pricing` would have listed 23 aliases for one URL.

  HOST: every <loc> uses https://www.stringerreport.com, never the apex.
  The apex 307-redirects to www, and a sitemap full of redirects is a
  sitemap full of soft errors. Same FOREVER RULE that governs Stripe
  webhooks and og: tags.

  WHAT IS DELIBERATELY ABSENT, and why:
    /premium            — alias route serving the same PricingPage component.
                          Listing both is a self-inflicted duplicate-content
                          signal. The route stays alive for inbound links;
                          /pricing is the canonical one.
    /generate           — internal report-generation console, not a product page.
    /checkout/success
    /checkout/cancel    — transactional dead-ends, reachable only mid-purchase.
    /trip/view
    /tournament/view    — paid report viewers, gated on a secret ?token=.
    /my-reports         — customer account surface.
  The last three are also Disallow-ed in robots.txt. Both signals are
  belt-and-braces: the actual access control is the token itself.

  THIS FILE IS GUARDED. client/src/lib/__tests__/sitemap-route-parity.test.ts
  parses the <Route path="..."> list out of App.tsx and asserts (a) every
  public route appears here and (b) every URL here is a real route. Add a
  page to App.tsx without adding it here and the test fails by name. That
  guard exists because a hand-maintained list of something the code already
  knows is exactly the shape of defect this project keeps shipping — see the
  agency-disclaimer and Tournament-Prep-water-list entries in CLAUDE.md.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <!-- Entry points -->
  <url>
    <loc>https://www.stringerreport.com/</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/pricing</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/tournament-pro</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Sample reports: the highest-intent pages on the site. A buyer who
       reads a full sample converts; these are what the product actually is. -->
  <url>
    <loc>https://www.stringerreport.com/samples</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/samples/beaver-premium</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/samples/tournament-dardanelle</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Field School. These are the organic-search surface: standing
       reference content on Arkansas tackle, knots, species and water
       reading that answers queries a buyer types long before they
       know this site exists. -->
  <url>
    <loc>https://www.stringerreport.com/learn</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/learn/tackle</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/learn/techniques</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/learn/species</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/learn/reading-water</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/learn/reading-weather</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/learn/knots</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/learn/gear</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/learn/field-cards</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/learn/fly-fishing</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Trust and support surfaces. Low crawl priority, but they are what a
       cautious first-time buyer opens in a second tab before paying. -->
  <url>
    <loc>https://www.stringerreport.com/promise</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/support</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/partner</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/waitlist</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.4</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/feedback</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/terms</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://www.stringerreport.com/privacy</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

</urlset>
