{
  "produkt": "Scherzinger Digital Audit",
  "analyse_id": "c4912d9b-abff-46ee-9af9-7f7f83d22066",
  "url": "https://www.luviq-alsfeld.com/",
  "erstellt": "2026-10-17T15:19:54.320598+00:00",
  "gesamtscore": 89,
  "datenabdeckung": 0.988,
  "kategorien": {
    "geo": {
      "note": "",
      "grade": "gut",
      "label": "KI-Bereitschaft (GEO)",
      "score": 85,
      "capped": false,
      "failed": 3,
      "passed": 12,
      "status": "heuristic",
      "category": "geo",
      "checks_total": 16,
      "checks_evaluated": 15
    },
    "local": {
      "note": "",
      "grade": "ausbaufähig",
      "label": "Lokale Sichtbarkeit",
      "score": 54,
      "capped": false,
      "failed": 5,
      "passed": 2,
      "status": "heuristic",
      "category": "local",
      "checks_total": 8,
      "checks_evaluated": 7
    },
    "onpage": {
      "note": "",
      "grade": "gut",
      "label": "Inhalte & Onpage",
      "score": 87,
      "capped": false,
      "failed": 6,
      "passed": 13,
      "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": 100,
      "capped": false,
      "failed": 0,
      "passed": 16,
      "status": "heuristic",
      "category": "security",
      "checks_total": 17,
      "checks_evaluated": 16
    },
    "marketing": {
      "note": "",
      "grade": "ausbaufähig",
      "label": "Marketing & Tracking",
      "score": 50,
      "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": 98,
      "capped": false,
      "failed": 4,
      "passed": 23,
      "status": "heuristic",
      "category": "technical",
      "checks_total": 27,
      "checks_evaluated": 27
    },
    "conversion": {
      "note": "",
      "grade": "ausbaufähig",
      "label": "Kundenfreundlichkeit",
      "score": 71,
      "capped": false,
      "failed": 5,
      "passed": 9,
      "status": "heuristic",
      "category": "conversion",
      "checks_total": 14,
      "checks_evaluated": 14
    },
    "performance": {
      "note": "",
      "grade": "sehr gut",
      "label": "Ladegeschwindigkeit",
      "score": 93,
      "capped": false,
      "failed": 2,
      "passed": 12,
      "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": 19,
      "checks_evaluated": 18
    }
  },
  "zusammenfassung": {
    "notes": [
      "Gesamtwert auf 89 begrenzt, weil der Bereich „Kundenfreundlichkeit“ nur 71 Punkte hat. Ein schwacher Bereich soll nicht von vielen guten überdeckt werden."
    ],
    "home_ms": 356,
    "problems": 27,
    "sitemaps": [
      {
        "url": "https://www.luviq-alsfeld.com/sitemap.xml",
        "urls": 33,
        "index": false,
        "status": 200
      }
    ],
    "final_url": "https://www.luviq-alsfeld.com/",
    "redirects": [],
    "crawl_limit": 25,
    "home_status": 200,
    "links_total": 772,
    "checks_total": 142,
    "pages_failed": 0,
    "sitemap_urls": 28,
    "crawl_limited": false,
    "pages_crawled": 24,
    "robots_status": 200,
    "links_internal": 695,
    "external_checked": 5,
    "blocked_by_robots": 1
  },
  "befunde": [
    {
      "code": "conv.phone_visible",
      "kategorie": "conversion",
      "titel": "Telefonnummer nicht gefunden",
      "bestanden": false,
      "schwere": "high",
      "datenstatus": "measured",
      "beschreibung": "Auf der Startseite (und Kontaktseite) wurde keine Telefonnummer erkannt. Viele Kunden aus dem Handwerk und Dienstleistungsbereich rufen lieber an, als ein Formular auszufüllen.",
      "ursache": "",
      "loesung": "Telefonnummer gut sichtbar im Kopfbereich und im Footer platzieren.",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [
        "https://www.luviq-alsfeld.com/"
      ],
      "belege": [],
      "prioritaet": 2
    },
    {
      "code": "local.schema",
      "kategorie": "local",
      "titel": "Kein LocalBusiness-Schema gefunden",
      "bestanden": false,
      "schwere": "high",
      "datenstatus": "measured",
      "beschreibung": "Ein lokaler Geschäftstyp im Schema (z. B. LocalBusiness, Electrician …) fehlt. Dort gehören Adresse, Koordinaten und Öffnungszeiten hinein.",
      "ursache": "",
      "loesung": "LocalBusiness-JSON-LD mit address, geo, openingHoursSpecification und areaServed ergänzen.",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [
        "https://www.luviq-alsfeld.com/"
      ],
      "belege": [],
      "prioritaet": 3
    },
    {
      "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.luviq-alsfeld.com/impressum/"
      ],
      "belege": [
        "https://www.luviq-alsfeld.com/impressum/: 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": "conv.click_to_call",
      "kategorie": "conversion",
      "titel": "Telefon per Fingertipp wählbar (tel:-Link) nein",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "Ohne Telefonnummer gibt es auch keinen Anruf-Link.",
      "ursache": "",
      "loesung": "Telefonnummer als <a href=\"tel:+49…\"> verlinken.",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 7
    },
    {
      "code": "conv.offer",
      "kategorie": "conversion",
      "titel": "Leistungen/Preise nicht erkennbar",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "Weder Menüpunkte noch Überschriften zu Leistungen oder Preisen erkannt.",
      "ursache": "",
      "loesung": "Leistungen als eigene Rubrik mit Überschrift und Link zu Details darstellen; Preisrahmen nennen.",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 6
    },
    {
      "code": "conv.trust",
      "kategorie": "conversion",
      "titel": "Vertrauenselemente erkennbar",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "Erkannt: Vertrauensbegriffe (sterne). ",
      "ursache": "",
      "loesung": "Echte Kundenstimmen, Referenzen und Bewertungsplattform (z. B. Google) sichtbar auf der Startseite zeigen.",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 5
    },
    {
      "code": "geo.citable_facts",
      "kategorie": "geo",
      "titel": "Zitierfähige Fakten: 0 von 4 Arten gefunden",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "Gefunden: keine. 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": 13
    },
    {
      "code": "geo.services",
      "kategorie": "geo",
      "titel": "Leistungen nicht eindeutig erkennbar",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "heuristic",
      "beschreibung": "Weder Service-/Offer-Schema noch eigene Leistungsseiten wurden erkannt. KI-Systeme können Ihr Angebot nicht sauber zuordnen.",
      "ursache": "",
      "loesung": "Je Leistung eine eigene Seite mit klarer Beschreibung anlegen und per Service-Schema auszeichnen.",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 10
    },
    {
      "code": "local.nap",
      "kategorie": "local",
      "titel": "Name, Adresse, Telefon auf der Website: 2 von 3",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "Gefunden: Name, Adresse. Fehlend: Telefon. Vollständige und einheitliche Kontaktdaten sind die Grundlage für lokale Treffer.",
      "ursache": "",
      "loesung": "Firmenname, Straße/PLZ/Ort und Telefonnummer auf Startseite oder Kontaktseite als Text (nicht als Bild) angeben.",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [
        "https://www.luviq-alsfeld.com/"
      ],
      "belege": [
        "36304 Alsfeld"
      ],
      "prioritaet": 4
    },
    {
      "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": 8
    },
    {
      "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": "7 Seiten haben (fast) identischen Text",
      "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://www.luviq-alsfeld.com/motiv-anfragen/",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=tier",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=symbol",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=pflanze",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=himmel",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=abstrakt",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=offen"
      ],
      "belege": [
        "https://www.luviq-alsfeld.com/motiv-anfragen/ ≈ https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=tier",
        "https://www.luviq-alsfeld.com/motiv-anfragen/ ≈ https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=symbol",
        "https://www.luviq-alsfeld.com/motiv-anfragen/ ≈ https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=pflanze",
        "https://www.luviq-alsfeld.com/motiv-anfragen/ ≈ https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=himmel",
        "https://www.luviq-alsfeld.com/motiv-anfragen/ ≈ https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=abstrakt",
        "https://www.luviq-alsfeld.com/motiv-anfragen/ ≈ https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=offen"
      ],
      "prioritaet": 9
    },
    {
      "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": "12 Seiten haben dünnen Inhalt (unter 300 Wörter)",
      "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.luviq-alsfeld.com/motiv-anfragen/",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=tier",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=symbol",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=pflanze",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=himmel",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=abstrakt",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=offen",
        "https://www.luviq-alsfeld.com/produkt/custom-print-hoodie/",
        "https://www.luviq-alsfeld.com/produkt/custom-print-jacke/",
        "https://www.luviq-alsfeld.com/produkt/custom-print-hoodie-1/",
        "https://www.luviq-alsfeld.com/produkt/custom-hoodie-mit-print/",
        "https://www.luviq-alsfeld.com/produkt/custom-pants/"
      ],
      "belege": [
        "https://www.luviq-alsfeld.com/motiv-anfragen/: 122 Wörter",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=tier: 122 Wörter",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=symbol: 122 Wörter",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=pflanze: 122 Wörter",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=himmel: 122 Wörter",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=abstrakt: 122 Wörter",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=offen: 122 Wörter",
        "https://www.luviq-alsfeld.com/produkt/custom-print-hoodie/: 244 Wörter"
      ],
      "prioritaet": 11
    },
    {
      "code": "onpage.title_duplicate",
      "kategorie": "onpage",
      "titel": "7 Seiten teilen sich einen Title mit anderen Seiten",
      "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://www.luviq-alsfeld.com/motiv-anfragen/",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=tier",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=symbol",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=pflanze",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=himmel",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=abstrakt",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=offen"
      ],
      "belege": [
        "„Motiv anfragen: sag, was du willst – Luviq Universe, Alsfeld“ auf 7 Seiten"
      ],
      "prioritaet": 12
    },
    {
      "code": "perf.mobile.lcp",
      "kategorie": "performance",
      "titel": "Largest Contentful Paint Mobil: 2.9 s",
      "bestanden": false,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 2.9 s. Gut ist bis 2.5 s, schlecht ab 4.0 s (Labordaten).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 14
    },
    {
      "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.hreflang",
      "kategorie": "technical",
      "titel": "hreflang-Angaben sind korrekt",
      "bestanden": true,
      "schwere": "medium",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "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": "geo.org_schema",
      "kategorie": "geo",
      "titel": "Unternehmens-Schema unvollständig",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Gefunden: name, url, logo, sameAs, address/areaServed. Es fehlt: telephone.",
      "ursache": "",
      "loesung": "Im Organization-/LocalBusiness-Schema ergänzen: telephone.",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [
        "https://www.luviq-alsfeld.com/"
      ],
      "belege": [
        "Luviq Universe"
      ],
      "prioritaet": 15
    },
    {
      "code": "local.maps",
      "kategorie": "local",
      "titel": "Google Maps nicht gefunden",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Weder Karte noch Maps-Link gefunden. Besucher können den Standort nicht direkt öffnen.",
      "ursache": "",
      "loesung": "Link zu Google Maps (oder Karte nach Einwilligung) auf der Kontaktseite ergänzen.",
      "aufwand": "low",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 17
    },
    {
      "code": "local.review_links",
      "kategorie": "local",
      "titel": "Link zu Bewertungsplattform nicht gefunden",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Kein Link zu Google-Bewertungen oder einer Bewertungsplattform gefunden. Verlinkte Bewertungen stärken Vertrauen und lokale Signale.",
      "ursache": "",
      "loesung": "Link zu den Google-Bewertungen bzw. zu ProvenExpert o. Ä. einbauen.",
      "aufwand": "low",
      "nutzen": "medium",
      "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.description_duplicate",
      "kategorie": "onpage",
      "titel": "7 Seiten teilen sich eine Meta-Description",
      "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://www.luviq-alsfeld.com/motiv-anfragen/",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=tier",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=symbol",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=pflanze",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=himmel",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=abstrakt",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=offen"
      ],
      "belege": [],
      "prioritaet": 21
    },
    {
      "code": "onpage.description_length",
      "kategorie": "onpage",
      "titel": "7 Descriptions haben eine ungünstige Länge",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Zu lange Beschreibungen werden abgeschnitten, zu kurze verschenken Platz.",
      "ursache": "",
      "loesung": "Kürzen oder erweitern Sie die Beschreibung auf 70 bis 160 Zeichen.",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [
        "https://www.luviq-alsfeld.com/produkte/",
        "https://www.luviq-alsfeld.com/gaestebuch/",
        "https://www.luviq-alsfeld.com/liefergebiet/",
        "https://www.luviq-alsfeld.com/impressum/",
        "https://www.luviq-alsfeld.com/wissen/groesse-bei-einzelstuecken/",
        "https://www.luviq-alsfeld.com/wissen/pflege-handbemalte-kleidung/",
        "https://www.luviq-alsfeld.com/wissen/upcycling-mode-second-hand-vintage/"
      ],
      "belege": [
        "https://www.luviq-alsfeld.com/produkte/: 165 Zeichen",
        "https://www.luviq-alsfeld.com/gaestebuch/: 161 Zeichen",
        "https://www.luviq-alsfeld.com/liefergebiet/: 161 Zeichen",
        "https://www.luviq-alsfeld.com/impressum/: 161 Zeichen",
        "https://www.luviq-alsfeld.com/wissen/groesse-bei-einzelstuecken/: 162 Zeichen",
        "https://www.luviq-alsfeld.com/wissen/pflege-handbemalte-kleidung/: 161 Zeichen",
        "https://www.luviq-alsfeld.com/wissen/upcycling-mode-second-hand-vintage/: 164 Zeichen"
      ],
      "prioritaet": 20
    },
    {
      "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": "3 Titles zu kurz (0) oder zu lang (3)",
      "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://www.luviq-alsfeld.com/wissen/",
        "https://www.luviq-alsfeld.com/wissen/pflege-handbemalte-kleidung/",
        "https://www.luviq-alsfeld.com/wissen/upcycling-mode-second-hand-vintage/"
      ],
      "belege": [
        "https://www.luviq-alsfeld.com/wissen/: 63 Zeichen – Wissen zu handbemalter Upcycling-Mode – Luviq Universe, Alsfeld",
        "https://www.luviq-alsfeld.com/wissen/pflege-handbemalte-kleidung/: 63 Zeichen – Handbemalte Kleidung pflegen: bei 30 °C waschen | Luviq Alsfeld",
        "https://www.luviq-alsfeld.com/wissen/upcycling-mode-second-hand-vintage/: 65 Zeichen – Was ist Upcycling-Mode? Abgrenzung zu Second Hand | Luviq Alsfeld"
      ],
      "prioritaet": 16
    },
    {
      "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.orphans",
      "kategorie": "technical",
      "titel": "11 Sitemap-Seiten ohne internen Link (Verdacht)",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "heuristic",
      "beschreibung": "Seiten, die in der Sitemap stehen, aber von keiner geprüften Seite verlinkt werden, bekommen wenig Gewicht und werden von Besuchern kaum gefunden.",
      "ursache": "",
      "loesung": "Verlinken Sie diese Seiten aus passenden Inhalten oder der Navigation, oder entfernen Sie sie aus der Sitemap.",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [
        "https://res.cloudinary.com/dpuluomxr/image/upload/v1/media/produkte/IMG_4376_fupstq",
        "https://res.cloudinary.com/dpuluomxr/image/upload/v1/media/produkte/Photoroom_20260504_221823_rh0ykx",
        "https://res.cloudinary.com/dpuluomxr/image/upload/v1/media/produkte/Photoroom_20260504_222549_kmlpwf",
        "https://res.cloudinary.com/dpuluomxr/image/upload/v1/media/produkte/Photoroom_20260504_222730_jjwtm5",
        "https://res.cloudinary.com/dpuluomxr/image/upload/v1/media/produkte/Photoroom_20260504_222908_zundp7",
        "https://www.luviq-alsfeld.com/static/shop1/images/luviq/augen-mit-fluegeln-720.5e21b63449db.webp",
        "https://www.luviq-alsfeld.com/static/shop1/images/luviq/dornenaugen-hoodie-720.5933a97c0d27.webp",
        "https://www.luviq-alsfeld.com/static/shop1/images/luviq/drache-720.9603476fa951.webp",
        "https://www.luviq-alsfeld.com/static/shop1/images/luviq/eclipse-crew-720.40a93147df06.webp",
        "https://www.luviq-alsfeld.com/static/shop1/images/luviq/hero-panorama-1600.6886a68e5417.webp",
        "https://www.luviq-alsfeld.com/static/shop1/images/luviq/spinnennetz-jeans-hoch-720.3b84dc09ed43.webp"
      ],
      "belege": [
        "https://res.cloudinary.com/dpuluomxr/image/upload/v1/media/produkte/IMG_4376_fupstq",
        "https://res.cloudinary.com/dpuluomxr/image/upload/v1/media/produkte/Photoroom_20260504_221823_rh0ykx",
        "https://res.cloudinary.com/dpuluomxr/image/upload/v1/media/produkte/Photoroom_20260504_222549_kmlpwf",
        "https://res.cloudinary.com/dpuluomxr/image/upload/v1/media/produkte/Photoroom_20260504_222730_jjwtm5",
        "https://res.cloudinary.com/dpuluomxr/image/upload/v1/media/produkte/Photoroom_20260504_222908_zundp7",
        "https://www.luviq-alsfeld.com/static/shop1/images/luviq/augen-mit-fluegeln-720.5e21b63449db.webp",
        "https://www.luviq-alsfeld.com/static/shop1/images/luviq/dornenaugen-hoodie-720.5933a97c0d27.webp",
        "https://www.luviq-alsfeld.com/static/shop1/images/luviq/drache-720.9603476fa951.webp"
      ],
      "prioritaet": 22
    },
    {
      "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.luviq-alsfeld.com/sitemap.xml"
      ],
      "prioritaet": null
    },
    {
      "code": "tech.sitemap_coverage",
      "kategorie": "technical",
      "titel": "6 gecrawlte Seiten fehlen in der Sitemap",
      "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://www.luviq-alsfeld.com/motiv-anfragen/?richtung=tier",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=symbol",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=pflanze",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=himmel",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=abstrakt",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=offen"
      ],
      "belege": [
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=tier",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=symbol",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=pflanze",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=himmel",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=abstrakt",
        "https://www.luviq-alsfeld.com/motiv-anfragen/?richtung=offen"
      ],
      "prioritaet": 19
    },
    {
      "code": "tech.url_structure",
      "kategorie": "technical",
      "titel": "1 URL ist unsauber aufgebaut",
      "bestanden": false,
      "schwere": "low",
      "datenstatus": "measured",
      "beschreibung": "Kurze, kleingeschriebene URLs mit Bindestrichen sind für Nutzer und Suchmaschinen besser lesbar. Session-IDs und viele Parameter erzeugen doppelte Seiten.",
      "ursache": "",
      "loesung": "Nutzen Sie sprechende, kurze Adressen in Kleinbuchstaben mit Bindestrichen. Bestehende URLs nur mit 301-Weiterleitung ändern.",
      "aufwand": "medium",
      "nutzen": "low",
      "betroffene_urls": [
        "https://www.luviq-alsfeld.com/ueber_uns/"
      ],
      "belege": [
        "https://www.luviq-alsfeld.com/ueber_uns/: Unterstriche"
      ],
      "prioritaet": 23
    },
    {
      "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.luviq-alsfeld.com/"
      ],
      "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.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": [
        "Motiv anfragen",
        "Motiv anfragen"
      ],
      "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": [
        "Motiv anfragen",
        "Motiv anfragen"
      ],
      "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": [
        "brehlerluisa@gmail.com",
        "brehlerluisa@gmail.com"
      ],
      "prioritaet": null
    },
    {
      "code": "conv.form_length",
      "kategorie": "conversion",
      "titel": "Formularlänge: bis zu 4 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 nicht vorhanden",
      "bestanden": false,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Ein Chat-Kanal senkt die Hemmschwelle zur Kontaktaufnahme.",
      "ursache": "",
      "loesung": "Optional: WhatsApp-Link (wa.me/…) anbieten – nur, wenn Sie Nachrichten zeitnah beantworten.",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [],
      "prioritaet": 27
    },
    {
      "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.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 95/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": "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": [
        "Ich bemale in Alsfeld Second-Hand-Teile von Hand, mit Bleiche und Pinsel, meist in 2 bis 5 Tagen. Du sagst mir, was dra…"
      ],
      "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: 02.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": [
        "# Luviq Universe > Luviq Universe ist eine Modemarke im Aufbau aus Alsfeld (363"
      ],
      "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: Luviq Universe",
        "og:site_name: Luviq Universe"
      ],
      "prioritaet": null
    },
    {
      "code": "geo.schema_ok",
      "kategorie": "geo",
      "titel": "Strukturierte Daten (JSON-LD) vorhanden und lesbar",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "2 JSON-LD-Block/Blöcke, Typen: ItemList, Organization, Person, WebPage, WebSite.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "ItemList, Organization, 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: 547 Wörter",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Die Startseite enthält 547 Wörter im ausgelieferten HTML.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [
        "https://www.luviq-alsfeld.com/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "geo.sources",
      "kategorie": "geo",
      "titel": "Quellenangaben in Ratgebern: 3 von 3 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": 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.city_in_title",
      "kategorie": "local",
      "titel": "Ort \"Alsfeld\" 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": [
        "Was du willst, handbemalt: Mode aus Alsfeld – Luviq Universe",
        "Sag mir, was du willst — ich mal’s dir."
      ],
      "prioritaet": 24
    },
    {
      "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.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": [
        "Öffnungszeiten"
      ],
      "prioritaet": null
    },
    {
      "code": "local.nap_consistency",
      "kategorie": "local",
      "titel": "Kontaktdaten in Schema und Text stimmen überein",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "heuristic",
      "beschreibung": "Übereinstimmend: PLZ.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "high",
      "betroffene_urls": [],
      "belege": [
        "PLZ"
      ],
      "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.social",
      "kategorie": "marketing",
      "titel": "Social-Media-Profile verlinkt: 1 (+1 nur im Schema)",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Verlinkt: Instagram. Nur im Schema (sameAs), nicht sichtbar verlinkt: TikTok.",
      "ursache": "",
      "loesung": "",
      "aufwand": "low",
      "nutzen": "low",
      "betroffene_urls": [],
      "belege": [
        "https://www.instagram.com/luviq.archive/",
        "https://www.tiktok.com/@luviq.archive"
      ],
      "prioritaet": 26
    },
    {
      "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": "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.readability",
      "kategorie": "onpage",
      "titel": "Lesbarkeit (Flesch/Amstad) im Schnitt 62: gut lesbar",
      "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: 322 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 322 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: 534 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 534 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.luviq-alsfeld.com/"
      ],
      "belege": [],
      "prioritaet": null
    },
    {
      "code": "perf.desktop.si",
      "kategorie": "performance",
      "titel": "Speed Index Desktop: 521 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 521 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: 4 ms",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 4 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: 1.2 s",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 1.2 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.score",
      "kategorie": "performance",
      "titel": "Lighthouse-Leistungswert Mobil: 95/100",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Google Lighthouse bewertet die Ladeleistung mobil mit 95 von 100 Punkten (Labormessung, simulierte Verbindung).",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "high",
      "betroffene_urls": [
        "https://www.luviq-alsfeld.com/"
      ],
      "belege": [],
      "prioritaet": 25
    },
    {
      "code": "perf.mobile.si",
      "kategorie": "performance",
      "titel": "Speed Index Mobil: 1.2 s",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Gemessen: 1.2 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: 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.luviq-alsfeld.com/"
      ],
      "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.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.luviq-alsfeld.com/"
      ],
      "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.luviq-alsfeld.com/"
      ],
      "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.luviq-alsfeld.com/"
      ],
      "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.luviq-alsfeld.com/"
      ],
      "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.luviq-alsfeld.com/"
      ],
      "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-11-30 (noch 44 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 5 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.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.luviq-alsfeld.com/ -> 301 -> https://www.luviq-alsfeld.com/"
      ],
      "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": "",
      "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.response_time",
      "kategorie": "technical",
      "titel": "Antwortzeit der Startseite: 356 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 1 gefundene URL teilweise",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "Teilsperren sind normal.",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "https://www.luviq-alsfeld.com/login/"
      ],
      "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 33 URLs",
      "bestanden": true,
      "schwere": "info",
      "datenstatus": "measured",
      "beschreibung": "",
      "ursache": "",
      "loesung": "",
      "aufwand": "medium",
      "nutzen": "medium",
      "betroffene_urls": [],
      "belege": [
        "https://www.luviq-alsfeld.com/sitemap.xml (33 Einträge)"
      ],
      "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://luviq-alsfeld.com/ -> 301 -> https://www.luviq-alsfeld.com/"
      ],
      "prioritaet": null
    }
  ],
  "hinweis": "Scores sind eigene, regelbasierte Bewertungen (Methodik: /methodik/). Kein offizieller Google-Wert."
}