<?xml version="1.0" encoding="UTF-8"?>
<!--
  Public, indexable routes only — deliberately excludes /account, /kasse, /bestellung/*,
  /passwort-reset and /menu, which robots.txt also disallows.

  Static rather than generated: the route set is a hand-maintained list in App.tsx, not data,
  so a build step reading it would add machinery without adding truth. If a route is added
  there, add it here — and to ROUTE_META in hooks/useDocumentMeta.ts, which is what gives it
  a title and description.

  No hreflang alternates: the DE/EN switch is client-side state on the same URL, so there is
  no separate URL per language for a crawler to be pointed at. If language ever needs to be
  indexed separately, that requires real per-locale paths (/en/...) first.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://balconify.de/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://balconify.de/produkte/bank</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://balconify.de/configurator</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://balconify.de/ablauf</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://balconify.de/agb</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://balconify.de/widerruf</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://balconify.de/impressum</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://balconify.de/datenschutz</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
