<?xml version="1.0" encoding="UTF-8"?>
<!--
  Sitemap der öffentlichen Seiten. Absolute URLs sind hier Pflicht — die
  Sitemap-Spezifikation verlangt vollständige URLs, relative <loc>-Werte
  ignorieren Crawler.

  Bewusst NICHT enthalten: /404 (noindex) und /app/ (Kassen-App hinter Login).

  ACHTUNG, am 20.08.2026 gegen die Live-Domain nachgemessen: Die Annahme
  „ohne Slash, ohne Redirect" stimmt in der Produktion NICHT.

      curl -I https://kassen-helfer.de/impressum   → 301 auf /impressum/

  Der Container aus frontend/Dockerfile setzt zwar `DirectorySlash Off`, der
  vorgelagerte Reverse-Proxy (nicht in diesem Repo, siehe DEPLOY.md) hängt den
  Slash aber an. Damit zeigen `canonical` und `og:url` auf eine Adresse, die
  ihrerseits weiterleitet, und jede Sitemap-URL kostet einen Sprung.

  Zu entscheiden — eins von beiden, nicht beides:
   a) Proxy so einstellen, dass er NICHT umleitet (entspricht der Absicht des
      Repos und braucht hier keine Änderung), ODER
   b) canonical, og:url und diese Sitemap auf die Form MIT Slash umstellen.

  Bis dahin bleibt es bei der Form ohne Slash — sie passt zum canonical, und
  ein halber Wechsel wäre schlimmer als beides falsch.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://kassen-helfer.de/</loc>
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <!-- Die einzige weitere Seite mit `index, follow` — und die, über die
         neue Kunden hereinkommen. Sie fehlte hier. -->
    <loc>https://kassen-helfer.de/registrierung</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kassen-helfer.de/impressum</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://kassen-helfer.de/datenschutz</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
