<?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">

  <!-- WICHTIG: Diese Datei existiert ZWEIMAL im Repo - in public/ (wird live von
       Firebase Hosting serviert) und in src/public/ (landet im Vite-dist auf Cloud Run).
       Beide Kopien müssen byte-identisch bleiben: immer BEIDE Dateien ändern,
       bis die Duplizierung aufgelöst ist. -->

  <!-- Keine Hash-URLs (/#/...) eintragen: Google schneidet Fragments ab,
       alle Hash-Einträge kollabieren zur Homepage. -->

  <!-- DACH-Targeting: Jede URL deklariert de + de-AT + de-CH + x-default auf sich
       selbst - ein Dokument bedient alle drei Regionen (kein separater Länder-Content).
       Sobald regionale Varianten existieren, zeigen die Links auf die Varianten-URLs. -->

  <!-- Homepage / Landing Page -->
  <url>
    <loc>https://velopit.app/</loc>
    <lastmod>2026-06-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/"/>
  </url>

  <!-- Blog
       New article checklist:
       1. Add HTML file to src/server/public/blog/
       2. Add <url> entry below (lastmod = Veröffentlichungsdatum) inkl. hreflang-Block
       3. Add card to src/server/public/blog/index.html
       4. Update related-articles links in existing articles
       5. Mirror the change to the other sitemap copy (public/ <-> src/public/, see note above)
  -->
  <url>
    <loc>https://velopit.app/blog</loc>
    <lastmod>2026-06-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/blog"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/blog"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/blog"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/blog"/>
  </url>

  <url>
    <loc>https://velopit.app/blog/federgabel-service</loc>
    <lastmod>2026-06-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/blog/federgabel-service"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/blog/federgabel-service"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/blog/federgabel-service"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/blog/federgabel-service"/>
  </url>

  <url>
    <loc>https://velopit.app/blog/fahrradkette-wechseln</loc>
    <lastmod>2026-06-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/blog/fahrradkette-wechseln"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/blog/fahrradkette-wechseln"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/blog/fahrradkette-wechseln"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/blog/fahrradkette-wechseln"/>
  </url>

  <url>
    <loc>https://velopit.app/blog/fahrrad-serviceintervalle</loc>
    <lastmod>2026-06-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/blog/fahrrad-serviceintervalle"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/blog/fahrrad-serviceintervalle"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/blog/fahrrad-serviceintervalle"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/blog/fahrrad-serviceintervalle"/>
  </url>

  <url>
    <loc>https://velopit.app/blog/digitales-fahrrad-scheckheft</loc>
    <lastmod>2026-06-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/blog/digitales-fahrrad-scheckheft"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/blog/digitales-fahrrad-scheckheft"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/blog/digitales-fahrrad-scheckheft"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/blog/digitales-fahrrad-scheckheft"/>
  </url>

  <url>
    <loc>https://velopit.app/blog/mtb-wartung-fully</loc>
    <lastmod>2026-06-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/blog/mtb-wartung-fully"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/blog/mtb-wartung-fully"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/blog/mtb-wartung-fully"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/blog/mtb-wartung-fully"/>
  </url>

  <url>
    <loc>https://velopit.app/blog/strava-gear-einrichten</loc>
    <lastmod>2026-06-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/blog/strava-gear-einrichten"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/blog/strava-gear-einrichten"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/blog/strava-gear-einrichten"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/blog/strava-gear-einrichten"/>
  </url>

  <!-- Landing sub-pages (statisch migriert) -->
  <url>
    <loc>https://velopit.app/sport</loc>
    <lastmod>2026-06-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/sport"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/sport"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/sport"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/sport"/>
  </url>

  <url>
    <loc>https://velopit.app/dienstrad</loc>
    <lastmod>2026-06-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/dienstrad"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/dienstrad"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/dienstrad"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/dienstrad"/>
  </url>

  <url>
    <loc>https://velopit.app/features/scheckheft</loc>
    <lastmod>2026-06-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/features/scheckheft"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/features/scheckheft"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/features/scheckheft"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/features/scheckheft"/>
  </url>

  <url>
    <loc>https://velopit.app/features/serviceintervalle</loc>
    <lastmod>2026-06-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/features/serviceintervalle"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/features/serviceintervalle"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/features/serviceintervalle"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/features/serviceintervalle"/>
  </url>

  <url>
    <loc>https://velopit.app/features/crew-chief</loc>
    <lastmod>2026-06-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/features/crew-chief"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/features/crew-chief"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/features/crew-chief"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/features/crew-chief"/>
  </url>

  <url>
    <loc>https://velopit.app/vergleich</loc>
    <lastmod>2026-06-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="de" href="https://velopit.app/vergleich"/>
    <xhtml:link rel="alternate" hreflang="de-AT" href="https://velopit.app/vergleich"/>
    <xhtml:link rel="alternate" hreflang="de-CH" href="https://velopit.app/vergleich"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://velopit.app/vergleich"/>
  </url>

</urlset>
