<?xml version="1.0" encoding="UTF-8"?>
<!--
  Sitemap da Speake Academy.

  Antes deste arquivo, /sitemap.xml devolvia o index.html da SPA com
  content-type text/html.

  SÃO TRÊS URLs, E NÃO A TRILHA DE CURSOS — de propósito.

  As páginas de curso (/courses, /courses/:slug, /courses/:slug/lessons/:id)
  vivem sob AppLayout, que faz guard de sessão: sem autenticação o componente
  devolve `null` e manda para /login. Elas não servem conteúdo nenhum a um
  crawler. Listá-las aqui seria declarar "rastreie estas páginas" para URLs que
  respondem com um shell vazio — a mesma auto-contradição de pôr no sitemap uma
  página que serve noindex.

  Para os cursos virarem ativo de busca é preciso uma camada pública de prévia
  (ementa, primeira aula, descrição) renderizada no servidor. Isso é decisão de
  produto com custo real, e está escrita em docs/proposta-ssg-seo.md.

  Sem lastmod: a SPA não versiona conteúdo por rota, e lastmod inventado é
  sinal falso — o Google desconta o campo inteiro do domínio quando percebe.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://academy.speake.com.br/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://academy.speake.com.br/about</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://academy.speake.com.br/assinar</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>
