<?xml version="1.0" encoding="UTF-8"?>
<!--
  https://www.snaplister.net/sitemap.xml
  Deploy to: public/sitemap.xml
  MAINTENANCE RULES
  1. Only list URLs that return 200 AND are indexable. A URL carrying
     meta robots "noindex" must not appear here — the two signals
     contradict each other and Search Console reports it as an error.
     This is why /fulfillment/signup is absent: it is noindex,follow.
  2. Update <lastmod> when a page's CONTENT meaningfully changes. Do not
     touch it for a CSS tweak. Google learns to distrust lastmod dates
     that move without the content moving, and then ignores them.
  3. Never list anchor URLs (#pricing, #roadmap). Fragments are not
     separate URLs and will not be indexed independently.
  4. /login, /register and the app modules stay out — they are
     disallowed in robots.txt.
  5. Never list a URL that redirects. A sitemap entry says "index this";
     a 301 says "index something else". Google resolves the conflict by
     trusting the sitemap less. /welcome was removed for exactly this
     reason on 2026-07-27 — see below.
  CANONICAL MARKETING URL IS `/`, NOT `/welcome`
  Google crawled both, rejected the declared canonical and picked `/`
  itself ("Duplicate, Google chose different canonical than user", GSC
  2026-07). The site now agrees with it on every layer:
    - bootstrap.php serves the landing page AT `/` for anonymous visitors
    - public/.htaccess 301s /welcome -> /
    - the landing view's canonical, og:url and JSON-LD all point at `/`
    - this file lists `/` and not /welcome
  If any one of those drifts back to /welcome, the split returns.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.snaplister.net/</loc>
    <lastmod>2026-07-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://www.snaplister.net/fulfillment</loc>
    <lastmod>2026-09-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.snaplister.net/fulfillment/ebay-consignment</loc>
    <lastmod>2026-09-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.snaplister.net/fulfillment/poshmark-consignment</loc>
    <lastmod>2026-09-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.snaplister.net/blog</loc>
    <lastmod>2026-09-06</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.snaplister.net/blog/what-ebay-actually-charges</loc>
    <lastmod>2026-09-06</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.snaplister.net/terms</loc>
    <lastmod>2026-09-02</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <!--
    BLOG POSTS: add one <url> block per post, and keep it in step with the
    BlogPost::POSTS registry. changefreq is 'yearly' on purpose — a fee post
    that never changes should not tell Google to keep re-crawling it, and a
    lastmod that moves without the content moving trains Google to ignore
    lastmod entirely (see rule 2 above).

    PLANNED — uncomment each block only once the URL is live and returns 200.
  <url>
    <loc>https://www.snaplister.net/fulfillment/san-diego</loc>
    <lastmod>YYYY-MM-DD</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.snaplister.net/compare/vendoo-alternative</loc>
    <lastmod>YYYY-MM-DD</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  -->
</urlset>