{
  "produkt": "Scherzinger Digital Audit",
  "analyse_id": "55156b48-a57b-4b8c-a166-a12d4cf915b6",
  "url": "https://www.hg-fluegel.de/",
  "erstellt": "2026-10-17T15:19:54.237565+00:00",
  "gesamtscore": 100,
  "datenabdeckung": 0.984,
  "kategorien": {
    "geo": {
      "note": "",
      "grade": "sehr gut",
      "label": "KI-Bereitschaft (GEO)",
      "score": 96,
      "capped": false,
      "failed": 2,
      "passed": 13,
      "status": "heuristic",
      "category": "geo",
      "checks_total": 16,
      "checks_evaluated": 15
    },
    "local": {
      "note": "",
      "grade": "gut",
      "label": "Lokale Sichtbarkeit",
      "score": 86,
      "capped": false,
      "failed": 2,
      "passed": 5,
      "status": "heuristic",
      "category": "local",
      "checks_total": 8,
      "checks_evaluated": 7
    },
    "onpage": {
      "note": "",
      "grade": "sehr gut",
      "label": "Inhalte & Onpage",
      "score": 100,
      "capped": false,
      "failed": 1,
      "passed": 18,
      "status": "heuristic",
      "category": "onpage",
      "checks_total": 19,
      "checks_evaluated": 19
    },
    "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": 99,
      "capped": false,
      "failed": 1,
      "passed": 15,
      "status": "heuristic",
      "category": "security",
      "checks_total": 17,
      "checks_evaluated": 16
    },
    "marketing": {
      "note": "",
      "grade": "kritisch",
      "label": "Marketing & Tracking",
      "score": 38,
      "capped": false,
      "failed": 2,
      "passed": 2,
      "status": "measured",
      "category": "marketing",
      "checks_total": 7,
      "checks_evaluated": 4
    },
    "technical": {
      "note": "",
      "grade": "sehr gut",
      "label": "Technisches SEO",
      "score": 100,
      "capped": false,
      "failed": 1,
      "passed": 25,
      "status": "heuristic",
      "category": "technical",
      "checks_total": 27,
      "checks_evaluated": 26
    },
    "conversion": {
      "note": "",
      "grade": "sehr gut",
      "label": "Kundenfreundlichkeit",
      "score": 100,
      "capped": false,
      "failed": 0,
      "passed": 14,
      "status": "heuristic",
      "category": "conversion",
      "checks_total": 14,
      "checks_evaluated": 14
    },
    "performance": {
      "note": "",
      "grade": "sehr gut",
      "label": "Ladegeschwindigkeit",
      "score": 100,
      "capped": false,
      "failed": 0,
      "passed": 14,
      "status": "measured",
      "category": "performance",
      "checks_total": 15,
      "checks_evaluated": 14
    },
    "accessibility": {
      "note": "",
      "grade": "sehr gut",
      "label": "Barrierefreiheit",
      "score": 100,
      "capped": false,
      "failed": 0,
      "passed": 18,
      "status": "heuristic",
      "category": "accessibility",
      "checks_total": 20,
      "checks_evaluated": 18
    }
  },
  "zusammenfassung": {
    "notes": [],
    "home_ms": 35,
    "problems": 10,
    "sitemaps": [
      {
        "url": "https://www.hg-fluegel.de/sitemap.xml",
        "urls": 158,
        "index": false,
        "status": 200
      }
    ],
    "final_url": "https://www.hg-fluegel.de/",
    "redirects": [],
    "crawl_limit": 25,
    "home_status": 200,
    "links_total": 1378,
    "checks_total": 143,
    "pages_failed": 0,
    "sitemap_urls": 158,
    "crawl_limited": true,
    "pages_crawled": 25,
    "robots_status": 200,
    "links_internal": 1269,
    "external_checked": 11,
    "blocked_by_robots": 0
  },
  "befunde": [
    {
      "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": "1 Unterseite ist 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://www.hg-fluegel.de/aktuelles/"
      ],
      "belege": [
        "https://www.hg-fluegel.de/aktuelles/: meta robots = noindex, follow"
      ],
      "prioritaet": 1
    },
    {
      "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": "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": 4
    },
    {
      "code": "local.hours_visible",
      "kategorie": "local",
      "titel": "Öffnungszeiten nicht gefunden",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "Im sichtbaren Text sind keine Öffnungs- oder Erreichbarkeitszeiten erkennbar (heuristische Suche).",
      "ursache": "",
      "loesung": "Öffnungszeiten bzw. Erreichbarkeit als Text im Footer oder auf der Kontaktseite nennen.",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 5
    },
    {
      "code": "mkt.analytics",
      "kategorie": "marketing",
      "titel": "Keine Webanalyse erkennbar – Erfolg nicht messbar",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "Es wurde keine Besucher-Auswertung (z. B. GA4, Matomo, Plausible) gefunden. Ohne Messung ist nicht erkennbar, welche Seiten Anfragen bringen.",
      "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": 2
    },
    {
      "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": "Kein doppelter Inhalt zwischen den Seiten gefunden",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "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": "1 Seite hat dünnen Inhalt (unter 300 Wörter) (Stichprobe: begrenzter Crawl)",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "Sehr kurze Seiten liefern Google wenig Anlass, sie für eine Suche zu ranken. Impressum, Datenschutz und Kontakt sind ausgenommen.",
      "ursache": "",
      "loesung": "Ergänzen Sie hilfreichen Text: Leistungen, Ablauf, Preise/Beispiele, häufige Fragen. Qualität vor Länge, Füllwörter helfen nicht.",
      "aufwand": "high",
      "nutzen": "high",
      "betroffene_urls": [
        "https://www.hg-fluegel.de/aktuelles/"
      ],
      "belege": [
        "https://www.hg-fluegel.de/aktuelles/: 115 Wörter"
      ],
      "prioritaet": 3
    },
    {
      "code": "onpage.title_duplicate",
      "kategorie": "onpage",
      "titel": "Alle Titles sind einzigartig",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "tech.canonical_conflicts",
      "kategorie": "technical",
      "titel": "Canonical-Tags sind widerspruchsfrei",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "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.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.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.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": "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 2 Element(e) auf der Startseite.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 6
    },
    {
      "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": 8
    },
    {
      "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.description_duplicate",
      "kategorie": "onpage",
      "titel": "Alle Descriptions sind einzigartig",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "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.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.title_h1_match",
      "kategorie": "onpage",
      "titel": "Title-Begriffe tauchen in H1 und Text auf",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "onpage.title_length",
      "kategorie": "onpage",
      "titel": "Alle Titles haben eine gute Länge (30–60 Zeichen)",
      "bestanden": true,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "sec.cookies",
      "kategorie": "security",
      "titel": "1 Cookie(s) ohne volle Schutz-Attribute",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Cookies ohne Secure, HttpOnly oder SameSite lassen sich leichter abgreifen bzw. seitenübergreifend missbrauchen – betroffen sind Sitzungs-/Login-Cookies.",
      "ursache": "",
      "loesung": "Beim Setzen des Cookies Secure; HttpOnly; SameSite=Lax ergänzen. Django: SESSION_COOKIE_SECURE = True, CSRF_COOKIE_SECURE = True, SESSION_COOKIE_HTTPONLY = True, SESSION_COOKIE_SAMESITE = 'Lax'.",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://www.hg-fluegel.de/"
      ],
      "belege": [
        "csrftoken: HttpOnly fehlt"
      ],
      "prioritaet": 7
    },
    {
      "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.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.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://www.hg-fluegel.de/sitemap.xml"
      ],
      "prioritaet": null
    },
    {
      "code": "tech.sitemap_coverage",
      "kategorie": "technical",
      "titel": "Alle gecrawlten Seiten stehen in der Sitemap",
      "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.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.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.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.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://www.hg-fluegel.de/"
      ],
      "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.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.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.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.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.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.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": [
        "+491608168007",
        "+491608168007"
      ],
      "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": [
        "Preise",
        "Kontakt"
      ],
      "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": [
        "Kontakt",
        "Richtangebot"
      ],
      "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@hg-fluegel.de",
        "info@hg-fluegel.de"
      ],
      "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.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.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/491608168007"
      ],
      "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",
        "Festes Angebot"
      ],
      "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://www.hg-fluegel.de/"
      ],
      "belege": [
        "0160 8168007"
      ],
      "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.slow_page",
      "kategorie": "conversion",
      "titel": "Mobile Ladeleistung 100/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.trust",
      "kategorie": "conversion",
      "titel": "Vertrauenselemente erkennbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Erkannt: Link zu Bewertungsplattform; Vertrauensbegriffe (bewertung, rezension). ",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [
        "https://www.google.com/maps/place/Haus+und+Geb%C3%A4ude+Service+Fl%C3%BCgel/@49.6191649,8.8291828,17z/",
        "https://www.google.com/maps/place/Haus+und+Geb%C3%A4ude+Service+Fl%C3%BCgel/@49.6191649,8.8291828,17z/"
      ],
      "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": [
        "HG Flügel Haus & Gebäudeservice aus Grasellenbach, Odenwald, ist ein Betrieb für Reinigung, Gartenpflege, Winterdienst …"
      ],
      "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.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.freshness",
      "kategorie": "geo",
      "titel": "Inhalte aktuell datiert",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Jüngstes erkennbares Datum: 17.10.2026.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "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": [
        "# HG Flügel Haus & Gebäudeservice > Haus- und Gebäudeservice aus Grasellenbach"
      ],
      "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: HG Flügel Haus & Gebäudeservice",
        "og:site_name: HG Flügel Haus & Gebäudeservice"
      ],
      "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://www.hg-fluegel.de/"
      ],
      "belege": [
        "HG Flügel Haus & Gebäudeservice"
      ],
      "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: HomeAndConstructionBusiness, Person, WebPage, WebSite.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "HomeAndConstructionBusiness, Person, WebPage, WebSite"
      ],
      "prioritaet": null
    },
    {
      "code": "geo.semantic_html",
      "kategorie": "geo",
      "titel": "Semantische HTML5-Struktur: 4 von 4 Grundelementen",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Vorhanden: main, nav, header, footer.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.server_rendered",
      "kategorie": "geo",
      "titel": "Hauptinhalt im HTML: 768 Wörter",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Startseite enthält 768 Wörter im ausgelieferten HTML.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [
        "https://www.hg-fluegel.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. 6 Leistungsseiten verlinkt.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "https://www.hg-fluegel.de/leistungen/",
        "https://www.hg-fluegel.de/leistungen/garten/",
        "https://www.hg-fluegel.de/leistungen/hausmeisterservice/"
      ],
      "prioritaet": null
    },
    {
      "code": "geo.sources",
      "kategorie": "geo",
      "titel": "Quellenangaben in Ratgebern: 5 von 9 Artikeln",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Externe Belege (Behörden, Studien, Normen) machen Ratgeber zitierfähiger. Heuristische Stichprobe über die gecrawlten Artikel.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 10
    },
    {
      "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.city_in_title",
      "kategorie": "local",
      "titel": "Ort \"Grasellenbach\" in Title/H1: ja",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Title: enthält den Ort; H1: ohne Ort.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [
        "Haus- & Gebäudeservice Grasellenbach, Odenwald | HG Flügel",
        "Hausmeister, Garten und Winterdienst im Odenwald"
      ],
      "prioritaet": 9
    },
    {
      "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.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://www.google.com/maps/place/Haus+und+Geb%C3%A4ude+Service+Fl%C3%BCgel/@49.6191649,8.8291828,17z/"
      ],
      "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://www.hg-fluegel.de/"
      ],
      "belege": [
        "64689 Grasellenbach"
      ],
      "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.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://www.google.com/maps/place/Haus+und+Geb%C3%A4ude+Service+Fl%C3%BCgel/@49.6191649,8.8291828,17z/",
        "https://www.google.com/maps/place/Haus+und+Geb%C3%A4ude+Service+Fl%C3%BCgel/@49.6191649,8.8291828,17z/"
      ],
      "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": "mkt.consent",
      "kategorie": "marketing",
      "titel": "Einwilligungs-Prüfung nicht relevant (kein einwilligungspflichtiges Tracking erkannt)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "Es wurde kein Tracking erkannt, das typischerweise eine Einwilligung braucht. Consent-Manager erkannt: keiner.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.conversion_events",
      "kategorie": "marketing",
      "titel": "Conversion-Tracking nicht relevant (keine Werbe-Tags)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "unavailable",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "mkt.tools_detected",
      "kategorie": "marketing",
      "titel": "0 Mess-/Marketing-Werkzeuge erkannt",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Im Quelltext wurde kein Analyse- oder Werbe-Tag gefunden. Hinweis: Über einen Tag Manager geladene Werkzeuge sind von außen nicht sichtbar.",
      "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_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.img_formats",
      "kategorie": "onpage",
      "titel": "99 % 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.readability",
      "kategorie": "onpage",
      "titel": "Lesbarkeit (Flesch/Amstad) im Schnitt 53: 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": [],
      "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.desktop.cls",
      "kategorie": "performance",
      "titel": "Cumulative Layout Shift Desktop: 0.000",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 0.000. 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: 260 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 260 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: 340 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 340 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://www.hg-fluegel.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.desktop.si",
      "kategorie": "performance",
      "titel": "Speed Index Desktop: 351 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 351 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: 7 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 7 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.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.mobile.cls",
      "kategorie": "performance",
      "titel": "Cumulative Layout Shift Mobil: 0.000",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 0.000. 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: 927 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 927 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.mobile.lcp",
      "kategorie": "performance",
      "titel": "Largest Contentful Paint Mobil: 1.4 s",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 1.4 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: 100/100",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Google Lighthouse bewertet die Ladeleistung mobil mit 100 von 100 Punkten (Labormessung, simulierte Verbindung).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [
        "https://www.hg-fluegel.de/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.mobile.si",
      "kategorie": "performance",
      "titel": "Speed Index Mobil: 927 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 927 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.mobile.tbt",
      "kategorie": "performance",
      "titel": "Total Blocking Time Mobil: 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.mobile.ttfb",
      "kategorie": "performance",
      "titel": "Server-Antwortzeit Mobil: 7 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 7 ms. Gut ist bis 800 ms, schlecht ab 1.8 s (Labordaten).",
      "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://www.hg-fluegel.de/"
      ],
      "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.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.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.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://www.hg-fluegel.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://www.hg-fluegel.de/"
      ],
      "belege": [],
      "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://www.hg-fluegel.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 jQuery-Version gefunden. Die Erkennung ist nicht vollständig.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "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://www.hg-fluegel.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://www.hg-fluegel.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.tls.cert",
      "kategorie": "security",
      "titel": "TLS-Zertifikat ist gültig",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Aussteller Let's Encrypt, gültig bis 2026-12-21 (noch 64 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_external",
      "kategorie": "technical",
      "titel": "Alle 11 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.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.hreflang",
      "kategorie": "technical",
      "titel": "Keine hreflang-Angaben (bei einsprachigen Websites nicht nötig)",
      "bestanden": null,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "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://www.hg-fluegel.de/ -> 301 -> https://www.hg-fluegel.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.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.response_time",
      "kategorie": "technical",
      "titel": "Antwortzeit der Startseite: 35 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.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_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.sitemap",
      "kategorie": "technical",
      "titel": "XML-Sitemap gefunden mit 158 URLs",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "https://www.hg-fluegel.de/sitemap.xml (158 Einträge)"
      ],
      "prioritaet": null
    },
    {
      "code": "tech.www_consolidation",
      "kategorie": "technical",
      "titel": "Nur eine Adressvariante (www/ohne www) ist erreichbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "Alternative nicht erreichbar (tls)"
      ],
      "prioritaet": null
    }
  ],
  "hinweis": "Scores sind eigene, regelbasierte Bewertungen (Methodik: /methodik/). Kein offizieller Google-Wert."
}