<?xml version="1.0" encoding="UTF-8"?>
<!-- Sitemap for racketleagues.app.

     We include only INDEXABLE pages. The invite/join/verify/reset
     flow pages carry meta robots="noindex, nofollow" because they're
     transient token-bearing URLs that shouldn't appear in SERPs.

     The xhtml:link rel="alternate" hreflang="..." entries tell
     Google which URL variants serve which locale. Since the site
     is single-URL with a JS language picker, each alternate points
     at the same path with a ?lang= query param that the picker
     reads on load. -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">

    <url>
        <loc>https://racketleagues.app/</loc>
        <lastmod>2026-04-23</lastmod>
        <changefreq>weekly</changefreq>
        <priority>1.0</priority>
        <xhtml:link rel="alternate" hreflang="en-GB" href="https://racketleagues.app/?lang=en-GB"/>
        <xhtml:link rel="alternate" hreflang="en-US" href="https://racketleagues.app/?lang=en-US"/>
        <xhtml:link rel="alternate" hreflang="es" href="https://racketleagues.app/?lang=es"/>
        <xhtml:link rel="alternate" hreflang="fr" href="https://racketleagues.app/?lang=fr"/>
        <xhtml:link rel="alternate" hreflang="de" href="https://racketleagues.app/?lang=de"/>
        <xhtml:link rel="alternate" hreflang="it" href="https://racketleagues.app/?lang=it"/>
        <xhtml:link rel="alternate" hreflang="pt-BR" href="https://racketleagues.app/?lang=pt-BR"/>
        <xhtml:link rel="alternate" hreflang="nl" href="https://racketleagues.app/?lang=nl"/>
        <xhtml:link rel="alternate" hreflang="sv" href="https://racketleagues.app/?lang=sv"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://racketleagues.app/"/>
    </url>

    <url>
        <loc>https://racketleagues.app/web/guide.html</loc>
        <lastmod>2026-04-23</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.9</priority>
        <xhtml:link rel="alternate" hreflang="en-GB" href="https://racketleagues.app/web/guide.html?lang=en-GB"/>
        <xhtml:link rel="alternate" hreflang="en-US" href="https://racketleagues.app/web/guide.html?lang=en-US"/>
        <xhtml:link rel="alternate" hreflang="es" href="https://racketleagues.app/web/guide.html?lang=es"/>
        <xhtml:link rel="alternate" hreflang="fr" href="https://racketleagues.app/web/guide.html?lang=fr"/>
        <xhtml:link rel="alternate" hreflang="de" href="https://racketleagues.app/web/guide.html?lang=de"/>
        <xhtml:link rel="alternate" hreflang="it" href="https://racketleagues.app/web/guide.html?lang=it"/>
        <xhtml:link rel="alternate" hreflang="pt-BR" href="https://racketleagues.app/web/guide.html?lang=pt-BR"/>
        <xhtml:link rel="alternate" hreflang="nl" href="https://racketleagues.app/web/guide.html?lang=nl"/>
        <xhtml:link rel="alternate" hreflang="sv" href="https://racketleagues.app/web/guide.html?lang=sv"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://racketleagues.app/web/guide.html"/>
    </url>

    <url>
        <loc>https://racketleagues.app/web/support.html</loc>
        <lastmod>2026-04-23</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.7</priority>
        <xhtml:link rel="alternate" hreflang="en-GB" href="https://racketleagues.app/web/support.html?lang=en-GB"/>
        <xhtml:link rel="alternate" hreflang="en-US" href="https://racketleagues.app/web/support.html?lang=en-US"/>
        <xhtml:link rel="alternate" hreflang="es" href="https://racketleagues.app/web/support.html?lang=es"/>
        <xhtml:link rel="alternate" hreflang="fr" href="https://racketleagues.app/web/support.html?lang=fr"/>
        <xhtml:link rel="alternate" hreflang="de" href="https://racketleagues.app/web/support.html?lang=de"/>
        <xhtml:link rel="alternate" hreflang="it" href="https://racketleagues.app/web/support.html?lang=it"/>
        <xhtml:link rel="alternate" hreflang="pt-BR" href="https://racketleagues.app/web/support.html?lang=pt-BR"/>
        <xhtml:link rel="alternate" hreflang="nl" href="https://racketleagues.app/web/support.html?lang=nl"/>
        <xhtml:link rel="alternate" hreflang="sv" href="https://racketleagues.app/web/support.html?lang=sv"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://racketleagues.app/web/support.html"/>
    </url>

    <url>
        <loc>https://racketleagues.app/web/privacy.html</loc>
        <lastmod>2026-04-23</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.5</priority>
        <xhtml:link rel="alternate" hreflang="en-GB" href="https://racketleagues.app/web/privacy.html?lang=en-GB"/>
        <xhtml:link rel="alternate" hreflang="en-US" href="https://racketleagues.app/web/privacy.html?lang=en-US"/>
        <xhtml:link rel="alternate" hreflang="es" href="https://racketleagues.app/web/privacy.html?lang=es"/>
        <xhtml:link rel="alternate" hreflang="fr" href="https://racketleagues.app/web/privacy.html?lang=fr"/>
        <xhtml:link rel="alternate" hreflang="de" href="https://racketleagues.app/web/privacy.html?lang=de"/>
        <xhtml:link rel="alternate" hreflang="it" href="https://racketleagues.app/web/privacy.html?lang=it"/>
        <xhtml:link rel="alternate" hreflang="pt-BR" href="https://racketleagues.app/web/privacy.html?lang=pt-BR"/>
        <xhtml:link rel="alternate" hreflang="nl" href="https://racketleagues.app/web/privacy.html?lang=nl"/>
        <xhtml:link rel="alternate" hreflang="sv" href="https://racketleagues.app/web/privacy.html?lang=sv"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://racketleagues.app/web/privacy.html"/>
    </url>

    <url>
        <loc>https://racketleagues.app/web/terms.html</loc>
        <lastmod>2026-04-23</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.5</priority>
        <xhtml:link rel="alternate" hreflang="en-GB" href="https://racketleagues.app/web/terms.html?lang=en-GB"/>
        <xhtml:link rel="alternate" hreflang="en-US" href="https://racketleagues.app/web/terms.html?lang=en-US"/>
        <xhtml:link rel="alternate" hreflang="es" href="https://racketleagues.app/web/terms.html?lang=es"/>
        <xhtml:link rel="alternate" hreflang="fr" href="https://racketleagues.app/web/terms.html?lang=fr"/>
        <xhtml:link rel="alternate" hreflang="de" href="https://racketleagues.app/web/terms.html?lang=de"/>
        <xhtml:link rel="alternate" hreflang="it" href="https://racketleagues.app/web/terms.html?lang=it"/>
        <xhtml:link rel="alternate" hreflang="pt-BR" href="https://racketleagues.app/web/terms.html?lang=pt-BR"/>
        <xhtml:link rel="alternate" hreflang="nl" href="https://racketleagues.app/web/terms.html?lang=nl"/>
        <xhtml:link rel="alternate" hreflang="sv" href="https://racketleagues.app/web/terms.html?lang=sv"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://racketleagues.app/web/terms.html"/>
    </url>

</urlset>

