<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">

  <!-- Landing page - homepage.
       `changefreq` en `yearly` desde el 14-09-2026, y no es pesimismo: estas
       dos páginas cambian cuando hay algo que decir, no cada mes. Un
       `monthly` que no se cumple le enseña al rastreador a desconfiar del
       archivo entero, `lastmod` incluido — y el `lastmod` sí importa, porque
       es lo que dice que la comparativa está fresca.

       Y por eso el `lastmod` de ESTA página se quedó en el 24-08 aunque el
       14-09 se le tocaran dos palabras del copy: un `lastmod` que se mueve por
       un cambio que ningún lector notaría deja de significar "acá hay algo
       nuevo". Se sube cuando cambia contenido de verdad. -->
  <url>
    <loc>https://www.neovibe.cl/</loc>
    <lastmod>2026-08-24</lastmod>
    <changefreq>yearly</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.neovibe.cl/" />
    <xhtml:link rel="alternate" hreflang="es-CL" href="https://www.neovibe.cl/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.neovibe.cl/" />
  </url>

  <!-- Comparativa de precios del mercado chileno. La segunda URL del sitio:
       hasta el 24-08-2026 acá había una sola, y por lo tanto nada que un
       asistente de IA pudiera citar que no fuera la home entera.
       El slug está en shared/paginas-publicas.ts, que es lo que usan el
       servidor, el prerenderizado y el enrutador del cliente. Este archivo es
       XML estático y no puede importarlo: si el slug cambia, hay que tocar
       esta entrada a mano. Hay una prueba que compara las dos cosas.
       El `lastmod` tiene que decir lo mismo que `ACTUALIZADO_EL` en
       comparativa.ts, que es de donde sale el `dateModified` del JSON-LD: un
       sitemap que diga una fecha y el dato estructurado otra es una señal
       contradictoria justo en lo que hace citable a esta página. Hay otra
       prueba que compara esas dos. -->
  <url>
    <loc>https://www.neovibe.cl/precios-software-gimnasios-chile</loc>
    <lastmod>2026-09-14</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.neovibe.cl/precios-software-gimnasios-chile" />
    <xhtml:link rel="alternate" hreflang="es-CL" href="https://www.neovibe.cl/precios-software-gimnasios-chile" />
  </url>

  <!-- La página del segmento de estudios de clases (yoga, pilates, funcional,
       spinning, crossfit, box, kickboxing). Tercera URL del sitio, publicada el
       14-09-2026: los cinco prospectos recientes son de ese segmento y tres de
       ellos llegaron después de preguntarle a un asistente de IA, así que hacía
       falta una URL que se pudiera citar sobre lo suyo y no sobre gimnasios en
       general.
       Mismas dos reglas que la entrada de arriba: el slug vive en
       shared/paginas-publicas.ts y este archivo es XML estático que no puede
       importarlo, y el `lastmod` tiene que decir lo mismo que `ACTUALIZADO_EL`
       en estudios.ts, de donde sale el `dateModified` del JSON-LD. Hay pruebas
       que comparan las dos cosas. -->
  <url>
    <loc>https://www.neovibe.cl/software-estudios-clases-chile</loc>
    <lastmod>2026-09-14</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.neovibe.cl/software-estudios-clases-chile" />
    <xhtml:link rel="alternate" hreflang="es-CL" href="https://www.neovibe.cl/software-estudios-clases-chile" />
  </url>

</urlset>
