<?xml version="1.0" encoding="UTF-8"?>
<!--
  sitemap.xml - Portail Diaspora (public frontend)

  Copied verbatim into dist/ by Vite, so it is served at https://<host>/sitemap.xml
  and referenced from public/robots.txt.

  ===========================================================================
  DOMAIN - portail-diaspora.com is production (confirmed live, nginx-served).
  ===========================================================================
  Every URL below is absolute: the sitemap spec forbids relative paths, so the
  host cannot be avoided here the way it can in application code.

  Note this is NOT the host in backoffice/netlify.toml's production context -
  gimac-frontend.netlify.app is referenced there and returns 404.

  To move the domain, change all three together or they disagree:
      - every <loc>/hreflang href below (73)
      - the Sitemap line in public/robots.txt
      - the VITE_SITE_URL fallback in src/lib/seo.ts and the per-context values
        in netlify.toml, which is what the app renders canonical/og:url from
  ===========================================================================

  WHY EVERY ENTRY REPEATS ALL THREE ALTERNATES
  hreflang annotations must be reciprocal and self-inclusive: each URL lists
  the full set of language versions *including itself*. If /fr points at /en
  but /en does not point back, Google discards the pairing entirely. This is
  the only signal linking the two locale trees, because LanguageSwitcher.tsx
  renders <button> elements rather than <a href> - so there is no crawlable
  link between /fr and /en anywhere on the site.

  x-default points at the English version to match runtime behaviour: the /
  route (src/routes/index.tsx) sends anything whose browser language does not
  start with "fr" to /en. If the product is repositioned French-first (all
  copy already is, per CLAUDE.md), flip both this and that redirect together.

  NO <lastmod>: a hand-maintained date drifts out of sync with the content and
  Google ignores lastmod it finds unreliable. Better absent than wrong. Add it
  if this file ever becomes build-generated.

  NO <priority>/<changefreq>: Google ignores both.

  18 URLs = 9 pages x 2 locales. Jurisdiction slugs are identical across both
  locale trees (canada / europe / france), so a page's two URLs differ only by
  their /fr or /en prefix. Keep it that way when adding a jurisdiction - the
  English route used to be /en/terms/europa, which made every cross-locale
  link a special case. Netlify 301s that old path (see netlify.toml).
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">

  <!-- Home -->
  <url>
    <loc>https://portail-diaspora.com/fr</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en"/>
  </url>
  <url>
    <loc>https://portail-diaspora.com/en</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en"/>
  </url>

  <!-- Contact -->
  <url>
    <loc>https://portail-diaspora.com/fr/contact</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/contact"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/contact"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/contact"/>
  </url>
  <url>
    <loc>https://portail-diaspora.com/en/contact</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/contact"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/contact"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/contact"/>
  </url>

  <!-- Join the network (partner banks) -->
  <url>
    <loc>https://portail-diaspora.com/fr/join-network</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/join-network"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/join-network"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/join-network"/>
  </url>
  <url>
    <loc>https://portail-diaspora.com/en/join-network</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/join-network"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/join-network"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/join-network"/>
  </url>

  <!-- Terms -->
  <url>
    <loc>https://portail-diaspora.com/fr/terms</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/terms"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/terms"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/terms"/>
  </url>
  <url>
    <loc>https://portail-diaspora.com/en/terms</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/terms"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/terms"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/terms"/>
  </url>

  <!-- Terms - Canada -->
  <url>
    <loc>https://portail-diaspora.com/fr/terms/canada</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/terms/canada"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/terms/canada"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/terms/canada"/>
  </url>
  <url>
    <loc>https://portail-diaspora.com/en/terms/canada</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/terms/canada"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/terms/canada"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/terms/canada"/>
  </url>

  <!-- Terms - Europe -->
  <url>
    <loc>https://portail-diaspora.com/fr/terms/europe</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/terms/europe"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/terms/europe"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/terms/europe"/>
  </url>
  <url>
    <loc>https://portail-diaspora.com/en/terms/europe</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/terms/europe"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/terms/europe"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/terms/europe"/>
  </url>

  <!-- Privacy -->
  <url>
    <loc>https://portail-diaspora.com/fr/privacy</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/privacy"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/privacy"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/privacy"/>
  </url>
  <url>
    <loc>https://portail-diaspora.com/en/privacy</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/privacy"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/privacy"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/privacy"/>
  </url>

  <!-- Privacy - Canada -->
  <url>
    <loc>https://portail-diaspora.com/fr/privacy/canada</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/privacy/canada"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/privacy/canada"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/privacy/canada"/>
  </url>
  <url>
    <loc>https://portail-diaspora.com/en/privacy/canada</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/privacy/canada"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/privacy/canada"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/privacy/canada"/>
  </url>

  <!-- Privacy - France -->
  <url>
    <loc>https://portail-diaspora.com/fr/privacy/france</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/privacy/france"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/privacy/france"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/privacy/france"/>
  </url>
  <url>
    <loc>https://portail-diaspora.com/en/privacy/france</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://portail-diaspora.com/fr/privacy/france"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://portail-diaspora.com/en/privacy/france"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://portail-diaspora.com/en/privacy/france"/>
  </url>

</urlset>
