<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemap.org/schemas/sitemap/0.9">
  <!-- SPA with mixed routing:
         - /             root landing (hash routes for legal/collection etc)
         - /cfb          static HTML shell for the college-football funnel
         - /shop         real path (Vite SPA + netlify.toml rewrite) — the
                         browse surface. Each material has its own detail URL
                         so Google can index and rank them independently.
       Priority tiers:
         1.0 — homepage
         0.9 — top-of-funnel product pages (framed = anchor; shop = index)
         0.7 — supporting product pages
         0.5 — accessory / entry tiers -->
  <url>
    <loc>https://petportrait.io/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://petportrait.io/shop</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://petportrait.io/shop/framed</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://petportrait.io/shop/canvas</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://petportrait.io/shop/poster</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://petportrait.io/shop/metal</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://petportrait.io/shop/cushion</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://petportrait.io/cfb</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <!-- Popular CFB teams — each has its own team-specific OG title,
       description, and theme color served by netlify/functions/cfb-team.js
       at /cfb/<teamId>. Listed as discrete URLs so Google can rank a fan's
       "alabama pet portrait" query directly at /cfb/alabama rather than the
       generic funnel URL. Kept in sync manually with POPULAR_TEAM_IDS in
       src/lib/cfbTeams.js — regenerate if that list moves. -->
  <url><loc>https://petportrait.io/cfb/alabama</loc>    <changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/cfb/georgia</loc>    <changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/cfb/ohio_state</loc> <changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/cfb/michigan</loc>   <changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/cfb/texas</loc>      <changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/cfb/notre_dame</loc> <changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/cfb/lsu</loc>        <changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/cfb/penn_state</loc> <changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/cfb/tennessee</loc>  <changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/cfb/auburn</loc>     <changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/cfb/usc</loc>        <changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/cfb/oklahoma</loc>   <changefreq>weekly</changefreq><priority>0.8</priority></url>

  <!-- SEO content hub index pages — /breeds, /guides, /styles, /occasions,
       /comparisons. Priority 0.8 (higher than child pages) because hubs are
       the shortest-tail queries + primary crawl paths from the homepage. -->
  <url><loc>https://petportrait.io/breeds</loc>       <changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/guides</loc>       <changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/styles</loc>       <changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/occasions</loc>    <changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://petportrait.io/comparisons</loc>  <changefreq>monthly</changefreq><priority>0.8</priority></url>

  <!-- SEO content pages — buying guides, breed pages, occasion pages. Real
       crawlable URLs per netlify.toml SPA fallback. Priority 0.7 puts them
       above accessory shop tiers but below the primary shop anchors.
       Adding a new page: create the entry in src/pages/content/*.jsx and
       add a matching <url> here. -->
  <url><loc>https://petportrait.io/guides/best-photo-for-pet-portrait</loc> <changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://petportrait.io/guides/how-to-choose-style</loc>          <changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://petportrait.io/breeds/french-bulldog</loc>               <changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://petportrait.io/breeds/goldendoodle</loc>                 <changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://petportrait.io/breeds/labradoodle</loc>                  <changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://petportrait.io/breeds/poodle</loc>                       <changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://petportrait.io/breeds/golden-retriever</loc>             <changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://petportrait.io/styles/renaissance-pet-portrait</loc>     <changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://petportrait.io/styles/watercolor-pet-portrait</loc>      <changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://petportrait.io/comparisons/ai-vs-commissioned-painting</loc> <changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://petportrait.io/comparisons/vs-crown-and-paw</loc>        <changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://petportrait.io/occasions/memorial</loc>                  <changefreq>monthly</changefreq><priority>0.8</priority></url>
</urlset>
