<?xml version="1.0" encoding="UTF-8"?>
<!--
  Sitemap de azuredesignlabs.com — regenerado 2026-07-22 al añadir routing real.

  CONTEXTO (leer antes de tocar):

  Hasta hoy el portal era una SPA de UNA sola URL con las secciones en un
  useState: no se podia enlazar a una seccion concreta, y aqui solo se podia
  declarar "/". Desde 2026-07-22 usa React Router y cada seccion tiene URL
  propia, asi que se listan todas.

  La fuente de verdad de las rutas es `frontend/src/lib/routes.ts`. Si añades una
  seccion alli, replica su bloque <url> aqui. Si cambias un `path`, cambialo en
  los dos sitios o este sitemap declarara URLs muertas.

  Excluidos a proposito:
    - /herramientas/azure-diagram -> existe como ruta (para poder enlazarla) pero
                                     va en un iframe y detras del login de Google:
                                     un crawler solo veria el muro de acceso.
                                     Marcada `noIndex` en routes.ts.
    - /tools/azure-diagram/       -> la herramienta real, misma razon.
    - /admin/, /api/              -> privados (bloqueados en robots.txt).
    - /lead-magnets/              -> bloqueados en robots.txt (captacion por email).

  Las paginas del sitio antiguo (blog.html, quiz.html, glosario.html, mapa.html,
  recursos.html, skills.html, flashcards.html) se borraron del servidor y NO se
  listan: el fallback del .htaccess las hace responder 200 con el shell de la
  SPA, o sea soft-404 de contenido duplicado.

  NO se declaran alternates hreflang con ?lang=xx: el idioma se resuelve
  client-side (localStorage + navigator.language, ver lib/LangContext.tsx). El
  parametro ?lang= no se lee nunca y esas URLs devolverian un HTML identico, asi
  que el cluster hreflang seria invalido.

  Limitacion conocida: el <title> y la meta description de cada seccion se ponen
  en JS (lib/useDocumentMeta.ts). Googlebot ejecuta JS y los recoge, pero los
  crawlers que no lo hacen (algunos previews de redes sociales) veran los del
  index.html. Arreglarlo del todo pide prerender/SSG.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

    <!-- Home = Camino IAM (la seccion por defecto) -->
    <url>
        <loc>https://azuredesignlabs.com/</loc>
        <lastmod>2026-07-22</lastmod>
        <changefreq>weekly</changefreq>
        <priority>1.0</priority>
    </url>

    <!-- Contenido que se actualiza a menudo -->
    <url>
        <loc>https://azuredesignlabs.com/publicaciones</loc>
        <lastmod>2026-07-22</lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.9</priority>
    </url>
    <url>
        <loc>https://azuredesignlabs.com/eventos</loc>
        <lastmod>2026-07-22</lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.7</priority>
    </url>

    <!-- Material de estudio -->
    <url>
        <loc>https://azuredesignlabs.com/mapa-iam</loc>
        <lastmod>2026-07-22</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://azuredesignlabs.com/quiz</loc>
        <lastmod>2026-07-22</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://azuredesignlabs.com/flashcards</loc>
        <lastmod>2026-07-22</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.7</priority>
    </url>
    <url>
        <loc>https://azuredesignlabs.com/glosario</loc>
        <lastmod>2026-07-22</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://azuredesignlabs.com/recursos</loc>
        <lastmod>2026-07-22</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.7</priority>
    </url>

    <!-- Institucional -->
    <url>
        <loc>https://azuredesignlabs.com/sobre-mi</loc>
        <lastmod>2026-07-22</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.6</priority>
    </url>

</urlset>
