<?xml version="1.0" encoding="UTF-8"?>
<!--
  Public, indexable routes only.

  /login is deliberately ABSENT. It and /signup are the same intent — "get me
  into this app" — and listing both splits that intent across two URLs while
  spending crawl budget on a page with nothing to rank for. /login is still
  reachable, still self-canonicalising, still has its own title; it just isn't
  advertised here. Absent from the sitemap is not noindex.

  lastmod is honest or it is worse than absent: Google discounts the signal
  from sites that stamp every URL with today's date on every deploy. Move a
  date when that PAGE's content changes, not when the site redeploys.

  It drifts the other way too: on 2026-09-17 five of these dates were older
  than the last commit that changed the page's copy (pricing by 30 days,
  terms and privacy by 56). Before touching a public page's copy, move its
  date here in the same change. content.test.ts pins the format and the
  future; nothing pins staleness, so this is the reminder.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://rawtoslab.ai/</loc><lastmod>2026-09-17</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
  <url><loc>https://rawtoslab.ai/grading-calculator</loc><lastmod>2026-09-17</lastmod><changefreq>monthly</changefreq><priority>0.9</priority></url>
  <!-- Ranked WITH the calculator at 0.9 rather than with the 0.8 pages, and
       the argument is what the visitor can do on arrival. Both are a working
       tool that finishes its job with no account, so both can earn a link and
       a bookmark from a stranger; every 0.8 page below asks for a sign-up
       before it pays off. docs/KEYWORD_RESEARCH_2026_08.md §1a is the other
       half: the centering queries are served today only by single-purpose
       micro-sites with no ads on them, so this is the one URL here whose
       competition is a page rather than the whole hobby press.
       lastmod is the day the page became public and got its own head, which
       is a real change to this page and not a redeploy. changefreq monthly
       because the copy will sit still; the tool behind it is not a feed. -->
  <url><loc>https://rawtoslab.ai/centering</loc><lastmod>2026-09-08</lastmod><changefreq>monthly</changefreq><priority>0.9</priority></url>
  <!-- 0.9, with the two tool pages rather than with the 0.8 sign-up funnel,
       and the argument is deliberately NOT "what can you do without an
       account" this time, because here the answer is nothing. It earns the
       rank on intent instead: "best app to track sports card collection" and
       its family are the queries this site is closest to owning outright, the
       autocomplete on those stems is ten slots deep (probed 2026-09-17), and
       an ads audit the same day found exactly one advertiser across the whole
       cluster. It is also the only page that argues the product's one
       uncopyable behaviour, which is naming how much of a collection total is
       a real sale and how much is an estimate.
       changefreq monthly: this is written copy, not a feed. -->
  <url><loc>https://rawtoslab.ai/collection-tracker</loc><lastmod>2026-09-17</lastmod><changefreq>monthly</changefreq><priority>0.9</priority></url>
  <url><loc>https://rawtoslab.ai/signup</loc><lastmod>2026-07-26</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <!-- "<product> pricing" is a query people type, and it is high intent. Ranked
       just under /signup: it is the page that answers the question, and the
       sign-up is what they do next. -->
  <url><loc>https://rawtoslab.ai/pricing</loc><lastmod>2026-09-01</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://rawtoslab.ai/terms</loc><lastmod>2026-09-17</lastmod><changefreq>yearly</changefreq><priority>0.2</priority></url>
  <url><loc>https://rawtoslab.ai/privacy</loc><lastmod>2026-09-17</lastmod><changefreq>yearly</changefreq><priority>0.2</priority></url>
  <!-- The two store-required URLs. Listed because they are prerendered and
       content.test.ts requires every prerendered route but /login to be here;
       priority 0.2 beside the legal pages, because a stranger does not arrive
       through them — a store reviewer does. -->
  <url><loc>https://rawtoslab.ai/support</loc><lastmod>2026-09-09</lastmod><changefreq>yearly</changefreq><priority>0.2</priority></url>
  <url><loc>https://rawtoslab.ai/account-deletion</loc><lastmod>2026-09-09</lastmod><changefreq>yearly</changefreq><priority>0.2</priority></url>
  <url><loc>https://rawtoslab.ai/grading-tax</loc><lastmod>2026-08-06</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://rawtoslab.ai/psa-10-value</loc><lastmod>2026-08-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://rawtoslab.ai/whats-moving</loc><lastmod>2026-09-04</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <!-- The board /whats-moving is the landing page FOR. Public since 2026-08-21
       and, until 2026-09-17, an orphan: no sitemap entry, no crawlable link,
       and the SPA fallback handed it the homepage's head, so it told Google it
       was a duplicate of "/".
       Ranked at 0.9 with /grading-calculator and /centering rather than at
       0.8 with the pages around it, on the same test those two are ranked by:
       what can a stranger DO on arrival. All three finish their job with no
       account, so all three can earn a link and a bookmark from somebody who
       never signs up; /whats-moving above is the brochure FOR this page.
       changefreq daily, unlike every other page here: the rows are re-measured
       by a pass that runs several times a day. lastmod is the day the page
       itself last changed (it began painting its disclaimer), and it does not
       move when the rows do, because a date stamped on every refresh is the
       signal the comment at the top of this file warns against burning. -->
  <url><loc>https://rawtoslab.ai/market</loc><lastmod>2026-10-08</lastmod><changefreq>daily</changefreq><priority>0.9</priority></url>
  <!-- A dated report over a closed window (23 May to 20 Aug 2026). It names
       its own period in the URL, so once published it is finished: yearly,
       not weekly, and the lastmod moves only if the report is corrected.
       Below the evergreen pages at 0.8 because it answers one question that
       was asked in one month, above the legal pages because it is the reason
       a stranger would arrive. -->
  <!-- The reports index. Weekly, unlike the dated report below it, so it is
       the one that earns a crawl budget and the higher priority. -->
  <url><loc>https://rawtoslab.ai/reports</loc><lastmod>2026-09-15</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://rawtoslab.ai/reports/2026-09-jordan</loc><lastmod>2026-09-15</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://rawtoslab.ai/reports/2026-08-shaq</loc><lastmod>2026-08-21</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
</urlset>
