<?xml version="1.0" encoding="UTF-8"?>
<!--
  celestialbound.com — servido desde dist/ (Vite copia public/ tal cual a la raíz),
  igual que robots.txt, que lo declara.

  SÓLO URLs canónicas, indexables y VIVAS (verificadas 200 el 2026-08-29). Un sitemap
  que lista un 404 o una URL que canoniza a otra le enseña a Google a desconfiar del
  archivo entero, así que cada <loc> de acá:
    · devuelve 200 en el apex,
    · se canoniza a SÍ MISMA (las legales traen <link rel="canonical"> propio),
    · no está bloqueada por robots.txt.

  NO están, a propósito:
    · `/app/` y `/editor/` — rutas por hash y admin-gated: el crawler ve un shell vacío.
      No se piden para indexar (ver `docs/marketing/seo-tecnico-2026-08-29.md`, H2/H3).
    · `/tools/*` — no entran a `dist/` (vite.config `rollupOptions.input`): no existen en prod.
    · cualquier `#/...` — un fragmento no es una URL para un crawler.

  Sin `changefreq` ni `priority`: Google los ignora desde hace años. Sin `lastmod` porque
  un lastmod que miente pesa MENOS que ninguno — si algún día sale del mtime del archivo
  en el build, que salga de ahí y no a mano.

  Los 6 PDF de `/muestra/` SÍ van: son gente inventada
  (backend/scripts/muestras_ficticias.py), robots.txt los habilita a propósito, y son la
  evidencia más fuerte que publica el sitio. Si Andrea prefiere no indexar PDF, se borran
  esas 6 líneas y no se rompe nada más.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://celestialbound.com/</loc></url>

  <url><loc>https://celestialbound.com/tienda/</loc></url>
  <url><loc>https://celestialbound.com/en/shop/</loc></url>
  <url><loc>https://celestialbound.com/producto/personal/</loc></url>
  <url><loc>https://celestialbound.com/producto/pareja/</loc></url>
  <url><loc>https://celestialbound.com/producto/familia/</loc></url>
  <url><loc>https://celestialbound.com/en/personalized-birth-chart-book/</loc></url>
  <url><loc>https://celestialbound.com/en/couples-birth-chart-book/</loc></url>
  <url><loc>https://celestialbound.com/en/family-birth-chart-book/</loc></url>

  <!-- Las URLs del blog las ESCRIBE `frontend/scripts/prerender-blog.mjs` desde los .md de
       `content/blog/`, en cada build. Editar a mano acá adentro no sirve: se pisa. El resto
       del archivo es curado a mano y el generador no lo toca.
       Éstas sí llevan `lastmod` —la fecha del post— porque sale del build y no de la mano,
       que es la única forma en que un lastmod no miente. -->
  <!-- blog:start -->
  <url><loc>https://celestialbound.com/blog/</loc></url>
  <url><loc>https://celestialbound.com/blog/carta-natal-sin-hora/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/blog/casa-7-a-quien-buscas/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/blog/la-compatibilidad-no-es-un-porcentaje/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/blog/la-luna-lo-que-necesitas/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/blog/medio-cielo-tu-lugar/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/blog/que-es-el-ascendente/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/blog/que-mira-tu-carta-completa/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/blog/venus-como-elegis/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/en/blog/</loc></url>
  <url><loc>https://celestialbound.com/en/blog/birth-chart-without-birth-time/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/en/blog/compatibility-is-not-a-percentage/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/en/blog/house-7-who-you-seek/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/en/blog/midheaven-your-place/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/en/blog/venus-how-you-choose/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/en/blog/what-a-whole-chart-looks-at/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/en/blog/what-is-the-ascendant/</loc><lastmod>2026-09-16</lastmod></url>
  <url><loc>https://celestialbound.com/en/blog/your-moon-what-you-need/</loc><lastmod>2026-09-16</lastmod></url>
  <!-- blog:end -->

  <url><loc>https://celestialbound.com/legal/privacidad/</loc></url>
  <url><loc>https://celestialbound.com/legal/terminos/</loc></url>
  <url><loc>https://celestialbound.com/legal/uso-aceptable/</loc></url>
  <url><loc>https://celestialbound.com/legal/reembolsos/</loc></url>

  <url><loc>https://celestialbound.com/muestra/personal-es.pdf</loc></url>
  <url><loc>https://celestialbound.com/muestra/personal-en.pdf</loc></url>
  <url><loc>https://celestialbound.com/muestra/pareja-es.pdf</loc></url>
  <url><loc>https://celestialbound.com/muestra/pareja-en.pdf</loc></url>
  <url><loc>https://celestialbound.com/muestra/familia-es.pdf</loc></url>
  <url><loc>https://celestialbound.com/muestra/familia-en.pdf</loc></url>
</urlset>
