<?xml version="1.0" encoding="UTF-8"?>
<!--
  sitemap.xml – neu am 31.07.2026 (Befund G5).

  Enthaelt ausschliesslich oeffentlich erreichbare Seiten ohne Anmeldung.
  Der angemeldete Bereich und alle tokengeschuetzten Kundenlinks stehen bewusst
  NICHT hier (und zusaetzlich in robots.txt auf Disallow).

  Die Datei wird statisch ausgeliefert; lastmod ist der Stand der letzten
  inhaltlichen Ueberarbeitung, nicht das Deploy-Datum.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://angebotspro.app/</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/gewerke</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/stundensatz-rechner-kostenlos</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/referenzen</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/alle-rezensionen</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/ueber-uns</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.4</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/kontakt</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.4</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/empfehlungsbedingungen</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.2</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/agb</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.2</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/datenschutz</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.2</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/impressum</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.2</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/widerrufsbelehrung</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.2</priority>
  </url>
  <!--
    Oeffentliche Info-Seite zum Geschaeftskonto (ergaenzt 31.07.2026, Befund W14-2).
    Sie fehlte als EINZIGE der 13 oeffentlichen Routen hier - und wurde zusaetzlich
    von robots.txt ueber den Praefix "/geschaeftskonto" mitgesperrt. Beides ist
    repariert; die Seite setzt ihre eigene canonical (src/App.jsx).
  -->
  <url>
    <loc>https://angebotspro.app/geschaeftskonto-info</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <!--
    Gewerke-Landingpages (ergaenzt 31.07.2026, Befund W7-B).
    Erzeugt aus TRADES in src/components/landing/trades.js - jede dieser Seiten
    ist eine eigenstaendige, textreiche Route (Routen-Erzeugung in src/App.jsx).
    Vorher fehlten sie komplett; zusaetzlich kanonisierten sie durch die statische
    canonical-Zeile in index.html alle auf die Startseite. Seit dem 31.07.2026
    setzt src/pages/Landing.jsx je Gewerk seine eigene canonical.
    Waechter: tools/sitemap-check.mjs (npm run sitemap:check).
  -->
  <url>
    <loc>https://angebotspro.app/galabau</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/dachdecker</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/elektriker</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/maler</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/sanitaer</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/heizung</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/tiefbau</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/trockenbau</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/entruempelung</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/hausmeister</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/fliesenleger</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/zimmerer</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/fensterbau</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/geruestbau</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/bodenleger</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/abbruch</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/estrich</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/metallbau</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/tischler</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/gebaeudereinigung</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/containerdienst</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/umzug</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/solar</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/maurer</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/klempner</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/stuckateur</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/schlosser</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/rollladen</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/klimatechnik</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/ofenbau</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/glaser</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/baumpflege</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/gartenpflege</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/rohrreinigung</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/sicherheitstechnik</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/poolbau</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/wintergarten</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/bautrocknung</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/schaedlingsbekaempfung</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/zaunbau</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/raumausstatter</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/steinmetz</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/kfz</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/strassenbau</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/brunnenbau</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://angebotspro.app/schornsteinfeger</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <!--
    OEFFENTLICHE BETRIEBSSEITEN /betrieb/<slug> (Welle 34, V33.2)

    Hier steht mit Absicht KEIN einziger Betriebs-Slug, und das ist keine
    Nachlaessigkeit, sondern die einzige ehrliche Moeglichkeit:

      1. Der Slug ist die oeffentliche Formular-Kennung eines Betriebs
         (anfrage_formular_id). Sie entsteht zur LAUFZEIT, wenn ein Betrieb sein
         Anfrage-Formular anlegt. Zur Bauzeit dieser Datei ist keine einzige
         gueltige Adresse bekannt.
      2. Diese Datei wird STATISCH ausgeliefert. Es gibt keinen dynamischen
         Sitemap-Endpunkt, der die Slugs zur Abrufzeit nachreichen koennte.
      3. Ein erfundener Beispiel-Slug waere eine 404 in der Sitemap: ein
         Vertrauensschaden bei jedem Crawler, kein Gewinn.

    FOLGE, klar benannt: Die Betriebsseiten muessen ueber die INTERNE VERLINKUNG
    und ueber die Links gefunden werden, die der Betrieb selbst verteilt (QR auf
    den PDFs, Weitergabetexte, Empfehlungs- und Mail-Fusszeilen). Sie sind in
    public/robots.txt ausdruecklich per "Allow: /betrieb/" freigegeben und setzen
    je Seite ihre eigene canonical sowie JSON-LD vom Typ LocalBusiness.

    WAS DAS AUFLOESEN WUERDE: ein dynamischer Sitemap-Endpunkt (Server-Function,
    die die freigegebenen Betriebe auflistet, plus ein zweiter "Sitemap:"-Eintrag
    in robots.txt). Das ist ein eigener Endpunkt und damit eine eigene Welle,
    ausdruecklich NICHT Teil dieser hier.

    Ausgefuehrter Waechter: tools/betriebsseite-index-check.mjs
    (npm run betrieb:index) rendert die Seite, misst ihren Kopf und wertet
    public/robots.txt nach RFC 9309 gegen eine konkrete /betrieb/-Adresse aus.
  -->
</urlset>
