<?xml version="1.0" encoding="UTF-8"?>
<!--
  Six URLs depuis le passage a BrowserRouter (2026-07-27).

  Il n'en portait qu'une jusque-la, et ce n'etait pas un oubli : sous HashRouter
  /privacy, /terms et /contact n'etaient pas des URLs mais des fragments
  `#/privacy`, qu'aucun crawler ne traite comme une page distincte. Demander
  leur indexation aurait soumis des doublons a l'octet pres de la racine.

  Ce sont maintenant de vraies URLs, servies par le fallback SPA de nginx, avec
  chacune son contenu. Les lister est enfin exact.

  Ne listent PAS : les routes de l'application (/dashboard, /workspace/…), qui
  exigent une session et n'ont rien a offrir a un crawler.

  Ne liste PAS /demo non plus, et c'est delibere. La route existe depuis
  2026-07-27 pour les liens partages — elle n'a aucun contenu servi par le
  serveur, seulement un echiquier monte par JavaScript. La declarer reviendrait
  a soumettre a l'indexation une page dont un crawler ne tirerait rien, et qui
  ferait doublon avec la landing dont la demo est deja le sujet. Elle reste
  atteignable par son URL, ce qui est exactement ce qu'on lui demande.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://chessmemo.pro/</loc>
    <lastmod>2026-07-27</lastmod>
  </url>
  <url>
    <loc>https://chessmemo.pro/how-it-works</loc>
    <lastmod>2026-07-27</lastmod>
  </url>
  <url>
    <loc>https://chessmemo.pro/faq</loc>
    <lastmod>2026-07-27</lastmod>
  </url>
  <url>
    <loc>https://chessmemo.pro/privacy</loc>
    <lastmod>2026-07-27</lastmod>
  </url>
  <url>
    <loc>https://chessmemo.pro/terms</loc>
    <lastmod>2026-07-27</lastmod>
  </url>
  <url>
    <loc>https://chessmemo.pro/contact</loc>
    <lastmod>2026-07-27</lastmod>
  </url>
</urlset>
