<?xml version="1.0" encoding="UTF-8"?>
<!--
  Sitemap for the Vercel storefront on lumingrade.com.
  Hand-maintained — when products are added/removed in components/products-data.js,
  also add/remove the matching <url> below. Categories live in window.LUMIN_CATEGORIES
  in the same file. The order backend serves its own sitemap, so don't
  duplicate cart/checkout/account URLs here.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <!-- Static pages -->
  <url>
    <loc>https://lumingrade.com/</loc>
    <lastmod>2026-05-30</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/shop</loc>
    <lastmod>2026-05-30</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/coa</loc>
    <lastmod>2026-05-30</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/why-lumin</loc>
    <lastmod>2026-05-30</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/support</loc>
    <lastmod>2026-05-30</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/terms</loc>
    <lastmod>2026-05-30</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/privacy-policy</loc>
    <lastmod>2026-05-30</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

  <!-- Product detail pages — one per slug in products-data.js.
       Pre-rendered as static HTML at /products/<slug> by build.mjs;
       per-slug SEO meta + Product JSON-LD baked into the head. -->
  <url>
    <loc>https://lumingrade.com/products/glp1-sm</loc>
    <lastmod>2026-05-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <!-- glp2-tz and glp3-rt removed from sitemap — blocked in robots.txt
       to avoid Google classifier flags on restricted compound pages. -->
  <url>
    <loc>https://lumingrade.com/products/nad</loc>
    <lastmod>2026-05-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/products/mots-c</loc>
    <lastmod>2026-05-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/products/bpc-157</loc>
    <lastmod>2026-05-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/products/tb-500</loc>
    <lastmod>2026-05-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/products/ipamorelin</loc>
    <lastmod>2026-05-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/products/tesamorelin</loc>
    <lastmod>2026-05-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/products/ghk-cu</loc>
    <lastmod>2026-05-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <!-- glow removed from sitemap — blocked in robots.txt (blend product
       contains restricted compound references in description). -->

  <!-- Blog / research notes — landing page + one entry per post in
       content/blog/. Posts are pre-rendered to /blog/<slug>.html by
       build.mjs step 6. When adding a new .md file under content/blog/,
       also add the matching <url> entry below. -->
  <url>
    <loc>https://lumingrade.com/blog</loc>
    <lastmod>2026-05-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/blog/how-to-read-a-peptide-coa</loc>
    <lastmod>2026-05-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/blog/bpc-157-research-overview</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://lumingrade.com/blog/bpc-157-vs-tb-500-research-comparison</loc>
    <lastmod>2026-05-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- NOTE: /shop?category=<slug> landing pages are intentionally NOT listed —
       they canonicalize to /shop, so Google treats them as duplicates and won't
       index them separately. To make categories rank as their own pages, give
       each a self-referencing canonical + unique copy first, then re-add here. -->

</urlset>
