<?xml version="1.0" encoding="UTF-8"?>
<!-- The site's indexable pages. Each app screen has an English and a French
     address (?lang=fr), linked to each other with hreflang. A review
     (/review?...) and a puzzle session (.../play) are left out: they are
     marked noindex (deploy/head.mjs). -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://gchessreview.com/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/"/>
  </url>
  <url>
    <loc>https://gchessreview.com/?lang=fr</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/"/>
  </url>
  <url>
    <loc>https://gchessreview.com/games</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/games"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/games?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/games"/>
  </url>
  <url>
    <loc>https://gchessreview.com/games?lang=fr</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/games"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/games?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/games"/>
  </url>
  <url>
    <loc>https://gchessreview.com/puzzles</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/puzzles"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/puzzles?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/puzzles"/>
  </url>
  <url>
    <loc>https://gchessreview.com/puzzles?lang=fr</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/puzzles"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/puzzles?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/puzzles"/>
  </url>
  <url>
    <loc>https://gchessreview.com/puzzles/opening</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/puzzles/opening"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/puzzles/opening?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/puzzles/opening"/>
  </url>
  <url>
    <loc>https://gchessreview.com/puzzles/opening?lang=fr</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/puzzles/opening"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/puzzles/opening?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/puzzles/opening"/>
  </url>
  <url>
    <loc>https://gchessreview.com/puzzles/tactics</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/puzzles/tactics"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/puzzles/tactics?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/puzzles/tactics"/>
  </url>
  <url>
    <loc>https://gchessreview.com/puzzles/tactics?lang=fr</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/puzzles/tactics"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/puzzles/tactics?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/puzzles/tactics"/>
  </url>
  <url>
    <loc>https://gchessreview.com/puzzles/endgames</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/puzzles/endgames"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/puzzles/endgames?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/puzzles/endgames"/>
  </url>
  <url>
    <loc>https://gchessreview.com/puzzles/endgames?lang=fr</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/puzzles/endgames"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/puzzles/endgames?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/puzzles/endgames"/>
  </url>
  <url>
    <loc>https://gchessreview.com/puzzles/checkmate</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/puzzles/checkmate"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/puzzles/checkmate?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/puzzles/checkmate"/>
  </url>
  <url>
    <loc>https://gchessreview.com/puzzles/checkmate?lang=fr</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/puzzles/checkmate"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/puzzles/checkmate?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/puzzles/checkmate"/>
  </url>
  <url>
    <loc>https://gchessreview.com/puzzles/defensive</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/puzzles/defensive"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/puzzles/defensive?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/puzzles/defensive"/>
  </url>
  <url>
    <loc>https://gchessreview.com/puzzles/defensive?lang=fr</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/puzzles/defensive"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/puzzles/defensive?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/puzzles/defensive"/>
  </url>
  <url>
    <loc>https://gchessreview.com/bots</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/bots"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/bots?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/bots"/>
  </url>
  <url>
    <loc>https://gchessreview.com/bots?lang=fr</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/bots"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/bots?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/bots"/>
  </url>
  <url>
    <loc>https://gchessreview.com/legal</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/legal"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/legal?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/legal"/>
  </url>
  <url>
    <loc>https://gchessreview.com/legal?lang=fr</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://gchessreview.com/legal"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://gchessreview.com/legal?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://gchessreview.com/legal"/>
  </url>
  <url>
    <loc>https://gchessreview.com/guides</loc>
  </url>
  <url>
    <loc>https://gchessreview.com/guides/move-classifications</loc>
  </url>
  <url>
    <loc>https://gchessreview.com/guides/how-the-review-works</loc>
  </url>
  <url>
    <loc>https://gchessreview.com/guides/review-chess-com-games-free</loc>
  </url>
  <url>
    <loc>https://gchessreview.com/guides/review-lichess-games</loc>
  </url>
  <url>
    <loc>https://gchessreview.com/guides/stockfish-in-your-browser</loc>
  </url>
  <url>
    <loc>https://gchessreview.com/guides/chess-puzzles-by-theme</loc>
  </url>
  <url>
    <loc>https://gchessreview.com/about</loc>
  </url>
  <url>
    <loc>https://gchessreview.com/terms</loc>
  </url>
  <url>
    <loc>https://gchessreview.com/contact</loc>
  </url>
</urlset>
