<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://analyticslegends.ai/</loc>
    <lastmod>2026-07-29</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://analyticslegends.ai/" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://analyticslegends.ai/fr/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://analyticslegends.ai/" />
  </url>
  <url>
    <loc>https://analyticslegends.ai/fr/</loc>
    <lastmod>2026-07-29</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://analyticslegends.ai/" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://analyticslegends.ai/fr/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://analyticslegends.ai/" />
  </url>
  <!-- HUB + FLAGSHIP-STUDY entries REMOVED 2026-07-28 (SEO plan A14). They were
       added 2026-07-27 and are correct URLs, but they were ALSO declared by the
       generated child that owns them (/companies/ in sitemap-directory.xml; the
       concepts/academy/studies hubs and the three flagship studies in
       sitemap-teasers.xml). 9 URLs declared twice = 3,763 declarations for 3,754
       unique URLs, and a crawler that reconciles the index sees the same page
       under two <lastmod>/<priority> values. INVARIANT: one URL, one sitemap —
       this file carries ONLY the two real SPA shells, and audit-seo-drift.mjs
       check (a) now asserts the no-duplicate-across-children property. Anything
       prerendered belongs in the child its generator writes, never here. -->
</urlset>
