<?xml version="1.0" encoding="UTF-8"?>
<!--
  The public, indexable URLs of smartmouthtechnologies.com.

  Hand-maintained on purpose. The alternatives were a build-time import of the
  api app's seed catalogue and a deploy-time query of the live one; the first
  adds a dependency edge from @store/web to the api app that does not otherwise
  exist (web depends only on @store/shared), and the second puts SEO
  correctness in the deploy pipeline. Neither is worth it for a list this size,
  and a product missing from here is still reachable: every PDP is linked from
  /products, so drift costs discovery speed, not discovery.

  **The source of truth for products is the production database, not a file.**
  The desk's product editor is what creates and retires products in a deployed
  environment (`docs/routes.md`, `apps/api/src/db/seed-catalog.ts`), and an
  admin adding one through /desk/products touches no source file. So this list
  cannot be kept honest by a code reminder alone — verify it against prod's
  catalogue as part of the launch checklist, and whenever a product is added or
  archived. The marketing URLs below are stabler: they mirror the public rows of
  the route table in `apps/web/src/app.tsx`, which `docs/routes.md` documents.

  Deliberately excluded: /cart, /checkout/success and the 404, which are
  per-visitor or not content and carry a page-level noindex; and /desk,
  /agents, /account and /r/, which carry no noindex at all and are disallowed
  in robots.txt instead — see the reasoning there.

  No <lastmod>, and no <changefreq> or <priority>. Google ignores the latter two
  outright and discounts a <lastmod> it finds untrustworthy: a static file
  cannot know when a page last changed, and a date stamped here that never moves
  is worse than no date at all.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://smartmouthtechnologies.com/</loc></url>
  <url><loc>https://smartmouthtechnologies.com/products</loc></url>
  <url><loc>https://smartmouthtechnologies.com/badger-screw</loc></url>
  <url><loc>https://smartmouthtechnologies.com/wib-will-it-break</loc></url>
  <url><loc>https://smartmouthtechnologies.com/libraries</loc></url>
  <url><loc>https://smartmouthtechnologies.com/hyperdent-library</loc></url>
  <url><loc>https://smartmouthtechnologies.com/mill-box-library</loc></url>
  <url><loc>https://smartmouthtechnologies.com/3d-printing-library</loc></url>
  <url><loc>https://smartmouthtechnologies.com/store</loc></url>
  <url><loc>https://smartmouthtechnologies.com/about</loc></url>
  <url><loc>https://smartmouthtechnologies.com/contact</loc></url>
  <url><loc>https://smartmouthtechnologies.com/warranty</loc></url>
  <url><loc>https://smartmouthtechnologies.com/refund-policy</loc></url>

  <!--
    Products. Slugs are WordPress's and must never be renamed (docs/routes.md).

    The Badger Reamer Kit (/product/badger-reamer-kit) is deliberately absent.
    It is seeded for local development only - `seed-catalog.ts` says it "does
    not exist on the live store yet", `db:seed` is never run by
    `.github/workflows/_deploy.yml`, and a product hand-created through the
    desk lands archived (`docs/preorder-staging-runbook.md`), which
    `product-repository.ts` filters out of every public lookup. Submitting a
    URL that 404s earns a Search Console error and nothing else. Add the line
    once the product is live and visible on prod.
  -->
  <url><loc>https://smartmouthtechnologies.com/product/badger-screw</loc></url>
  <url><loc>https://smartmouthtechnologies.com/product/badger-screw-starter-pack</loc></url>
  <url><loc>https://smartmouthtechnologies.com/product/angled-hex-driver-1-2mm-0-048</loc></url>
  <url><loc>https://smartmouthtechnologies.com/product/short-angled-hex-driver-1-2mm-0-048-24mm-length</loc></url>
  <url><loc>https://smartmouthtechnologies.com/product/straight-hex-driver-1-2mm-0-048</loc></url>
  <url><loc>https://smartmouthtechnologies.com/product/short-straight-hex-driver-1-2mm-0-048-24mm-length</loc></url>
</urlset>
