{
  "produkt": "Website-Check Scherzinger",
  "analyse_id": "f5e0303b-8457-4870-88c1-856752bc28bf",
  "url": "https://ruempelwerk-mitteldeutschland.de/",
  "erstellt": "2026-10-18T17:57:32.864411+00:00",
  "gesamtscore": 98,
  "datenabdeckung": 0.955,
  "kategorien": {
    "geo": {
      "note": "",
      "grade": "sehr gut",
      "label": "KI-Bereitschaft (GEO)",
      "score": 94,
      "capped": false,
      "failed": 6,
      "passed": 34,
      "status": "heuristic",
      "category": "geo",
      "checks_total": 52,
      "checks_evaluated": 40
    },
    "local": {
      "note": "",
      "grade": "sehr gut",
      "label": "Lokale Sichtbarkeit",
      "score": 100,
      "capped": false,
      "failed": 0,
      "passed": 11,
      "status": "heuristic",
      "category": "local",
      "checks_total": 13,
      "checks_evaluated": 11
    },
    "onpage": {
      "note": "",
      "grade": "sehr gut",
      "label": "Inhalte & Onpage",
      "score": 97,
      "capped": false,
      "failed": 7,
      "passed": 36,
      "status": "heuristic",
      "category": "onpage",
      "checks_total": 44,
      "checks_evaluated": 43
    },
    "search": {
      "note": "Keine Daten.",
      "grade": "n/a",
      "label": "Google-Suchleistung",
      "score": null,
      "capped": false,
      "failed": 0,
      "passed": 0,
      "status": "unavailable",
      "category": "search",
      "checks_total": 0,
      "checks_evaluated": 0
    },
    "security": {
      "note": "",
      "grade": "sehr gut",
      "label": "Sicherheit",
      "score": 100,
      "capped": false,
      "failed": 0,
      "passed": 36,
      "status": "heuristic",
      "category": "security",
      "checks_total": 39,
      "checks_evaluated": 36
    },
    "marketing": {
      "note": "",
      "grade": "ausbaufähig",
      "label": "Marketing & Tracking",
      "score": 53,
      "capped": false,
      "failed": 3,
      "passed": 2,
      "status": "heuristic",
      "category": "marketing",
      "checks_total": 17,
      "checks_evaluated": 5
    },
    "technical": {
      "note": "",
      "grade": "sehr gut",
      "label": "Technisches SEO",
      "score": 99,
      "capped": false,
      "failed": 4,
      "passed": 55,
      "status": "heuristic",
      "category": "technical",
      "checks_total": 61,
      "checks_evaluated": 59
    },
    "conversion": {
      "note": "",
      "grade": "sehr gut",
      "label": "Kundenfreundlichkeit",
      "score": 99,
      "capped": false,
      "failed": 3,
      "passed": 30,
      "status": "heuristic",
      "category": "conversion",
      "checks_total": 40,
      "checks_evaluated": 33
    },
    "performance": {
      "note": "",
      "grade": "sehr gut",
      "label": "Ladegeschwindigkeit",
      "score": 97,
      "capped": false,
      "failed": 3,
      "passed": 36,
      "status": "heuristic",
      "category": "performance",
      "checks_total": 44,
      "checks_evaluated": 39
    },
    "accessibility": {
      "note": "",
      "grade": "sehr gut",
      "label": "Barrierefreiheit",
      "score": 100,
      "capped": false,
      "failed": 0,
      "passed": 35,
      "status": "heuristic",
      "category": "accessibility",
      "checks_total": 39,
      "checks_evaluated": 35
    }
  },
  "zusammenfassung": {
    "notes": [],
    "home_ms": 187,
    "problems": 25,
    "sitemaps": [
      {
        "url": "https://ruempelwerk-mitteldeutschland.de/sitemap.xml",
        "urls": 7,
        "index": true,
        "status": 200
      },
      {
        "url": "https://ruempelwerk-mitteldeutschland.de/sitemap-main.xml",
        "urls": 100,
        "index": false,
        "status": 200
      },
      {
        "url": "https://ruempelwerk-mitteldeutschland.de/sitemap-services.xml",
        "urls": 18,
        "index": false,
        "status": 200
      },
      {
        "url": "https://ruempelwerk-mitteldeutschland.de/sitemap-matrix.xml",
        "urls": 16,
        "index": false,
        "status": 200
      },
      {
        "url": "https://ruempelwerk-mitteldeutschland.de/sitemap-ratgeber.xml",
        "urls": 24,
        "index": false,
        "status": 200
      },
      {
        "url": "https://ruempelwerk-mitteldeutschland.de/sitemap-jobs.xml",
        "urls": 3,
        "index": false,
        "status": 200
      }
    ],
    "final_url": "https://ruempelwerk-mitteldeutschland.de/",
    "redirects": [],
    "crawl_limit": 25,
    "home_status": 200,
    "links_total": 2734,
    "checks_total": 338,
    "pages_failed": 0,
    "sitemap_urls": 144,
    "crawl_limited": true,
    "pages_crawled": 25,
    "robots_status": 200,
    "checks_katalog": 343,
    "links_internal": 2585,
    "checks_bewertet": 307,
    "external_checked": 20,
    "blocked_by_robots": 0
  },
  "befunde": [
    {
      "code": "onpage.placeholder_text",
      "kategorie": "onpage",
      "titel": "Kein Platzhalter- oder Beispieltext auf den Seiten",
      "bestanden": true,
      "schwere": "high",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.title_present",
      "kategorie": "onpage",
      "titel": "Alle Seiten haben einen Title",
      "bestanden": true,
      "schwere": "high",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.noindex_pages",
      "kategorie": "technical",
      "titel": "2 Unterseiten sind auf „noindex“ gestellt",
      "bestanden": false,
      "schwere": "high",
      "datenstatus": "measured",
      "beschreibung": "Diese Seiten werden von Google nicht in den Suchergebnissen angezeigt. Das ist bei Impressum, Datenschutz oder Danke-Seiten gewollt, bei Leistungs- und Infoseiten nicht.",
      "ursache": "",
      "loesung": "Prüfen Sie jede Seite: Soll sie gefunden werden, entfernen Sie noindex im meta-robots-Tag bzw. im SEO-Plugin.",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/termin/",
        "https://ruempelwerk-mitteldeutschland.de/datenschutz/"
      ],
      "belege": [
        "https://ruempelwerk-mitteldeutschland.de/termin/: meta robots = noindex, follow",
        "https://ruempelwerk-mitteldeutschland.de/datenschutz/: meta robots = noindex, follow"
      ],
      "prioritaet": 1
    },
    {
      "code": "tech.robots_search_bots",
      "kategorie": "technical",
      "titel": "robots.txt lässt Googlebot und Bingbot alle eigenen Seiten zu",
      "bestanden": true,
      "schwere": "high",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.staging_references",
      "kategorie": "technical",
      "titel": "Keine Verweise auf Vorschau- oder Testadressen",
      "bestanden": true,
      "schwere": "high",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.viewport",
      "kategorie": "technical",
      "titel": "Alle Seiten haben ein Viewport-Meta-Tag",
      "bestanden": true,
      "schwere": "high",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.page_cta",
      "kategorie": "conversion",
      "titel": "19 von 20 Inhaltsseiten führen zum Kontakt",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "Auf diesen Seiten gibt es im Inhaltsbereich keinen nächsten Schritt (Kontaktlink, Telefon, E-Mail oder Formular). Wer hier ankommt, ist interessiert und findet keinen Weg zur Anfrage. Menü und Fußbereich zählen nicht.",
      "ursache": "",
      "loesung": "Am Ende jeder Unterseite einen Abschnitt mit Handlungsaufforderung (Button zu Kontakt/Angebot, Telefonnummer) aus der gemeinsamen Vorlage einbinden.",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/aktuelles/"
      ],
      "belege": [
        "/aktuelles/"
      ],
      "prioritaet": 3
    },
    {
      "code": "conv.price_vat",
      "kategorie": "conversion",
      "titel": "19 von 20 Seiten mit Preisen nennen die Steuer",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "Auf diesen Seiten stehen Preise ohne Hinweis auf die Umsatzsteuer. Gegenüber Verbrauchern sind Gesamtpreise mit Steuerhinweis üblich und vorgeschrieben (Hinweis, keine Rechtsberatung).",
      "ursache": "",
      "loesung": "Neben die Preise \"inkl. MwSt.\" bzw. den Hinweis nach § 19 UStG setzen.",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/ratgeber/"
      ],
      "belege": [],
      "prioritaet": 7
    },
    {
      "code": "geo.citable_facts",
      "kategorie": "geo",
      "titel": "Zitierfähige Fakten: 1 von 4 Arten gefunden",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "Gefunden: Preise. Konkrete Zahlen, Preise und Zeiten werden von KI-Systemen bevorzugt übernommen (heuristische Textsuche).",
      "ursache": "",
      "loesung": "Konkrete Fakten ergänzen: Preise \"ab … €\", Jahre Erfahrung, Öffnungszeiten, Einzugsgebiet.",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 6
    },
    {
      "code": "onpage.description_present",
      "kategorie": "onpage",
      "titel": "Alle Seiten haben eine Meta-Description",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.duplicate_content",
      "kategorie": "onpage",
      "titel": "3 Seiten haben (fast) identischen Text (Stichprobe: begrenzter Crawl)",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "Mehrere Seiten haben fast denselben Text. Google zeigt meist nur eine davon und wertet die übrigen ab. Typisch bei Stadt- oder Branchenseiten aus Vorlagen.",
      "ursache": "",
      "loesung": "Machen Sie jede Seite eigenständig (lokale Details, eigene Beispiele, eigene Fragen) oder führen Sie sie zusammen und leiten Sie per 301 um.",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/"
      ],
      "belege": [
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten ≈ https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten ≈ https://ruempelwerk-mitteldeutschland.de/preisangebot/"
      ],
      "prioritaet": 4
    },
    {
      "code": "onpage.img_alt",
      "kategorie": "onpage",
      "titel": "Alle Bilder haben ein alt-Attribut",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.inbound_links",
      "kategorie": "onpage",
      "titel": "Jede gecrawlte Seite ist intern verlinkt",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.thin_content",
      "kategorie": "onpage",
      "titel": "Alle inhaltlichen Seiten haben ausreichend Text (300+ Wörter)",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "high",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.title_duplicate",
      "kategorie": "onpage",
      "titel": "3 Seiten teilen sich einen Title mit anderen Seiten (Stichprobe: begrenzter Crawl)",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "Identische Titles erschweren es Google, die passende Seite zu einer Suche zu wählen; die Seiten konkurrieren miteinander.",
      "ursache": "",
      "loesung": "Geben Sie jeder Seite einen eigenen Title, der ihren konkreten Inhalt benennt.",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/"
      ],
      "belege": [
        "„Preisangebot anfordern: Entrümpelung | Rümpelwerk“ auf 3 Seiten"
      ],
      "prioritaet": 5
    },
    {
      "code": "tech.canonical_conflicts",
      "kategorie": "technical",
      "titel": "2 Seiten haben ein auffälliges Canonical-Tag",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "Das Canonical sagt Google, welche Adresse zählt. Zeigt es auf eine andere Seite, eine Fehlerseite oder eine fremde Domain, wird die eigene Seite nicht indexiert.",
      "ursache": "Mehrfach vorhandene, fremde oder abweichende Canonical-Ziele.",
      "loesung": "Setzen Sie das Canonical jeder Seite auf ihre eigene, absolute https-Adresse. Abweichungen nur, wenn die Seite bewusst ein Duplikat ist.",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune"
      ],
      "belege": [
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten: Canonical zeigt auf andere Seite https://ruempelwerk-mitteldeutschland.de/preisangebot/",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune: Canonical zeigt auf andere Seite https://ruempelwerk-mitteldeutschland.de/preisangebot/"
      ],
      "prioritaet": 2
    },
    {
      "code": "tech.canonical_present",
      "kategorie": "technical",
      "titel": "Alle Seiten haben ein Canonical-Tag",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.hreflang",
      "kategorie": "technical",
      "titel": "hreflang: 2 Seiten mit Fehlern",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "hreflang verbindet Sprachversionen. Ungültige Codes oder fehlende Rückverweise führen dazu, dass Google die Angaben ignoriert.",
      "ursache": "",
      "loesung": "Prüfen Sie Sprachcodes (z. B. de, de-AT, en) und stellen Sie sicher, dass jede Sprachseite auf alle anderen und auf sich selbst verweist.",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune"
      ],
      "belege": [
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten -> https://ruempelwerk-mitteldeutschland.de/preisangebot/ verweist nicht zurück",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten -> https://ruempelwerk-mitteldeutschland.de/preisangebot/ verweist nicht zurück",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune -> https://ruempelwerk-mitteldeutschland.de/preisangebot/ verweist nicht zurück",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune -> https://ruempelwerk-mitteldeutschland.de/preisangebot/ verweist nicht zurück"
      ],
      "prioritaet": 8
    },
    {
      "code": "tech.hreflang_targets",
      "kategorie": "technical",
      "titel": "Alle geprüften hreflang-Ziele antworten direkt",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.js_dependency",
      "kategorie": "technical",
      "titel": "Die Startseite enthält ihren Text bereits im HTML",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "high",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.nofollow_internal",
      "kategorie": "technical",
      "titel": "Keine eigene Seite und kein interner Link ist auf nofollow gestellt",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.redirect_chains",
      "kategorie": "technical",
      "titel": "Keine mehrstufigen Weiterleitungsketten",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "Jede zusätzliche Weiterleitung kostet Ladezeit und Crawl-Budget; Google folgt langen Ketten nicht zuverlässig.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.robots_assets",
      "kategorie": "technical",
      "titel": "robots.txt lässt Stylesheets und Skripte für Google zu",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.sitemap_bad_urls",
      "kategorie": "technical",
      "titel": "Alle gecrawlten Sitemap-URLs sind direkt abrufbar",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.sitemap_noindex",
      "kategorie": "technical",
      "titel": "Alle geprüften Sitemap-Seiten sind indexierbar und kanonisch",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.soft_404_pages",
      "kategorie": "technical",
      "titel": "Keine Seite meldet „nicht gefunden“ mit Status 200",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.lh.label-content-name-mismatch",
      "kategorie": "accessibility",
      "titel": "Elemente mit sichtbarem Textlabel haben keine passenden barrierefreien Namen.",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Von Lighthouse (axe-core) gemeldet; betrifft 1 Element(e) auf der Startseite.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 14
    },
    {
      "code": "conv.form_required",
      "kategorie": "conversion",
      "titel": "Pflichtfelder: 14 von 16 sichtbar gekennzeichnet",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "Pflichtfelder sind technisch gesetzt, aber für Besucher nicht gekennzeichnet. Wer erst nach dem Absenden merkt, was fehlt, bricht eher ab.",
      "ursache": "",
      "loesung": "Pflichtfelder in der Beschriftung kennzeichnen (Stern mit Erklärung \"* Pflichtfeld\").",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 20
    },
    {
      "code": "geo.article_fields",
      "kategorie": "geo",
      "titel": "10 von 11 Artikeln mit Überschrift, Bild und Änderungsdatum im Schema",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Google nennt für Artikel keine Pflichtfelder, empfiehlt aber headline, image, datePublished, dateModified und author. Datum und Autor prüfen geo.article_schema und geo.article_author, hier fehlen: Gefunden: image fehlt.",
      "ursache": "",
      "loesung": "Im Article/BlogPosting-Knoten headline, ein repräsentatives image und dateModified (ISO 8601) ergänzen.",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/entruempelung-kosten/"
      ],
      "belege": [
        "/entruempelung-kosten/: Entrümpelung Kosten berechnen – image fehlt"
      ],
      "prioritaet": 22
    },
    {
      "code": "geo.breadcrumb",
      "kategorie": "geo",
      "titel": "Brotkrumenpfad auf 21 von 22 Unterseiten ausgezeichnet",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Ohne BreadcrumbList zeigt Google statt des Pfades die nackte URL und kann die Seite schlechter einordnen.",
      "ursache": "",
      "loesung": "BreadcrumbList-JSON-LD auf jeder Unterseite ausgeben.",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/termin/"
      ],
      "belege": [],
      "prioritaet": 23
    },
    {
      "code": "geo.person_schema",
      "kategorie": "geo",
      "titel": "0 von 3 Autoren im Schema mit Profilbezug (url oder sameAs)",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Google empfiehlt bei Autoren eine Seite, die die Person eindeutig kennzeichnet (author.url oder sameAs). Ohne sie bleibt der Name eine bloße Zeichenkette. Gefunden: weder url noch sameAs.",
      "ursache": "",
      "loesung": "Bei der Person url (z. B. Über-mich-Seite) oder sameAs (Profile wie LinkedIn, Xing) ergänzen.",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/aktuelles/"
      ],
      "belege": [
        "/aktuelles/: Oliver Pohl – weder url noch sameAs",
        "/aktuelles/: Viktor Grebe – weder url noch sameAs",
        "/aktuelles/: Sebastian Scherzinger – weder url noch sameAs"
      ],
      "prioritaet": 24
    },
    {
      "code": "geo.semantic_html",
      "kategorie": "geo",
      "titel": "Semantische HTML5-Struktur: 3 von 4 Grundelementen",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Vorhanden: main, nav, footer, article. Es fehlt: header.",
      "ursache": "",
      "loesung": "Seitenbereiche mit <header> statt neutraler <div> auszeichnen, damit Hauptinhalt und Navigation klar trennbar sind.",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 17
    },
    {
      "code": "mkt.analytics",
      "kategorie": "marketing",
      "titel": "Keine Webanalyse im Seitencode erkennbar",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Im HTML wurde keine Besucher-Auswertung (z. B. GA4, Matomo, Plausible) gefunden. Ohne Messung ist nicht erkennbar, welche Seiten Anfragen bringen. Eine serverseitige Auswertung oder ein bewusster Verzicht aus Datenschutzgründen ist von außen nicht sichtbar – dann ist dieser Hinweis gegenstandslos.",
      "ursache": "",
      "loesung": "Eine datensparsame Webanalyse (z. B. Plausible, Matomo oder GA4 mit Einwilligung) einrichten und Anfragen als Ziel messen.",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 9
    },
    {
      "code": "mkt.consent",
      "kategorie": "marketing",
      "titel": "Eigene Einwilligungslösung mit Google Consent Mode erkannt",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "Es ist kein bekannter Consent-Manager eingebunden, aber Google Consent Mode mit Standardwert \"abgelehnt\" und ein eigener Cookie-Hinweis. Ob die Lösung rechtssicher funktioniert, kann eine statische Prüfung nicht feststellen (keine Rechtsberatung).",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "Google Ads (AW-18251598355)"
      ],
      "prioritaet": null
    },
    {
      "code": "mkt.social",
      "kategorie": "marketing",
      "titel": "Social-Media-Profile verlinkt: 0",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Es wurden keine Links zu Social-Media-Profilen gefunden (Instagram, Facebook, LinkedIn, TikTok, YouTube, Xing). Das ist nur sinnvoll, wenn Sie dort aktiv sind.",
      "ursache": "",
      "loesung": "Aktive Profile im Footer sichtbar verlinken (und im Schema per sameAs).",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 18
    },
    {
      "code": "onpage.anchor_text",
      "kategorie": "onpage",
      "titel": "Linktexte sind aussagekräftig",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.content_pages",
      "kategorie": "onpage",
      "titel": "Die Website hat 113 inhaltliche Seiten",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "high",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.description_duplicate",
      "kategorie": "onpage",
      "titel": "3 Seiten teilen sich eine Meta-Description (Stichprobe: begrenzter Crawl)",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Gleiche Beschreibungen auf mehreren Seiten wirken austauschbar im Suchergebnis.",
      "ursache": "",
      "loesung": "Formulieren Sie für jede Seite eine eigene Beschreibung.",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/"
      ],
      "belege": [],
      "prioritaet": 16
    },
    {
      "code": "onpage.description_length",
      "kategorie": "onpage",
      "titel": "Alle Descriptions haben eine gute Länge (70–160 Zeichen)",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.h1",
      "kategorie": "onpage",
      "titel": "Jede Seite hat genau eine H1-Überschrift",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.heading_hierarchy",
      "kategorie": "onpage",
      "titel": "Die Überschriften-Hierarchie ist durchgängig",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.inbound_min",
      "kategorie": "onpage",
      "titel": "2 Unterseiten werden von weniger als zwei Seiten verlinkt (Stichprobe: begrenzter Crawl)",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Seiten mit nur einem internen Link erhalten wenig Gewicht und werden von Google seltener besucht. (Gezählt wurden nur die gecrawlten Seiten.)",
      "ursache": "",
      "loesung": "Verlinken Sie diese Seiten zusätzlich aus passenden Texten, Übersichtsseiten oder dem Fußbereich.",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune"
      ],
      "belege": [
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten: 1 Link(s)",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune: 1 Link(s)"
      ],
      "prioritaet": 11
    },
    {
      "code": "onpage.keyword_density",
      "kategorie": "onpage",
      "titel": "Kein Wort ist im Text überstrapaziert",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.keyword_overlap",
      "kategorie": "onpage",
      "titel": "1 Hauptbegriff wird von mehreren Seiten besetzt (Stichprobe: begrenzter Crawl)",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "Mehrere Seiten treten mit demselben Hauptbegriff in Title und H1 an. Google wählt dann eine aus – und das muss nicht die wichtigste sein („Kannibalisierung“).",
      "ursache": "",
      "loesung": "Je Begriff eine Hauptseite: Die anderen Seiten auf ein eigenes Thema ausrichten oder zusammenlegen und mit einem sprechenden Linktext auf die Hauptseite verweisen.",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/"
      ],
      "belege": [
        "„preisangebot anfordern“ auf 3 Seiten"
      ],
      "prioritaet": 12
    },
    {
      "code": "onpage.knowledge_content",
      "kategorie": "onpage",
      "titel": "Es gibt Wissensinhalte (23 Ratgeber-/Blogseiten)",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "high",
      "nutzen": "high",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/ratgeber/altholz-moebel-entsorgen/",
        "https://ruempelwerk-mitteldeutschland.de/ratgeber/altkleider-textilien-entsorgen/",
        "https://ruempelwerk-mitteldeutschland.de/ratgeber/asbest-im-haushalt/",
        "https://ruempelwerk-mitteldeutschland.de/ratgeber/batterien-akkus-entsorgen/",
        "https://ruempelwerk-mitteldeutschland.de/ratgeber/besenrein-wohnungsuebergabe/",
        "https://ruempelwerk-mitteldeutschland.de/ratgeber/daten-loeschen-vor-der-entsorgung/",
        "https://ruempelwerk-mitteldeutschland.de/ratgeber/elektroaltgeraete-entsorgen/",
        "https://ruempelwerk-mitteldeutschland.de/ratgeber/entruempelung-steuerlich-absetzen/",
        "https://ruempelwerk-mitteldeutschland.de/ratgeber/erbe-ausschlagen-nachlass-raeumen/",
        "https://ruempelwerk-mitteldeutschland.de/ratgeber/gewerbeabfall-bei-geschaeftsaufloesung/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.open_graph",
      "kategorie": "onpage",
      "titel": "Open-Graph-Angaben der Startseite sind vollständig",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.own_text_share",
      "kategorie": "onpage",
      "titel": "Der größte Teil jeder Seite ist eigener Inhalt",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "high",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.subheadings",
      "kategorie": "onpage",
      "titel": "Lange Texte sind durch Zwischenüberschriften gegliedert",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.title_h1_match",
      "kategorie": "onpage",
      "titel": "Bei 3 Seiten passen Title, H1 und Text thematisch schlecht zusammen",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "Title, Hauptüberschrift und Text sollten dasselbe Thema und dieselben Begriffe nutzen. Das ist eine einfache Näherung ohne Ziel-Keyword.",
      "ursache": "",
      "loesung": "Bringen Sie den Hauptbegriff in Title, H1 und die ersten Absätze.",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/jobs/",
        "https://ruempelwerk-mitteldeutschland.de/termin/",
        "https://ruempelwerk-mitteldeutschland.de/datenschutz/"
      ],
      "belege": [],
      "prioritaet": 19
    },
    {
      "code": "onpage.title_length",
      "kategorie": "onpage",
      "titel": "1 Title zu kurz (0) oder zu lang (1) (Stichprobe: begrenzter Crawl)",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Zu lange Titles werden in Google abgeschnitten (ab ca. 60 Zeichen), zu kurze nutzen den Platz für Suchbegriffe nicht aus.",
      "ursache": "",
      "loesung": "Formulieren Sie den Title mit 30 bis 60 Zeichen: wichtigster Begriff vorn, Marke am Ende.",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/galerie/"
      ],
      "belege": [
        "https://ruempelwerk-mitteldeutschland.de/galerie/: 62 Zeichen – Galerie: Entrümpelung vorher & nachher, Festpreis | Rümpelwerk"
      ],
      "prioritaet": 10
    },
    {
      "code": "onpage.title_pattern",
      "kategorie": "onpage",
      "titel": "Die Titles folgen nicht alle demselben Schema",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.title_stuffing",
      "kategorie": "onpage",
      "titel": "Kein Wort wird im Title gestapelt",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.topic_areas",
      "kategorie": "onpage",
      "titel": "Die Website ist in 4 Themenbereiche gegliedert",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "high",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "/entrumpelung/ (57 Seiten)",
        "/ratgeber/ (23 Seiten)",
        "/haushaltsaufloesung/ (4 Seiten)",
        "/jobs/ (3 Seiten)"
      ],
      "prioritaet": null
    },
    {
      "code": "onpage.topic_overview",
      "kategorie": "onpage",
      "titel": "Jeder Themenbereich hat eine Übersichtsseite",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.cache_ttl",
      "kategorie": "performance",
      "titel": "Statische Dateien werden lange zwischengespeichert",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Bilder, Skripte und Styles bleiben lange im Browser-Cache; Folgebesuche laden schnell.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.dom_size",
      "kategorie": "performance",
      "titel": "Die Seite hat wenige Elemente",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Die gerenderte Startseite besteht aus 780 Elementen (gut: bis 1.500). Ein großer Aufbau verlangsamt Darstellung und Bedienung, besonders auf älteren Handys.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.hero_priority",
      "kategorie": "performance",
      "titel": "Das erste Bild der Startseite wird nicht bevorzugt geladen",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "Der Browser erfährt nicht, dass das erste große Bild wichtig ist, und lädt es nicht mit Vorrang. Das verschiebt den sichtbaren Aufbau der Seite (LCP). (Schätzung: erstes Inhaltsbild.)",
      "ursache": "",
      "loesung": "fetchpriority=\"high\" an das erste große Bild setzen oder es per <link rel=\"preload\" as=\"image\"> vorladen.",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": 13
    },
    {
      "code": "perf.inline_weight",
      "kategorie": "performance",
      "titel": "Viel eingebetteter Code: im Schnitt 42 KB je Seite",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Im HTML eingebettetes CSS und JavaScript wird bei jedem Seitenaufruf neu übertragen und nie zwischengespeichert; im Schnitt sind es 42 KB je Seite (gut: bis 15 KB).",
      "ursache": "",
      "loesung": "Nur das sichtbare Start-CSS einbetten, alles andere in zwischenspeicherbare Dateien auslagern.",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 21
    },
    {
      "code": "perf.opp.unused-css-rules",
      "kategorie": "performance",
      "titel": "Einsparpotenzial: Nicht verwendetes CSS reduzieren",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "estimated",
      "beschreibung": "Lighthouse schätzt bis zu 0.1 s Ladezeitersparnis (Mobil). Geschätzte Einsparung von 23 KiB",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 25
    },
    {
      "code": "perf.savings",
      "kategorie": "performance",
      "titel": "Keine großen Ladezeit-Einsparungen offen",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Lighthouse findet keine Einzelmaßnahme mit nennenswertem Zeitgewinn.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "Nicht verwendetes CSS reduzieren: 150 ms",
        "JavaScript verkleinern (minimieren): 0 ms"
      ],
      "prioritaet": null
    },
    {
      "code": "tech.canonical_absolute",
      "kategorie": "technical",
      "titel": "Canonical-Tags sind absolute URLs",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.charset",
      "kategorie": "technical",
      "titel": "Der Zeichensatz ist deklariert",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.favicon",
      "kategorie": "technical",
      "titel": "Favicon und Handy-Symbol sind im HTML eingetragen",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.hreflang_lang_match",
      "kategorie": "technical",
      "titel": "Seitensprache (lang) und hreflang stimmen überein",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.html_lang",
      "kategorie": "technical",
      "titel": "Alle Seiten geben ihre Sprache an (html lang)",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.html_valid",
      "kategorie": "technical",
      "titel": "Der HTML-Aufbau der Seiten ist sauber",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.internal_link_redirects",
      "kategorie": "technical",
      "titel": "Interne Links führen direkt zur Zielseite",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.link_variants",
      "kategorie": "technical",
      "titel": "Jede Seite wird immer unter derselben Adresse verlinkt",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.not_found_page",
      "kategorie": "technical",
      "titel": "Die 404-Seite ist gestaltet und führt weiter",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.parameter_urls",
      "kategorie": "technical",
      "titel": "Keine indexierbaren Parameter-Adressen",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.redirect_temporary",
      "kategorie": "technical",
      "titel": "Interne Weiterleitungen sind dauerhaft (301/308)",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.robots_sitemap_ref",
      "kategorie": "technical",
      "titel": "robots.txt verweist auf die Sitemap",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [
        "Sitemap: https://ruempelwerk-mitteldeutschland.de/sitemap.xml",
        "Sitemap: https://ruempelwerk-mitteldeutschland.de/sitemap-main.xml",
        "Sitemap: https://ruempelwerk-mitteldeutschland.de/sitemap-services.xml"
      ],
      "prioritaet": null
    },
    {
      "code": "tech.sitemap_coverage",
      "kategorie": "technical",
      "titel": "2 gecrawlte Seiten fehlen in der Sitemap (im begrenzten Crawl)",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Seiten, die intern verlinkt sind, aber nicht in der Sitemap stehen, werden von Google oft später entdeckt.",
      "ursache": "",
      "loesung": "Nehmen Sie diese Seiten in die Sitemap auf bzw. lassen Sie die Sitemap automatisch aus dem CMS erzeugen.",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune"
      ],
      "belege": [
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=garten",
        "https://ruempelwerk-mitteldeutschland.de/preisangebot/?objekt=scheune"
      ],
      "prioritaet": 15
    },
    {
      "code": "tech.sitemap_size",
      "kategorie": "technical",
      "titel": "Keine Sitemap-Datei ist überfüllt (unter 50.000 URLs)",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.url_structure",
      "kategorie": "technical",
      "titel": "Die URLs sind sauber und lesbar",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.accessible_names_aria",
      "kategorie": "accessibility",
      "titel": "Bedienelemente mit ARIA-Rolle haben Namen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Bedienelemente mit ARIA-Rolle (Button, Eingabe, Dialog, Schalter) haben einen zugänglichen Namen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.alt_quality",
      "kategorie": "accessibility",
      "titel": "Alt-Texte beschreiben die Bilder",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Keine Alt-Texte, die nur aus Dateinamen oder Platzhalterwörtern bestehen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.aria_hidden_focus",
      "kategorie": "accessibility",
      "titel": "Versteckte Bereiche enthalten nichts Bedienbares",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "aria-hidden-Bereiche enthalten keine fokussierbaren Elemente.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.aria_required_parts",
      "kategorie": "accessibility",
      "titel": "ARIA-Rollen haben ihre Pflichtteile",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "ARIA-Rollen sind vollständig aufgebaut (Pflichtattribute, Kind- und Elternelemente).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.aria_valid",
      "kategorie": "accessibility",
      "titel": "ARIA-Angaben sind in sich stimmig",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Alle ARIA-Verweise und -Rollen sind stimmig.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.autocomplete",
      "kategorie": "accessibility",
      "titel": "Persönliche Felder tragen autocomplete",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Alle erkannten persönlichen Felder haben autocomplete.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.autoplay",
      "kategorie": "accessibility",
      "titel": "Kein automatisch startendes Video mit Ton",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Kein Autoplay-Video mit Ton gefunden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.button_names",
      "kategorie": "accessibility",
      "titel": "Buttons haben einen Namen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Alle geprüften Buttons haben Text oder ARIA-Namen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.color_contrast",
      "kategorie": "accessibility",
      "titel": "Texte haben ausreichenden Farbkontrast",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Lighthouse (axe-core) findet auf der Startseite keine Texte mit zu geringem Kontrast.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.dup_ids",
      "kategorie": "accessibility",
      "titel": "IDs sind eindeutig",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Keine doppelten IDs gefunden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.empty_headings",
      "kategorie": "accessibility",
      "titel": "Keine leeren Überschriften",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Keine leere Überschrift gefunden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.fake_controls",
      "kategorie": "accessibility",
      "titel": "Bedienelemente sind echte Buttons und Links",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Keine Schein-Buttons (div/span mit onclick) gefunden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.focus_visible",
      "kategorie": "accessibility",
      "titel": "Keine entfernte Fokus-Umrandung erkannt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Im Inline-CSS wurde keine entfernte Fokus-Umrandung erkannt (externe CSS-Dateien nicht geprüft).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.form_labels",
      "kategorie": "accessibility",
      "titel": "Formularfelder sind beschriftet",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Alle geprüften Eingabefelder haben ein Label oder einen ARIA-Namen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.headings",
      "kategorie": "accessibility",
      "titel": "Überschriftenstruktur ist durchgängig",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Jede geprüfte Seite hat eine H1 und keine übersprungenen Ebenen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.iframe_title",
      "kategorie": "accessibility",
      "titel": "Eingebettete Frames haben einen Titel",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle iframes haben einen Titel.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.img_alt",
      "kategorie": "accessibility",
      "titel": "Alle Bilder haben ein Alt-Attribut",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle geprüften <img>-Tags haben ein alt-Attribut (die Qualität der Texte ist damit nicht bewertet).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.landmarks",
      "kategorie": "accessibility",
      "titel": "Hauptbereich (<main>) vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "<main> ist vorhanden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.lang",
      "kategorie": "accessibility",
      "titel": "Seitensprache ist angegeben",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Das lang-Attribut ist gesetzt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.lang_valid",
      "kategorie": "accessibility",
      "titel": "Sprachcode ist gültig aufgebaut",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle lang-Angaben sind gültig aufgebaut.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.lighthouse.score",
      "kategorie": "accessibility",
      "titel": "Lighthouse-Barrierefreiheit: 100/100",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Google Lighthouse (axe-core) bewertet die Startseite mobil mit 100 von 100 Punkten. Darin enthalten ist u. a. die Prüfung der Farbkontraste (Audit „color-contrast“), die wir nicht selbst nachrechnen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.link_distinguishable",
      "kategorie": "accessibility",
      "titel": "Links im Fließtext sind nicht nur an der Farbe erkennbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Links im Fließtext unterscheiden sich auch ohne Farbe (z. B. Unterstreichung).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.link_identical",
      "kategorie": "accessibility",
      "titel": "Gleiche Linktexte führen zum selben Ziel",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Keine mehrfach verwendeten Linktexte mit verschiedenen Zielen (ab drei Zielen gezählt).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.link_names",
      "kategorie": "accessibility",
      "titel": "Links haben einen Namen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Alle geprüften Links haben einen Namen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.lists",
      "kategorie": "accessibility",
      "titel": "Listen sind korrekt aufgebaut",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Listen bestehen aus <ul>/<ol> mit direkten <li>-Kindern.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.main_single",
      "kategorie": "accessibility",
      "titel": "Jede Seite hat höchstens einen Hauptbereich",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Keine Seite hat mehrere Hauptbereiche.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.manual_note",
      "kategorie": "accessibility",
      "titel": "Hinweis: Automatische Prüfung ersetzt keine manuelle WCAG-Prüfung",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Automatisierte Prüfungen ersetzen keine vollständige manuelle WCAG-Prüfung.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.meta_refresh",
      "kategorie": "accessibility",
      "titel": "Keine automatische Neuladung",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Kein verzögerter Meta-Refresh gefunden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.nav_landmark",
      "kategorie": "accessibility",
      "titel": "Navigation als <nav> ausgezeichnet",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "<nav> ist vorhanden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.object_alt",
      "kategorie": "accessibility",
      "titel": "Eingebettete Objekte haben einen Ersatztext",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Nicht anwendbar: auf den abgerufenen Seiten gibt es nichts, was diese Prüfung betrifft.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.skip_link",
      "kategorie": "accessibility",
      "titel": "Sprunglink „Zum Inhalt“ vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Ein Sprunglink am Seitenanfang erlaubt Tastatur-Nutzern, das Menü zu überspringen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.tabindex",
      "kategorie": "accessibility",
      "titel": "Kein positiver tabindex",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Kein positiver tabindex vorhanden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.table_headers",
      "kategorie": "accessibility",
      "titel": "Tabellen haben Kopfzellen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Keine Tabelle ohne Kopfzellen gefunden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.target_size",
      "kategorie": "accessibility",
      "titel": "Tippflächen sind groß genug",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Bedienelemente haben ausreichend große Tippflächen (mindestens 24 × 24 Pixel).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.th_data_cells",
      "kategorie": "accessibility",
      "titel": "Tabellenköpfe passen zu ihren Datenzellen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Kopfzellen haben Datenzellen, headers-Verweise stimmen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.title",
      "kategorie": "accessibility",
      "titel": "Seitentitel vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle Seiten haben einen Titel.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.video_captions",
      "kategorie": "accessibility",
      "titel": "Videos mit Ton haben Untertitel",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Nicht anwendbar: auf den abgerufenen Seiten gibt es nichts, was diese Prüfung betrifft.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "a11y.zoom",
      "kategorie": "accessibility",
      "titel": "Zoomen ist erlaubt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Der Viewport erlaubt Zoomen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.accessibility_statement",
      "kategorie": "conversion",
      "titel": "Erklärung zur Barrierefreiheit nicht einschlägig (kein Onlineshop erkannt)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Das Barrierefreiheitsstärkungsgesetz (BFSG) betrifft vor allem Onlineshops und Dienste für Verbraucher; Kleinstunternehmen sind ausgenommen. Bei dieser Website wurde kein Shop erkannt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.click_to_call",
      "kategorie": "conversion",
      "titel": "Telefon per Fingertipp wählbar (tel:-Link) ja",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Nummer ist als tel:-Link hinterlegt – auf dem Handy genügt ein Tipp.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [
        "+491635027819",
        "+491635027819"
      ],
      "prioritaet": null
    },
    {
      "code": "conv.contact_form",
      "kategorie": "conversion",
      "titel": "Kontaktformular vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Ein Formular mit E-Mail-/Nachrichtenfeld wurde gefunden (nicht abgesendet).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.contact_in_nav",
      "kategorie": "conversion",
      "titel": "Kontakt in der Navigation ja",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Im Kopfbereich gibt es einen Kontakt-/Anfrage-Link.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "Telefon & WhatsApp +49 163 5027819",
        "Kostenlos anfragen"
      ],
      "prioritaet": null
    },
    {
      "code": "conv.cookies_before_consent",
      "kategorie": "conversion",
      "titel": "Erste Antwort setzt 1 Cookie(s), davon 0 Tracking-Cookie(s)",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Beim ersten Abruf der Startseite wird kein Tracking-Cookie gesetzt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [
        "csrftoken"
      ],
      "prioritaet": null
    },
    {
      "code": "conv.copyright_year",
      "kategorie": "conversion",
      "titel": "Urheberrechtsangabe nennt 2026",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Das Jahr im Fußbereich ist aktuell.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.early_cta",
      "kategorie": "conversion",
      "titel": "Handlungsaufforderung früh sichtbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Im oberen Viertel der Seite gibt es einen Button/Link mit klarer Aufforderung (heuristisch aus dem Quelltext).",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [
        "Kostenlos anfragen",
        "Besichtigung online buchen"
      ],
      "prioritaet": null
    },
    {
      "code": "conv.email",
      "kategorie": "conversion",
      "titel": "E-Mail-Adresse vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "mailto:-Link vorhanden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "info@ruempelwerk-mitteldeutschland.de",
        "info@ruempelwerk-mitteldeutschland.de"
      ],
      "prioritaet": null
    },
    {
      "code": "conv.email_domain",
      "kategorie": "conversion",
      "titel": "E-Mail-Adresse auf eigener Domain",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle gefundenen Adressen gehören zur eigenen Domain.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.embeds_consent",
      "kategorie": "conversion",
      "titel": "Einbettungen nicht einschlägig (keine Videos oder Karten gefunden)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.form_inputs",
      "kategorie": "conversion",
      "titel": "Formularfelder: 25 von 25 Angaben passend",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "E-Mail-, Telefon- und Namensfelder haben den passenden Typ und autocomplete.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.form_length",
      "kategorie": "conversion",
      "titel": "Formularlänge: bis zu 3 Pflichtfelder",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Zahl der Pflichtfelder ist überschaubar.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.form_privacy",
      "kategorie": "conversion",
      "titel": "Datenschutzhinweis an 5 von 5 Formularen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Am Formular steht ein Hinweis auf Datenschutz bzw. Einwilligung.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.form_spam",
      "kategorie": "conversion",
      "titel": "Spamschutz an 5 von 5 Formularen erkennbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Honigtopf-Feld oder Captcha erkannt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.google_fonts",
      "kategorie": "conversion",
      "titel": "Google-Schriften werden nicht von fremden Servern geladen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Es werden keine Schriften von fonts.googleapis.com oder fonts.gstatic.com geladen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.imprint",
      "kategorie": "conversion",
      "titel": "Impressum-Link vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Impressum ist verlinkt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [
        "/impressum/"
      ],
      "prioritaet": null
    },
    {
      "code": "conv.imprint_content",
      "kategorie": "conversion",
      "titel": "Impressum-Grundangaben nicht prüfbar",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Die Impressumsseite gehört nicht zu den gecrawlten Seiten, ihr Inhalt konnte nicht gelesen werden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.imprint_register",
      "kategorie": "conversion",
      "titel": "Impressum-Registerangaben nicht prüfbar",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Die Impressumsseite gehört nicht zu den gecrawlten Seiten, ihr Inhalt konnte nicht gelesen werden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.imprint_sitewide",
      "kategorie": "conversion",
      "titel": "Impressum ist auf 25 von 25 Seiten verlinkt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Der Impressum-Link steht auf allen gecrawlten Seiten.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.legal_links_footer",
      "kategorie": "conversion",
      "titel": "Impressum und Datenschutz im Fußbereich verlinkt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Impressum und Datenschutzerklärung stehen im Fußbereich, wo Besucher sie erwarten.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.legal_outdated",
      "kategorie": "conversion",
      "titel": "Überholte Rechtshinweise nicht prüfbar",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Die Impressumsseite gehört nicht zu den gecrawlten Seiten.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.logo_home",
      "kategorie": "conversion",
      "titel": "Logo führt überall zur Startseite",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Der Klick auf das Logo bringt Besucher zur Startseite zurück.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.messenger",
      "kategorie": "conversion",
      "titel": "WhatsApp/Messenger-Kontakt vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Ein Chat-Link wurde gefunden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [
        "https://wa.me/491635027819"
      ],
      "prioritaet": null
    },
    {
      "code": "conv.navigation",
      "kategorie": "conversion",
      "titel": "Navigation vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Ein Navigationsbereich mit mindestens drei Links wurde gefunden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.offer",
      "kategorie": "conversion",
      "titel": "Leistungen/Preise erkennbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Die Startseite verweist auf Leistungen oder Preise.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [
        "Leistungen und Richtpreise",
        "Haushaltsauflösung in Halle (Saale): Preis und Ablauf"
      ],
      "prioritaet": null
    },
    {
      "code": "conv.phone_visible",
      "kategorie": "conversion",
      "titel": "Telefonnummer sichtbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Eine Telefonnummer ist auf der Seite zu finden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [
        "+49 163 5027819"
      ],
      "prioritaet": null
    },
    {
      "code": "conv.price_info",
      "kategorie": "conversion",
      "titel": "Preise oder Preisrahmen genannt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Preisangaben stehen auf 23 von 25 Seiten.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [
        "/",
        "/dienstleistungen/",
        "/haushaltsaufloesung/"
      ],
      "prioritaet": null
    },
    {
      "code": "conv.privacy",
      "kategorie": "conversion",
      "titel": "Datenschutzerklärung-Link vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Datenschutzerklärung ist verlinkt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [
        "/datenschutz/"
      ],
      "prioritaet": null
    },
    {
      "code": "conv.privacy_content",
      "kategorie": "conversion",
      "titel": "Datenschutzerklärung: 6 von 6 Pflichtangaben gefunden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Verantwortlicher, Rechtsgrundlage, Speicherdauer, Betroffenenrechte, Beschwerderecht und Hosting werden genannt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/datenschutz/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.privacy_sitewide",
      "kategorie": "conversion",
      "titel": "Datenschutz ist auf 25 von 25 Seiten verlinkt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Der Datenschutz-Link steht auf allen gecrawlten Seiten.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.shop_agb",
      "kategorie": "conversion",
      "titel": "Allgemeine Geschäftsbedingungen (AGB) nicht einschlägig (kein Onlineshop erkannt)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Es wurde kein Warenkorb oder Shop-System erkannt, daher wird die Verlinkung nicht gefordert.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.shop_widerruf",
      "kategorie": "conversion",
      "titel": "Widerrufsbelehrung nicht einschlägig (kein Onlineshop erkannt)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Es wurde kein Warenkorb oder Shop-System erkannt, daher wird die Verlinkung nicht gefordert.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.slow_page",
      "kategorie": "conversion",
      "titel": "Mobile Ladeleistung 99/100",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die mobile Ladeleistung steht Anfragen nicht im Weg.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.tel_format",
      "kategorie": "conversion",
      "titel": "Telefon-Links wählen die angezeigte Nummer",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die angezeigte Telefonnummer und das Ziel des tel:-Links stimmen überein.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.tel_international",
      "kategorie": "conversion",
      "titel": "Telefonlinks mit Ländervorwahl: alle",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle tel:-Links tragen die Ländervorwahl.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.tel_sitewide",
      "kategorie": "conversion",
      "titel": "Telefon-Link auf 25 von 25 Seiten",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Auf jeder gecrawlten Seite steht ein anklickbarer Telefon-Link.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "conv.trust",
      "kategorie": "conversion",
      "titel": "Vertrauenselemente erkennbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Erkannt: Link zu Bewertungsplattform; Vertrauensbegriffe (bewertung, geprüft, sterne, ★). ",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [
        "https://maps.google.com/?cid=12002809055374716072&g_mp=CiVnb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzLkdldFBsYWNlEAIYBCAA",
        "https://www.werkenntdenbesten.de/e/114147620/entruempelung/halle-saale/ruempelwerk-mitteldeutschland-bewertungen.html"
      ],
      "prioritaet": null
    },
    {
      "code": "geo.ai_search_bots",
      "kategorie": "geo",
      "titel": "KI-Suchbots dürfen die Website lesen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "OAI-SearchBot, PerplexityBot, Claude-SearchBot und ChatGPT-User sind nicht gesperrt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.ai_training_bots",
      "kategorie": "geo",
      "titel": "KI-Trainings-Crawler: nicht gesperrt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Training-Bots (GPTBot, CCBot, Google-Extended …) zu sperren ist eine Geschmacksfrage und beeinflusst die Sichtbarkeit in Antworten kaum. Nur zur Information.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.answer_first",
      "kategorie": "geo",
      "titel": "Einstiegsabsatz beantwortet Was/Wo",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Der erste Absatz nach der H1 ist knapp und nennt Leistung bzw. Ort. Heuristische Einschätzung.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "Entrümpelung ab 300 € : Oliver Pohl, Inhaber, sieht sich Ihr Objekt kostenlos an – vor Ort oder per WhatsApp-Video."
      ],
      "prioritaet": null
    },
    {
      "code": "geo.answer_pages",
      "kategorie": "geo",
      "titel": "12 von 12 Seiten beginnen mit einer zitierfähigen Antwort",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Die ersten Absätze nennen eine Definition oder eine konkrete Zahl – genau das, was Antwortmaschinen übernehmen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.article_author",
      "kategorie": "geo",
      "titel": "2 von 2 Ratgebern nennen einen Autor",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Die Ratgeber nennen, wer sie geschrieben hat.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.article_date",
      "kategorie": "geo",
      "titel": "2 von 2 Ratgebern zeigen ein Datum",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Die Ratgeber nennen sichtbar ihr Datum.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.article_schema",
      "kategorie": "geo",
      "titel": "2 von 2 Ratgebern vollständig als Article ausgezeichnet",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Ratgeberseiten tragen Article-/BlogPosting-Schema mit Überschrift und Veröffentlichungsdatum.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.author_info",
      "kategorie": "geo",
      "titel": "Verantwortliche Personen erkennbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Erkannt: Person-Schema, author-Meta, Über-uns/Team-Seite.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.breadcrumb_fields",
      "kategorie": "geo",
      "titel": "22 von 22 Brotkrumenpfaden mit allen Google-Feldern",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Jeder Brotkrumenpfad hat mindestens zwei Einträge mit Position, Namen und Adresse.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.event_required",
      "kategorie": "geo",
      "titel": "Veranstaltungs-Schema (Google-Pflichtangaben) nicht prüfbar (kein Event-Schema)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.faq",
      "kategorie": "geo",
      "titel": "FAQ mit Schema vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "FAQPage-Auszeichnung gefunden – gut für direkte Antworten.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.faq_status",
      "kategorie": "geo",
      "titel": "FAQPage-Auszeichnung: Google zeigt die FAQ-Sonderdarstellung nicht mehr",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Laut Googles Dokumentation (Eintrag vom 08.05.2026, Seite mit Einträgen bis Oktober 2026) erscheint das FAQ-Rich-Result seit 07.05.2026 nicht mehr in der Google-Suche. Die Auszeichnung bleibt gültig und schadet nicht; sichtbare Fragen mit kurzen Antworten bleiben auch für KI-Antworten nützlich. Nur ein Hinweis, keine Wertung.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/",
        "https://ruempelwerk-mitteldeutschland.de/dienstleistungen/",
        "https://ruempelwerk-mitteldeutschland.de/haushaltsaufloesung/",
        "https://ruempelwerk-mitteldeutschland.de/wohnungsaufloesung/",
        "https://ruempelwerk-mitteldeutschland.de/kellerentruempelung/"
      ],
      "belege": [
        "/",
        "/dienstleistungen/",
        "/haushaltsaufloesung/"
      ],
      "prioritaet": null
    },
    {
      "code": "geo.faq_visible",
      "kategorie": "geo",
      "titel": "118 von 118 FAQ-Einträgen im Schema stehen sichtbar auf der Seite",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Jede ausgezeichnete Frage und Antwort steht auch im sichtbaren Text.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.feed",
      "kategorie": "geo",
      "titel": "Feed für neue Inhalte verlinkt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Ein RSS-/Atom-Feed ist im Kopfbereich verlinkt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.freshness",
      "kategorie": "geo",
      "titel": "Inhalte aktuell datiert",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Jüngstes erkennbares Datum: 18.10.2026.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.jobposting_required",
      "kategorie": "geo",
      "titel": "Stellenanzeigen-Schema (Google-Pflichtangaben) nicht prüfbar (kein JobPosting-Schema)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.llms_content",
      "kategorie": "geo",
      "titel": "llms.txt erfüllt 4 von 4 Aufbau-Merkmalen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die llms.txt hat Überschrift, Kurzbeschreibung, Abschnitte und verlinkte Kernseiten.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.llms_txt",
      "kategorie": "geo",
      "titel": "llms.txt vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "llms.txt gefunden. Hinweis: Das ist kein Standard, eine Wirkung auf KI-Antworten ist nicht belegt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [
        "# Rümpelwerk Mitteldeutschland > Entrümpelung, Haushaltsauflösung und Sanierung"
      ],
      "prioritaet": null
    },
    {
      "code": "geo.logo_valid",
      "kategorie": "geo",
      "titel": "Logo im Unternehmens-Schema ist nutzbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Das Logo ist eine absolute https-Adresse in einem unterstützten Format und war abrufbar.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [
        "https://ruempelwerk-mitteldeutschland.de/logo.jpg"
      ],
      "prioritaet": null
    },
    {
      "code": "geo.name_consistency",
      "kategorie": "geo",
      "titel": "Firmenname einheitlich",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Name in Schema, og:site_name und Seitentitel stimmt überein.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "Schema: Rümpelwerk Mitteldeutschland",
        "og:site_name: Rümpelwerk Mitteldeutschland"
      ],
      "prioritaet": null
    },
    {
      "code": "geo.org_schema",
      "kategorie": "geo",
      "titel": "Unternehmens-Schema vollständig",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gefunden: name, url, logo, sameAs, address/areaServed, telephone.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [
        "Rümpelwerk Mitteldeutschland"
      ],
      "prioritaet": null
    },
    {
      "code": "geo.price_visible",
      "kategorie": "geo",
      "titel": "Sichtbarkeit der Schema-Preise nicht prüfbar (kein Angebot mit Preis)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.product_offer",
      "kategorie": "geo",
      "titel": "Produkt-Angebote nicht prüfbar (kein Product-Schema)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.product_required",
      "kategorie": "geo",
      "titel": "Produkt-Schema (Google-Pflichtangaben) nicht prüfbar (kein Product-Schema)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.question_headings",
      "kategorie": "geo",
      "titel": "12 von 12 Seiten mit Fragen als Überschrift",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Mindestens jede zweite Seite stellt Fragen, die Besucher wirklich tippen, als Überschrift.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.rating_visible",
      "kategorie": "geo",
      "titel": "Bewertungen im Schema nicht prüfbar (keine aggregateRating)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.recipe_required",
      "kategorie": "geo",
      "titel": "Rezept-Schema (Google-Pflichtangaben) nicht prüfbar (kein Recipe-Schema)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.review_snippet",
      "kategorie": "geo",
      "titel": "Bewertungs-Schema (Google-Vorgaben) nicht prüfbar (keine Review/AggregateRating)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.sameas_count",
      "kategorie": "geo",
      "titel": "sameAs verweist auf 4 Profil(e)",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Mehrere Profile (Verzeichnisse, soziale Netzwerke) verknüpfen die Firma eindeutig.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [
        "https://maps.google.com/?cid=12002809055374716072&g_mp=CiVnb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzLkdldFBsYWNlEAIYBCAA",
        "https://trustlocal.de/sachsen-anhalt/halle-sachsen-anhalt/entrumpelung/r%C3%BCmpelwerk-mitteldeutschland/",
        "https://www.werkenntdenbesten.de/e/114147620/entruempelung/halle-saale/ruempelwerk-mitteldeutschland-bewertungen.html"
      ],
      "prioritaet": null
    },
    {
      "code": "geo.sameas_valid",
      "kategorie": "geo",
      "titel": "4 von 4 sameAs-Adressen sind gültige Profil-Adressen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle sameAs-Einträge sind absolute https-Adressen auf fremde Profile.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [
        "https://maps.google.com/?cid=12002809055374716072&g_mp=CiVnb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzLkdldFBsYWNlEAIYBCAA",
        "https://trustlocal.de/sachsen-anhalt/halle-sachsen-anhalt/entrumpelung/r%C3%BCmpelwerk-mitteldeutschland/"
      ],
      "prioritaet": null
    },
    {
      "code": "geo.schema_dates",
      "kategorie": "geo",
      "titel": "Datumsangaben im Schema plausibel",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "dateModified und datePublished sind stimmig.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.schema_entities",
      "kategorie": "geo",
      "titel": "JSON-LD frei von HTML-Entities",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Texte im JSON-LD sind sauber.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.schema_ids",
      "kategorie": "geo",
      "titel": "100 % der Schema-Knoten tragen eine @id",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Knoten haben stabile Kennungen (z. B. …/#organisation) und lassen sich wiedererkennen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.schema_json_pages",
      "kategorie": "geo",
      "titel": "JSON-LD der Unterseiten lesbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle JSON-LD-Blöcke der Unterseiten lassen sich lesen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.schema_linked",
      "kategorie": "geo",
      "titel": "Schema-Knoten verweisen auf 25 von 25 Seiten aufeinander",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Knoten sind über publisher, isPartOf, about o. ä. verknüpft.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.schema_ok",
      "kategorie": "geo",
      "titel": "Strukturierte Daten (JSON-LD) vorhanden und lesbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "1 JSON-LD-Block/Blöcke, Typen: FAQPage, HomeAndConstructionBusiness, LocalBusiness, WebPage, WebSite.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "FAQPage, HomeAndConstructionBusiness, LocalBusiness, WebPage, WebSite"
      ],
      "prioritaet": null
    },
    {
      "code": "geo.schema_pages",
      "kategorie": "geo",
      "titel": "Strukturierte Daten auf 24 von 24 Unterseiten",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Jede gecrawlte Unterseite trägt strukturierte Daten.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.schema_parse_types",
      "kategorie": "geo",
      "titel": "Schema-Typen und @context sind gültig",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle @type-Angaben sind bekannte schema.org-Typen und jeder Block nennt schema.org als @context.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.schema_refs",
      "kategorie": "geo",
      "titel": "283 von 283 @id-Verweisen führen zu einem Knoten",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Jeder Verweis per @id zeigt auf einen definierten Knoten.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.server_rendered",
      "kategorie": "geo",
      "titel": "Hauptinhalt im HTML: 2318 Wörter",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Startseite enthält 2318 Wörter im ausgelieferten HTML.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.services",
      "kategorie": "geo",
      "titel": "Leistungen sind eindeutig erkennbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Service/Offer-Schema gefunden. 1 Leistungsseiten verlinkt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "https://ruempelwerk-mitteldeutschland.de/dienstleistungen/"
      ],
      "prioritaet": null
    },
    {
      "code": "geo.snippet_brake",
      "kategorie": "geo",
      "titel": "Keine Snippet-Bremse",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Weder nosnippet noch ein zu kleines max-snippet sind gesetzt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.sources",
      "kategorie": "geo",
      "titel": "Quellenangaben in Ratgebern: 0 von 2 Artikeln",
      "bestanden": false,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Externe Belege (Behörden, Studien, Normen) machen Ratgeber zitierfähiger. Heuristische Stichprobe über die gecrawlten Artikel.",
      "ursache": "",
      "loesung": "In Fachartikeln auf seriöse Primärquellen verlinken.",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.structured_content",
      "kategorie": "geo",
      "titel": "12 von 12 langen Seiten sind gegliedert",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Lange Seiten enthalten Listen oder Tabellen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.video_markup_present",
      "kategorie": "geo",
      "titel": "Video-Auszeichnung nicht prüfbar (keine eingebetteten Videos)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.video_required",
      "kategorie": "geo",
      "titel": "Video-Schema (Google-Pflichtangaben) nicht prüfbar (kein VideoObject)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.website_schema",
      "kategorie": "geo",
      "titel": "WebSite-Schema vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Ein WebSite-Knoten benennt den Websitenamen eindeutig.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "local.address_structured",
      "kategorie": "local",
      "titel": "Anschrift im Schema vollständig aufgeschlüsselt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Straße, PLZ, Ort und Land stehen getrennt im Schema.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "local.city_in_title",
      "kategorie": "local",
      "titel": "Ort \"Halle\" in Title/H1: ja",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Title: enthält den Ort; H1: enthält den Ort.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [
        "Entrümpelung Halle (Saale) & Leipzig: Festpreis | Rümpelwerk",
        "Entrümpelung und Haushaltsauflösung in Halle und Leipzig"
      ],
      "prioritaet": null
    },
    {
      "code": "local.gbp_not_connected",
      "kategorie": "local",
      "titel": "Google-Unternehmensprofil nicht verbunden",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Für eine vollständige Analyse muss das Google-Unternehmensprofil verbunden werden. Bewertungen, Kategorien, Fotos und Profilvollständigkeit sind ohne Verbindung nicht einsehbar.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "local.gbp_sameas",
      "kategorie": "local",
      "titel": "sameAs verweist auf das Google-Unternehmensprofil",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Das Schema verknüpft die Firma ausdrücklich mit ihrem Google-Profil.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "https://maps.google.com/?cid=12002809055374716072&g_mp=CiVnb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzLkdldFBsYWNlEAIYBCAA"
      ],
      "prioritaet": null
    },
    {
      "code": "local.hours_schema",
      "kategorie": "local",
      "titel": "Öffnungszeiten im Schema maschinenlesbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "3 Zeitangabe(n) im Schema nutzen Wochentag und Uhrzeit im erwarteten Format.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "local.hours_visible",
      "kategorie": "local",
      "titel": "Öffnungszeiten sichtbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Öffnungs- bzw. Erreichbarkeitszeiten sind im Text zu finden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "rund um die Uhr"
      ],
      "prioritaet": null
    },
    {
      "code": "local.maps",
      "kategorie": "local",
      "titel": "Google Maps eingebunden/verlinkt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Kartenlink oder -einbettung gefunden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "https://maps.google.com/?cid=12002809055374716072&g_mp=CiVnb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzLkdldFBsYWNlEAIYBCAA"
      ],
      "prioritaet": null
    },
    {
      "code": "local.nap",
      "kategorie": "local",
      "titel": "Name, Adresse, Telefon auf der Website: 3 von 3",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gefunden: Name, Adresse, Telefon.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [
        "06110 Halle"
      ],
      "prioritaet": null
    },
    {
      "code": "local.nap_consistency",
      "kategorie": "local",
      "titel": "Kontaktdaten in Schema und Text stimmen überein",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Übereinstimmend: Telefon, PLZ.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [
        "Telefon",
        "PLZ"
      ],
      "prioritaet": null
    },
    {
      "code": "local.nap_imprint",
      "kategorie": "local",
      "titel": "Abgleich mit dem Impressum nicht möglich",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Die Impressumsseite gehört nicht zu den gecrawlten Seiten.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "local.review_links",
      "kategorie": "local",
      "titel": "Link zu Bewertungsplattform vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Website verweist auf Bewertungen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "https://maps.google.com/",
        "https://www.werkenntdenbesten.de/e/114147620/entruempelung/halle-saale/ruempelwerk-mitteldeutschland-bewertungen.html"
      ],
      "prioritaet": null
    },
    {
      "code": "local.schema",
      "kategorie": "local",
      "titel": "LocalBusiness-Schema vollständig",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Vorhanden: address, geo, openingHours, areaServed.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "local.service_area",
      "kategorie": "local",
      "titel": "Einzugsgebiet konkret und auf der Seite belegt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "areaServed nennt Leipzig, Halle (Saale), Schkeuditz; das Gebiet steht auch im sichtbaren Text.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [
        "Leipzig",
        "Halle (Saale)",
        "Schkeuditz"
      ],
      "prioritaet": null
    },
    {
      "code": "mkt.consent_reject",
      "kategorie": "marketing",
      "titel": "Ablehnen-Knopf nicht prüfbar (Banner steckt nicht im HTML)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Das Einwilligungsbanner wird vermutlich per Skript erzeugt oder ist nicht vorhanden; seine Knöpfe sind statisch nicht lesbar.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.consent_revoke",
      "kategorie": "marketing",
      "titel": "Einwilligung lässt sich über einen Link ändern",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Im Seitenfuß o. ä. gibt es einen Link, der die Cookie-Einstellungen wieder öffnet.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.conversion_events",
      "kategorie": "marketing",
      "titel": "Werbe-Tag ohne erkennbares Conversion-Ereignis",
      "bestanden": false,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Ein Werbe-Pixel ist eingebunden, im Quelltext ist aber kein Ereignis (z. B. Anfrage) zu sehen. Es kann im Tag Manager hinterlegt sein.",
      "ursache": "",
      "loesung": "Prüfen, ob eine Anfrage (Formular, Anruf) als Conversion gemessen wird.",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.gtm_container",
      "kategorie": "marketing",
      "titel": "Tag-Manager- und Messkennungen sind gültig aufgebaut",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Es wurde keine Kennung für Tag Manager, GA4 oder Google Ads im Quelltext gefunden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.newsletter_form",
      "kategorie": "marketing",
      "titel": "Newsletter-Anmeldung nennt Einwilligung und Abmeldung",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Es wurde kein Newsletter-Formular im HTML gefunden. Über Skripte nachgeladene Anmeldeformulare (z. B. von Mailchimp) sind nicht sichtbar.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.pii_in_tracking",
      "kategorie": "marketing",
      "titel": "Mess-Ereignisse ohne Kontaktdaten",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Im Quelltext sendet kein Ereignis E-Mail oder Telefonnummer an das Messwerkzeug.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.privacy_services",
      "kategorie": "marketing",
      "titel": "Dienste in der Datenschutzerklärung nicht einschlägig (keine Fremd-Hosts im HTML)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Im HTML werden keine Skripte, Frames oder Stylesheets von fremden Servern geladen. Was Skripte nachladen, ist von außen nicht sichtbar.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.sharing_buttons_privacy",
      "kategorie": "marketing",
      "titel": "Teilen-Schaltflächen laden nicht von Fremdservern vor dem Klick",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Es wurde kein Skript einer Teilen-Schaltfläche gefunden, das vor dem Klick von Fremdservern geladen wird (Einbettungen mit iframe: siehe conv.embeds_consent).",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.tools_detected",
      "kategorie": "marketing",
      "titel": "1 Mess-/Marketing-Werkzeuge erkannt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Erkannt im Quelltext: Google Ads (AW-18251598355).",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "Google Ads (AW-18251598355)"
      ],
      "prioritaet": null
    },
    {
      "code": "mkt.tracking_duplicate",
      "kategorie": "marketing",
      "titel": "Messwerkzeuge jeweils einmal eingebunden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Jede Mess-ID wird pro Seite genau einmal geladen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.tracking_gated",
      "kategorie": "marketing",
      "titel": "Bindung der Tracking-Skripte an die Einwilligung nicht prüfbar (kein Cookie-Tool erkannt)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Ob ein Cookie-Tool fehlt oder nur nicht erkannt wird, bewertet mkt.consent.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.ua_legacy",
      "kategorie": "marketing",
      "titel": "Veralteter Universal-Analytics-Code nicht vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Kein veralteter UA-Code gefunden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.utm_in_canonical",
      "kategorie": "marketing",
      "titel": "Canonical und Sitemap ohne Tracking-Parameter",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Canonical, og:url und Sitemap-Adressen enthalten keine Tracking-Parameter.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.utm_internal",
      "kategorie": "marketing",
      "titel": "UTM-Parameter in internen Links nicht gefunden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Interne Links sind frei von UTM-Parametern.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.ai_phrases",
      "kategorie": "onpage",
      "titel": "Der Text enthält keine Häufung von Standardfloskeln",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.description_cta",
      "kategorie": "onpage",
      "titel": "Die Descriptions enthalten eine Handlungsaufforderung",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.h1_title_identical",
      "kategorie": "onpage",
      "titel": "H1 und Title sind unterschiedlich formuliert",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.heading_repeats",
      "kategorie": "onpage",
      "titel": "Überschriften wiederholen sich nicht innerhalb einer Seite",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.img_broken",
      "kategorie": "onpage",
      "titel": "Alle 12 geprüften Bilder sind erreichbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.img_filenames",
      "kategorie": "onpage",
      "titel": "Bilddateien haben sprechende Namen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.img_formats",
      "kategorie": "onpage",
      "titel": "100 % der Bilder nutzen moderne Formate (WebP/AVIF)",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.img_size",
      "kategorie": "onpage",
      "titel": "Alle Bilder haben Breite und Höhe",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.noscript_content",
      "kategorie": "onpage",
      "titel": "Kein relevanter Text nur im noscript-Block",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "high",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.og_image_valid",
      "kategorie": "onpage",
      "titel": "Open-Graph-Bild ist absolut, sicher eingebunden und erreichbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [
        "https://ruempelwerk-mitteldeutschland.de/og-image.jpg"
      ],
      "prioritaet": null
    },
    {
      "code": "onpage.og_url_match",
      "kategorie": "onpage",
      "titel": "og:url stimmt mit dem Canonical überein",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.open_graph_pages",
      "kategorie": "onpage",
      "titel": "Auch Unterseiten haben Open-Graph-Titel und -Bild",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.readability",
      "kategorie": "onpage",
      "titel": "Lesbarkeit (Flesch/Amstad) im Schnitt 51: mittel",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Der Index schätzt anhand von Satz- und Wortlänge, wie leicht der Text zu lesen ist (0 schwer bis 100 leicht; Fachtexte liegen oft bei 30 bis 50).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/kooperationspartner/"
      ],
      "belege": [
        "https://ruempelwerk-mitteldeutschland.de/kooperationspartner/: 26"
      ],
      "prioritaet": null
    },
    {
      "code": "onpage.template_pages",
      "kategorie": "onpage",
      "titel": "Serienseiten (keine Seitenfamilie erkannt)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.title_brand",
      "kategorie": "onpage",
      "titel": "Der Markenname steht einheitlich im Title",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.title_special_chars",
      "kategorie": "onpage",
      "titel": "Titles ohne störende Sonderzeichen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.twitter_card",
      "kategorie": "onpage",
      "titel": "Twitter/X-Card ist gesetzt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.asset_count",
      "kategorie": "performance",
      "titel": "Nicht zu viele Skript- und Stylesheet-Dateien",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Höchstens 9 eigene Skript- und Stylesheet-Dateien je Seite.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.bfcache",
      "kategorie": "performance",
      "titel": "Seiten können im Vor-/Zurück-Cache bleiben",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Keine Seite trägt „no-store“ oder einen unload-Handler.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.blocking_scripts",
      "kategorie": "performance",
      "titel": "Keine blockierenden Skripte im Kopf der Seite",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Nicht anwendbar: keine externen Skripte im <head>.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.cdn_libs",
      "kategorie": "performance",
      "titel": "Bibliotheken kommen vom eigenen Server",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Keine Seite lädt Skripte oder Styles von einem öffentlichen Bibliotheks-CDN.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.console_errors",
      "kategorie": "performance",
      "titel": "Keine Fehlermeldungen der eigenen Seite in der Browser-Konsole",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die eigene Seite erzeugt keine Konsolenfehler.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.deprecations",
      "kategorie": "performance",
      "titel": "Keine veralteten Browser-Schnittstellen im eigenen Code",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Der eigene Code nutzt keine veralteten Browser-Schnittstellen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.desktop.cls",
      "kategorie": "performance",
      "titel": "Cumulative Layout Shift Desktop: 0.002",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 0.002. Gut ist bis 0.100, schlecht ab 0.250 (Labordaten).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.desktop.fcp",
      "kategorie": "performance",
      "titel": "First Contentful Paint Desktop: 280 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 280 ms. Gut ist bis 1.8 s, schlecht ab 3.0 s (Labordaten).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.desktop.lcp",
      "kategorie": "performance",
      "titel": "Largest Contentful Paint Desktop: 401 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 401 ms. Gut ist bis 2.5 s, schlecht ab 4.0 s (Labordaten).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.desktop.score",
      "kategorie": "performance",
      "titel": "Lighthouse-Leistungswert Desktop: 100/100",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Google Lighthouse bewertet die Ladeleistung desktop mit 100 von 100 Punkten (Labormessung, simulierte Verbindung).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.desktop.si",
      "kategorie": "performance",
      "titel": "Speed Index Desktop: 597 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 597 ms. Gut ist bis 3.4 s, schlecht ab 5.8 s (Labordaten).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.desktop.tbt",
      "kategorie": "performance",
      "titel": "Total Blocking Time Desktop: 0 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 0 ms. Gut ist bis 200 ms, schlecht ab 600 ms (Labordaten).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.desktop.ttfb",
      "kategorie": "performance",
      "titel": "Server-Antwortzeit Desktop: 8 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 8 ms. Gut ist bis 800 ms, schlecht ab 1.8 s (Labordaten).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.duplicated_js",
      "kategorie": "performance",
      "titel": "Keine doppelten JavaScript-Module",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Kein nennenswerter Mehraufwand gemessen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.field.none",
      "kategorie": "performance",
      "titel": "Keine Felddaten echter Nutzer verfügbar",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Google hat für diese Website zu wenige Chrome-Besuche, um Core Web Vitals echter Nutzer auszuweisen. Angezeigt werden nur Labormessungen. Es werden keine Werte erfunden.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.font_display",
      "kategorie": "performance",
      "titel": "Schriften blockieren den Text nicht",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Webschriften laden mit font-display (Text bleibt sichtbar).",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.html_compression",
      "kategorie": "performance",
      "titel": "HTML wird komprimiert ausgeliefert",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle abgerufenen Seiten kommen gzip- bzw. brotli-komprimiert an.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.html_size",
      "kategorie": "performance",
      "titel": "HTML-Seiten haben eine vernünftige Größe",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Keine abgerufene Seite hat mehr als 200 KB reinen HTML-Code.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.http2",
      "kategorie": "performance",
      "titel": "Eigene Dateien über HTTP/2 oder HTTP/3",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die eigenen Dateien kommen über HTTP/2 oder HTTP/3 (mehrere Dateien parallel).",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.image_delivery",
      "kategorie": "performance",
      "titel": "Bilder effizient ausgeliefert (Format, Größe, Kompression)",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Bilder sind in Format, Größe und Kompression weitgehend sparsam.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.img_aspect",
      "kategorie": "performance",
      "titel": "Bilder erscheinen unverzerrt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle Bilder werden im richtigen Seitenverhältnis angezeigt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.img_srcset",
      "kategorie": "performance",
      "titel": "Bilder werden in mehreren Größen angeboten",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Inhaltsbilder bieten über srcset verschiedene Größen an.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.img_weight",
      "kategorie": "performance",
      "titel": "Einzelne Bilder sind nicht übergroß",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Kein Bild beim Aufruf der Startseite ist übergroß.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "ruempelwerk-mitteldeutschland.de/static/images/oliver-pohl-192.eb100b… (4 KB)",
        "ruempelwerk-mitteldeutschland.de/static/images/ruempelwerk_marke_88.4… (1 KB)",
        "ruempelwerk-mitteldeutschland.de/static/images/trustlocal-top-pro-ico… (1 KB)"
      ],
      "prioritaet": null
    },
    {
      "code": "perf.lazy_loading",
      "kategorie": "performance",
      "titel": "Bilder laden bedarfsgerecht (Lazy-Loading)",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Das erste Bild lädt sofort, spätere Bilder erst bei Bedarf.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "201 von 205 späteren Bildern lazy"
      ],
      "prioritaet": null
    },
    {
      "code": "perf.lcp_discovery",
      "kategorie": "performance",
      "titel": "Das größte Bild wird früh entdeckt",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Lighthouse hat das Ladeverhalten des größten Elements nicht ausgewertet (kein Bild als größtes Element oder nicht geliefert).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.legacy_js",
      "kategorie": "performance",
      "titel": "Kein unnötig altes JavaScript (Polyfills)",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Kein nennenswerter Mehraufwand gemessen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.mobile.cls",
      "kategorie": "performance",
      "titel": "Cumulative Layout Shift Mobil: 0.002",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 0.002. Gut ist bis 0.100, schlecht ab 0.250 (Labordaten).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.mobile.fcp",
      "kategorie": "performance",
      "titel": "First Contentful Paint Mobil: 1.0 s",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 1.0 s. Gut ist bis 1.8 s, schlecht ab 3.0 s (Labordaten).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.mobile.lcp",
      "kategorie": "performance",
      "titel": "Largest Contentful Paint Mobil: 1.9 s",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 1.9 s. Gut ist bis 2.5 s, schlecht ab 4.0 s (Labordaten).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.mobile.score",
      "kategorie": "performance",
      "titel": "Lighthouse-Leistungswert Mobil: 99/100",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Google Lighthouse bewertet die Ladeleistung mobil mit 99 von 100 Punkten (Labormessung, simulierte Verbindung).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.mobile.si",
      "kategorie": "performance",
      "titel": "Speed Index Mobil: 1.4 s",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 1.4 s. Gut ist bis 3.4 s, schlecht ab 5.8 s (Labordaten).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.mobile.tbt",
      "kategorie": "performance",
      "titel": "Total Blocking Time Mobil: 66 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 66 ms. Gut ist bis 200 ms, schlecht ab 600 ms (Labordaten).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.mobile.ttfb",
      "kategorie": "performance",
      "titel": "Server-Antwortzeit Mobil: 16 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 16 ms. Gut ist bis 800 ms, schlecht ab 1.8 s (Labordaten).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.page_weight",
      "kategorie": "performance",
      "titel": "Seitengröße mobil: 0.2 MB",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Beim Laden der Startseite werden 0.2 MB übertragen. Gut ist bis 2 MB, problematisch ab 5 MB – besonders im Mobilfunk (Labormessung).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.redirect_first",
      "kategorie": "performance",
      "titel": "Aufruf läuft ohne zeitraubende Weiterleitung",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Beim Aufruf der Seite gibt es keine nennenswerte Weiterleitung.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.third_party_hosts",
      "kategorie": "performance",
      "titel": "Wenige fremde Server je Seite",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Keine Seite lädt Ressourcen von mehr als drei fremden Servern.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.unminified",
      "kategorie": "performance",
      "titel": "CSS und JavaScript sind verkleinert",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Eigene CSS- und JavaScript-Dateien sind verkleinert (minifiziert).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.unsized_images",
      "kategorie": "performance",
      "titel": "Bilder reservieren ihren Platz (keine Layout-Sprünge)",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle Bilder haben eine Größenangabe; der Browser hält den Platz frei.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.alt_host_tls",
      "kategorie": "security",
      "titel": "Zertifikat der zweiten Adressvariante (mit/ohne www) gültig",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Auch die zweite Adressvariante (mit/ohne www) liefert ein gültiges Zertifikat.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.cache_sensitive",
      "kategorie": "security",
      "titel": "Seiten mit persönlichen Daten nicht zwischengespeichert",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Nicht anwendbar: keine Konto-, Bestell- oder Dankeseite unter den abgerufenen Seiten.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.clickjacking",
      "kategorie": "security",
      "titel": "Schutz vor Einbettung in fremde Seiten (Clickjacking)",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Seite verbietet das Einbetten in fremde Seiten.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.cookies",
      "kategorie": "security",
      "titel": "Cookies mit Schutz-Attributen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "1 Cookie(s) mit Secure/HttpOnly/SameSite.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.coop",
      "kategorie": "security",
      "titel": "Cross-Origin-Opener-Policy gesetzt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Fenster fremder Seiten sind von dieser Seite getrennt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.cors_wildcard",
      "kategorie": "security",
      "titel": "Keine Freigabe für jede fremde Herkunft (CORS)",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Keine abgerufene Seite gibt ihren Inhalt für jede fremde Herkunft frei.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.csp",
      "kategorie": "security",
      "titel": "Content-Security-Policy gesetzt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Eine Content-Security-Policy ist aktiv.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.csp_base_uri",
      "kategorie": "security",
      "titel": "CSP legt base-uri fest",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die CSP schränkt <base>-Angaben ein.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.debug_traces",
      "kategorie": "security",
      "titel": "Keine Fehlermeldungen oder Entwicklungsspuren sichtbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Auf 26 geprüften Seiten (inkl. Fehlerseite) zeigt sich keine Entwicklungs- oder Fehlerausgabe.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.dir_listing",
      "kategorie": "security",
      "titel": "Keine Verzeichnisauflistung",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Keine der abgerufenen Seiten ist eine Dateiliste des Servers.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.form_foreign",
      "kategorie": "security",
      "titel": "Formulare senden an die eigene Herkunft",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle 5 Formulare senden an die eigene Domain.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.form_http",
      "kategorie": "security",
      "titel": "Formulare senden verschlüsselt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Kein Formular sendet seine Daten an eine http://-Adresse.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.headers_coverage",
      "kategorie": "security",
      "titel": "Sicherheits-Header auf allen Seiten",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle 24 weiteren Seiten tragen dieselben Sicherheits-Header wie die Startseite.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.hsts",
      "kategorie": "security",
      "titel": "HSTS aktiv",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "max-age=365 Tage",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.hsts_depth",
      "kategorie": "security",
      "titel": "HSTS mit einem Jahr Laufzeit und Unterdomänen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "HSTS gilt ein Jahr und für alle Unterdomänen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.http_redirect",
      "kategorie": "security",
      "titel": "Aufrufe über HTTP werden auf HTTPS umgeleitet",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die unverschlüsselte Adresse leitet auf die verschlüsselte um.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [
        "http://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.https",
      "kategorie": "security",
      "titel": "Website nutzt HTTPS",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Startseite wird verschlüsselt (HTTPS) ausgeliefert.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.inline_handlers",
      "kategorie": "security",
      "titel": "Keine Ereignisbehandlung direkt im HTML",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Im HTML stehen keine onclick-/onload-Angaben; eine strenge CSP wäre möglich.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.mail.apex_cname",
      "kategorie": "security",
      "titel": "Kein CNAME auf dem Hauptnamen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Der Hauptname verwendet keinen CNAME.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.mail.dkim",
      "kategorie": "security",
      "titel": "DKIM-Schlüssel gefunden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "DKIM ist eingerichtet (Selector: s1-ionos, s2-ionos).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "s1-ionos",
        "s2-ionos"
      ],
      "prioritaet": null
    },
    {
      "code": "sec.mail.dmarc",
      "kategorie": "security",
      "titel": "DMARC-Eintrag vorhanden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "DMARC legt fest, was mit gefälschten Mails geschieht.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "v=DMARC1; p=reject; sp=reject; rua=mailto:dmarc@ruempelwerk-mitteldeutschland.de"
      ],
      "prioritaet": null
    },
    {
      "code": "sec.mail.dmarc_policy",
      "kategorie": "security",
      "titel": "DMARC weist Fälschungen nicht nur beobachtend ab",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Richtlinie p=reject.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "v=DMARC1; p=reject; sp=reject; rua=mailto:dmarc@ruempelwerk-mitteldeutschland.de"
      ],
      "prioritaet": null
    },
    {
      "code": "sec.mail.mx",
      "kategorie": "security",
      "titel": "Domain kann E-Mail empfangen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "2 Mailserver eingetragen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "10 mx00.ionos.de",
        "10 mx01.ionos.de"
      ],
      "prioritaet": null
    },
    {
      "code": "sec.mail.spf",
      "kategorie": "security",
      "titel": "SPF-Eintrag schützt vor gefälschten Absendern",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "SPF ist eingerichtet.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "v=spf1 include:_spf-eu.ionos.com ~all"
      ],
      "prioritaet": null
    },
    {
      "code": "sec.mixed_content",
      "kategorie": "security",
      "titel": "Keine unverschlüsselten Ressourcen auf HTTPS-Seiten",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Auf den geprüften Seiten werden Skripte, Styles und Bilder über HTTPS geladen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.nosniff",
      "kategorie": "security",
      "titel": "Header X-Content-Type-Options: nosniff",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Der Browser darf Dateitypen nicht „erraten“.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.outdated_js",
      "kategorie": "security",
      "titel": "Keine veralteten JavaScript-Bibliotheken erkannt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Anhand von Dateinamen und Kommentaren wurde keine bekannte verwundbare Bibliothek (jQuery, Bootstrap, AngularJS, lodash) gefunden. Die Erkennung ist nicht vollständig.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.paste_prevent",
      "kategorie": "security",
      "titel": "Einfügen in Eingabefelder nicht blockiert",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Eingabefelder erlauben das Einfügen aus der Zwischenablage.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.permission_prompts",
      "kategorie": "security",
      "titel": "Keine Berechtigungsabfrage beim Seitenaufruf",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Beim Aufruf der Startseite wird keine Berechtigung (Standort, Benachrichtigungen) abgefragt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.permissions_policy",
      "kategorie": "security",
      "titel": "Permissions-Policy gesetzt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Browser-Funktionen wie Kamera oder Standort sind eingeschränkt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.referrer_policy",
      "kategorie": "security",
      "titel": "Referrer-Policy gesetzt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Referrer-Policy: strict-origin-when-cross-origin",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.scope_note",
      "kategorie": "security",
      "titel": "Hinweis zum Umfang der Sicherheitsprüfung",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Geprüft werden nur öffentlich sichtbare Merkmale (Verschlüsselung, Sicherheits-Header, Seiteninhalte). Das ist kein Penetrationstest und keine vollständige Sicherheitsprüfung.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.security_txt",
      "kategorie": "security",
      "titel": "security.txt ist vorhanden und gültig",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Datei /.well-known/security.txt enthält Contact und ein gültiges Ablaufdatum.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/.well-known/security.txt"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.sri",
      "kategorie": "security",
      "titel": "Fremde Bibliotheken mit Integritätsprüfung (SRI)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Nicht anwendbar: keine Bibliothek von einem öffentlichen Bibliotheks-CDN eingebunden. (Dienste wie Google Tag Manager oder Maps können technisch kein SRI tragen.)",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.target_blank",
      "kategorie": "security",
      "titel": "Externe Links in neuem Fenster mit rel=noopener",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Alle 108 externen Links mit target=\"_blank\" tragen rel=\"noopener\".",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.tls.cert",
      "kategorie": "security",
      "titel": "TLS-Zertifikat ist gültig",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Aussteller Let's Encrypt, gültig bis 2027-01-10 (noch 84 Tage).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.tls.version",
      "kategorie": "security",
      "titel": "Verschlüsselungsprotokoll TLS 1.3",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Ausgehandelt wurde TLSv1.3; das gilt als sicher.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.version_disclosure",
      "kategorie": "security",
      "titel": "Keine Software-Versionen in Headern",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Server- und X-Powered-By-Header nennen keine Versionsnummern.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.wp_version",
      "kategorie": "security",
      "titel": "Keine CMS-Version im Generator-Tag",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Das HTML verrät keine WordPress-Version.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.broken_anchors",
      "kategorie": "technical",
      "titel": "Sprungmarken führen zu vorhandenen Abschnitten",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.broken_external",
      "kategorie": "technical",
      "titel": "Alle 20 geprüften externen Links sind erreichbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.broken_internal",
      "kategorie": "technical",
      "titel": "Keine defekten internen Links gefunden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.canonical_target_indexable",
      "kategorie": "technical",
      "titel": "Canonical-Ziele sind indexierbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.charset_early",
      "kategorie": "technical",
      "titel": "Zeichensatz steht früh im Kopf",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.empty_href",
      "kategorie": "technical",
      "titel": "Keine leeren oder unbrauchbaren Linkziele",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.home_status",
      "kategorie": "technical",
      "titel": "Die Startseite antwortet mit Status 200 (OK)",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Startseite lässt sich normal abrufen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.http_redirect",
      "kategorie": "technical",
      "titel": "HTTP wird dauerhaft auf HTTPS weitergeleitet",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "http://ruempelwerk-mitteldeutschland.de/ -> 301 -> https://ruempelwerk-mitteldeutschland.de/"
      ],
      "prioritaet": null
    },
    {
      "code": "tech.link_depth",
      "kategorie": "technical",
      "titel": "Alle gecrawlten Seiten liegen höchstens 3 Klicks tief",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": " Der Crawl ist begrenzt, tiefere Ebenen wurden evtl. nicht erfasst.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.links_http_external",
      "kategorie": "technical",
      "titel": "Externe Links nutzen https",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.links_per_page",
      "kategorie": "technical",
      "titel": "Seiten haben keine übermäßige Linkzahl",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.noindex_home",
      "kategorie": "technical",
      "titel": "Die Startseite ist indexierbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.not_found_status",
      "kategorie": "technical",
      "titel": "Nicht vorhandene Seiten liefern korrekt Status 404",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.orphans",
      "kategorie": "technical",
      "titel": "Keine verwaisten Seiten in der Sitemap gefunden",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": " Der Crawl war begrenzt, es wurden nur bereits gecrawlte Seiten betrachtet.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.page_size_outlier",
      "kategorie": "technical",
      "titel": "Keine Seite fällt durch ungewöhnliche Größe auf",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.pagination",
      "kategorie": "technical",
      "titel": "Seitenfolgen mit rel=next/prev erkannt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Google wertet rel=next/prev nicht mehr aus; das ist kein Fehler, die Seiten sollten aber normal verlinkt und per Canonical auf sich selbst zeigen.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [
        "https://ruempelwerk-mitteldeutschland.de/aktuelles/",
        "https://ruempelwerk-mitteldeutschland.de/galerie/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.pagination_canonical",
      "kategorie": "technical",
      "titel": "Seitenfolgen (nicht zutreffend)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.plugins_frames",
      "kategorie": "technical",
      "titel": "Keine veralteten Plugins oder Frames",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "high",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.response_time",
      "kategorie": "technical",
      "titel": "Antwortzeit der Startseite: 187 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Zeit bis zur vollständigen Auslieferung des HTML von unserem Prüfserver aus (inkl. Verbindungsaufbau).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.response_time_pages",
      "kategorie": "technical",
      "titel": "Typische Antwortzeit der Unterseiten: 188 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.robots_blocks",
      "kategorie": "technical",
      "titel": "robots.txt sperrt die Website nicht",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.robots_meta_conflict",
      "kategorie": "technical",
      "titel": "Meta-robots und X-Robots-Tag widersprechen sich nicht",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.robots_present",
      "kategorie": "technical",
      "titel": "robots.txt ist vorhanden und erreichbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.robots_txt_valid",
      "kategorie": "technical",
      "titel": "robots.txt ist fehlerfrei aufgebaut",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.sitemap",
      "kategorie": "technical",
      "titel": "XML-Sitemap gefunden mit 161 URLs",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "https://ruempelwerk-mitteldeutschland.de/sitemap.xml (7 Einträge)",
        "https://ruempelwerk-mitteldeutschland.de/sitemap-main.xml (100 Einträge)",
        "https://ruempelwerk-mitteldeutschland.de/sitemap-services.xml (18 Einträge)",
        "https://ruempelwerk-mitteldeutschland.de/sitemap-matrix.xml (16 Einträge)",
        "https://ruempelwerk-mitteldeutschland.de/sitemap-ratgeber.xml (24 Einträge)"
      ],
      "prioritaet": null
    },
    {
      "code": "tech.sitemap_host_match",
      "kategorie": "technical",
      "titel": "Sitemap nennt nur Adressen der Hauptvariante",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.sitemap_http_urls",
      "kategorie": "technical",
      "titel": "Sitemap enthält keine http-Adressen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.sitemap_lastmod",
      "kategorie": "technical",
      "titel": "Sitemap pflegt lastmod glaubwürdig",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.sitemap_relative_ref",
      "kategorie": "technical",
      "titel": "Sitemap-Angabe in der robots.txt ist eine vollständige Adresse",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.url_hygiene",
      "kategorie": "technical",
      "titel": "Adressen ohne Leerzeichen und doppelte Schrägstriche",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.www_consolidation",
      "kategorie": "technical",
      "titel": "www und ohne www sind zu einer Adresse zusammengeführt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "https://www.ruempelwerk-mitteldeutschland.de/ -> 301 -> https://ruempelwerk-mitteldeutschland.de/"
      ],
      "prioritaet": null
    }
  ],
  "hinweis": "Scores sind eigene, regelbasierte Bewertungen (Methodik: /methodik/). Kein offizieller Google-Wert."
}