<?xml version="1.0" encoding="UTF-8"?>
<!--
  Die statischen Seiten von Maptale — seit der i18n-Welle 6 je Sprache eine
  Adresse.

  Bewusst NUR die vier öffentlichen Seiten, jetzt achtmal. Was fehlt und warum:

  * Profile (/@handle) und Touren (/tour/:id) haben ihre eigenen Sitemaps aus
    der Datenbank (/sitemap-profile.xml, /sitemap-touren.xml). Sie bleiben
    PRÄFIXFREI und bekommen deshalb auch hier kein Sprachpaar: Was auf ihnen
    steht, ist vom Nutzer geschrieben und bekommt keine eigene Sprachadresse
    (eine Maschinenübersetzung legt der Server nur über die Antwort,
    konzept_touren_uebersetzen.md §6) — zwei Adressen mit Wort für Wort
    demselben Inhalt wären genau das Duplikat, gegen das hreflang gedacht ist
    (konzept_mehrsprachigkeit_i18n.md §3a.a). Die Ausnahme sind die
    mitgelieferten Beispieltouren: Sie sind von Hand übersetzt und stehen seit
    dem 2026-09-28 unter /de/tour/:id und /en/tour/:id, beide in
    /sitemap-touren.xml.
  * /account und /admin sind in der robots.txt gesperrt, ein Eintrag hier
    widerspräche dem. Die Tür zum Studio (/login, /register, /home) ist offen,
    trägt aber `noindex` und steht deshalb ebenfalls nicht hier.
  * /licenses (die Drittlizenzen) ist offen und trägt `noindex`: fast nur
    Lizenztexte, die wortgleich auf Tausenden Seiten stehen.
  * Die präfixfreien Altadressen (/gallery, /imprint, /privacy) stehen NICHT
    hier. Sie antworten mit einer 302 auf die aufgelöste Sprache; eine
    umleitende Adresse in einer Sitemap ist eine Aufforderung, die Zielseite
    zweimal zu holen. Auch als `hreflang="x-default"` stehen sie nicht mehr:
    Googlebot bekommt dort eine 302 auf `/en`, und Google nahm die präfixfreie
    Adresse als kanonisch und `/en` als Duplikat (Search Console, 2026-10-09).
    `x-default` ist deshalb die englische Fassung, der Rückfall der Weiche.
    AUSSER bei der Startseite (seit dem 2026-10-30): Dort ist `x-default`
    wieder `/`, die Markenadresse, auf die alle Kanäle verlinken. Ohne den
    Verweis führte Google sie nur noch als „Seite mit Weiterleitung", und für
    „maptale" stand nichts mehr im Index (BaseLayout.astro).

  Jede Adresse nennt BEIDE Sprachfassungen und sich selbst (`xhtml:link`), wie
  es der Sitemap-Standard für hreflang verlangt: Die Verweise müssen
  wechselseitig sein, sonst wertet Google sie nicht. Dieselbe Auskunft steht im
  HTML-Kopf; doppelt ist hier richtig, weil ein Crawler nicht beides sehen muss.

  Diese Datei wird von Hand gepflegt. Der Wächter in test/routes.test.ts hält
  sie gegen src/app/shell/routes.ts: Jeder Pfad der Tabelle muss je Sprache hier
  stehen, gesperrt sein oder ausdrücklich als „gecrawlt, aber nicht gelistet"
  geführt werden — sonst fällt eine neue Seite still aus dem Index.

  Kein `lastmod`: Ein Datum, das beim ersten Inhaltswechsel nicht mitgeht, ist
  schlechter als keines — Suchmaschinen entwerten die Angabe für die ganze
  Datei, sobald sie ihr nicht mehr trauen.
-->
<urlset
  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
>
  <url>
    <loc>https://maptale.io/de</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://maptale.io/de" />
    <xhtml:link rel="alternate" hreflang="en" href="https://maptale.io/en" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://maptale.io/" />
  </url>
  <url>
    <loc>https://maptale.io/en</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://maptale.io/de" />
    <xhtml:link rel="alternate" hreflang="en" href="https://maptale.io/en" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://maptale.io/" />
  </url>
  <url>
    <loc>https://maptale.io/de/relive-alternative</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://maptale.io/de/relive-alternative" />
    <xhtml:link rel="alternate" hreflang="en" href="https://maptale.io/en/relive-alternative" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://maptale.io/en/relive-alternative" />
  </url>
  <url>
    <loc>https://maptale.io/en/relive-alternative</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://maptale.io/de/relive-alternative" />
    <xhtml:link rel="alternate" hreflang="en" href="https://maptale.io/en/relive-alternative" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://maptale.io/en/relive-alternative" />
  </url>
  <url>
    <loc>https://maptale.io/de/hiking</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://maptale.io/de/hiking" />
    <xhtml:link rel="alternate" hreflang="en" href="https://maptale.io/en/hiking" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://maptale.io/en/hiking" />
  </url>
  <url>
    <loc>https://maptale.io/en/hiking</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://maptale.io/de/hiking" />
    <xhtml:link rel="alternate" hreflang="en" href="https://maptale.io/en/hiking" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://maptale.io/en/hiking" />
  </url>
  <url>
    <loc>https://maptale.io/de/updates</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://maptale.io/de/updates" />
    <xhtml:link rel="alternate" hreflang="en" href="https://maptale.io/en/updates" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://maptale.io/en/updates" />
  </url>
  <url>
    <loc>https://maptale.io/en/updates</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://maptale.io/de/updates" />
    <xhtml:link rel="alternate" hreflang="en" href="https://maptale.io/en/updates" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://maptale.io/en/updates" />
  </url>
  <url>
    <loc>https://maptale.io/de/imprint</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://maptale.io/de/imprint" />
    <xhtml:link rel="alternate" hreflang="en" href="https://maptale.io/en/imprint" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://maptale.io/en/imprint" />
  </url>
  <url>
    <loc>https://maptale.io/en/imprint</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://maptale.io/de/imprint" />
    <xhtml:link rel="alternate" hreflang="en" href="https://maptale.io/en/imprint" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://maptale.io/en/imprint" />
  </url>
  <url>
    <loc>https://maptale.io/de/privacy</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://maptale.io/de/privacy" />
    <xhtml:link rel="alternate" hreflang="en" href="https://maptale.io/en/privacy" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://maptale.io/en/privacy" />
  </url>
  <url>
    <loc>https://maptale.io/en/privacy</loc>
    <xhtml:link rel="alternate" hreflang="de" href="https://maptale.io/de/privacy" />
    <xhtml:link rel="alternate" hreflang="en" href="https://maptale.io/en/privacy" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://maptale.io/en/privacy" />
  </url>
</urlset>
