{
    "schema": "https://saferpage.de/schemas/performance-ux.v1",
    "generated_at": "2026-06-10T09:27:22+00:00",
    "domain": "koeln.de",
    "available": true,
    "scan": {
        "id": "0ead9f7e-797c-4b49-b04d-12d77ccb7cf2",
        "checked_at": "2026-06-10 02:34:41.233394+02"
    },
    "summary": "koeln.de: Performance-Score 94, Startseiten-Antwort 154 ms, 7 Drittanbieter-Domain(s), 0 Sample-Seite(n) mit Tracking-Signalen.",
    "score": 94,
    "metrics": {
        "score": 94,
        "duration_ms": 154,
        "request_count": 84,
        "third_party_domain_count": 7,
        "script_count": 13,
        "stylesheet_count": 13,
        "image_count": 35,
        "content_length": 0,
        "compressed": false,
        "cache_control_present": true,
        "viewport_found": true,
        "sampled_page_count": 4,
        "sampled_average_ms": 1248,
        "tracking_page_count": 0,
        "form_page_count": 0,
        "external_script_count": 1
    },
    "opportunities": [
        {
            "id": "response_time",
            "title": "Antwortzeit der Startseite niedrig halten",
            "status": "bereit",
            "impact": "mittel",
            "metric": "154 ms",
            "evidence": "SaferPage misst die Server-/Abrufdauer des letzten Checks.",
            "action": "Serverantwort, Caching, Datenbankzugriffe und externe Render-Blocker prüfen; nach Deployment erneut scannen.",
            "owner": "Webentwicklung/Hosting",
            "guide_url": "https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog"
        },
        {
            "id": "compression",
            "title": "Textressourcen komprimieren",
            "status": "prüfen",
            "impact": "mittel",
            "metric": "Kompression nicht sicher erkannt",
            "evidence": "Header-/HTML-Signale aus dem letzten Abruf: Content-Length 0 Byte.",
            "action": "Brotli oder gzip für HTML, CSS, JS und JSON aktivieren und Antwortheader nach dem Nginx-/CDN-Deployment kontrollieren.",
            "owner": "Hosting/Webentwicklung",
            "guide_url": "https://saferpage.de/guides/security-header-setzen"
        },
        {
            "id": "cache_policy",
            "title": "Cache-Regeln nachvollziehbar setzen",
            "status": "bereit",
            "impact": "mittel",
            "metric": "max-age=721",
            "evidence": "SaferPage bewertet sichtbare HTTP-Cache-Hinweise der geprüften Seite.",
            "action": "Statische Assets lang cachen, HTML bewusst kurz cachen und Cache-Policy dokumentieren, damit Performance und Aktualität steuerbar bleiben.",
            "owner": "Hosting/Webentwicklung",
            "guide_url": "https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog"
        },
        {
            "id": "viewport_mobile",
            "title": "Mobile Viewport sauber ausspielen",
            "status": "bereit",
            "impact": "niedrig",
            "metric": "Viewport vorhanden",
            "evidence": "HTML-Basischeck auf mobile Nutzbarkeit.",
            "action": "Viewport-Meta-Tag setzen, Layout auf kleinen Displays testen und Datenschutz-/Consent-Elemente ohne Überlagerung darstellen.",
            "owner": "UX/Webentwicklung",
            "guide_url": "https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog"
        },
        {
            "id": "third_party_load",
            "title": "Drittanbieterlast reduzieren",
            "status": "offen",
            "impact": "hoch",
            "metric": "7 Drittanbieter-Domain(s)",
            "evidence": "Sichtbare Anbieter: data-dc874fa9ed.koeln.de, ed.koeln.de, consent.cookiebot.com, consentcdn.cookiebot.com, Google Tag Manager, cdn01.koeln.de, Google Analytics",
            "action": "Nicht notwendige externe Dienste entfernen, Fonts lokal hosten und Marketing-/Werbeskripte erst nach Einwilligung laden.",
            "owner": "Marketing/Webentwicklung/Datenschutz",
            "guide_url": "https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden"
        },
        {
            "id": "script_budget",
            "title": "Script-Budget und Render-Blocker begrenzen",
            "status": "offen",
            "impact": "hoch",
            "metric": "13 Script(s), 1 extern",
            "evidence": "Externe Scripts: https://consent.cookiebot.com/uc.js",
            "action": "Skripte bündeln, verzögert laden, Consent-Gates setzen und nicht notwendige Tags aus dem Initial Load entfernen.",
            "owner": "Webentwicklung/Marketing Ops",
            "guide_url": "https://saferpage.de/consent/koeln.de"
        },
        {
            "id": "privacy_performance",
            "title": "Datenschutz und Performance gemeinsam verbessern",
            "status": "offen",
            "impact": "mittel",
            "metric": "0 Sample-Seite(n) mit Tracking-Signalen",
            "evidence": "4 Unterseite(n) wurden im letzten Crawl abgerufen; Tracking beeinflusst Datenschutzrisiko und Ladeverhalten.",
            "action": "Tracking, Anzeigen, Consent-Manager und externe Ressourcen erst nach Zweckprüfung und Einwilligung laden; danach Consent- und Performance-Recheck durchführen.",
            "owner": "Datenschutz/Marketing/Webentwicklung",
            "guide_url": "https://saferpage.de/befunde/koeln.de"
        },
        {
            "id": "sampled_pages_fast",
            "title": "Wichtige Unterseiten schnell halten",
            "status": "offen",
            "impact": "hoch",
            "metric": "Ø 1248 ms",
            "evidence": "4 zuletzt geprüfte Unterseite(n), 0 mit Formularen.",
            "action": "Kontakt-, Datenschutz-, Impressums- und Conversion-Seiten priorisiert testen; langsame Templates und Consent-Overlays gesondert optimieren.",
            "owner": "UX/Webentwicklung",
            "guide_url": "https://saferpage.de/seiten/koeln.de"
        }
    ],
    "diagnostics": [
        {
            "id": "requests",
            "label": "Requests",
            "value": 84,
            "note": "Browser-Sample des letzten Checks."
        },
        {
            "id": "third_party_domains",
            "label": "Drittanbieter-Domains",
            "value": 7,
            "note": "Relevanter Treiber für Datenschutz, Consent und Ladezeit."
        },
        {
            "id": "assets",
            "label": "Assets",
            "value": "13 JS / 13 CSS / 35 Bilder",
            "note": "Aus HTML- und Basis-Abrufsignalen abgeleitet."
        },
        {
            "id": "sampled_pages",
            "label": "Unterseiten-Sample",
            "value": 4,
            "note": "Durchschnitt 1248 ms."
        }
    ],
    "sampled_pages": [
        {
            "url": "https://www.koeln.de/aktuelles/10-neue-tempokontrollen-fuer-koeln-119235",
            "path": "/aktuelles/10-neue-tempokontrollen-fuer-koeln-119235",
            "status": "200",
            "duration_ms": 1231,
            "tracking_script_count": 0,
            "cookie_count": 0,
            "form_count": 0,
            "privacy_policy_found": true
        },
        {
            "url": "https://www.koeln.de/aktuelles/a559-zwischen-koeln-und-bonn-am-wochenende-gesperrt-117552",
            "path": "/aktuelles/a559-zwischen-koeln-und-bonn-am-wochenende-gesperrt-117552",
            "status": "200",
            "duration_ms": 1296,
            "tracking_script_count": 0,
            "cookie_count": 0,
            "form_count": 0,
            "privacy_policy_found": true
        },
        {
            "url": "https://www.koeln.de/aktuelles/ab-september-wieder-bahnverkehr-ueber-muelheimer-bruecke-111997",
            "path": "/aktuelles/ab-september-wieder-bahnverkehr-ueber-muelheimer-bruecke-111997",
            "status": "200",
            "duration_ms": 1225,
            "tracking_script_count": 0,
            "cookie_count": 0,
            "form_count": 0,
            "privacy_policy_found": true
        },
        {
            "url": "https://www.koeln.de/aktuelles/am-samstag-heulen-die-sirenen-in-koeln-115293",
            "path": "/aktuelles/am-samstag-heulen-die-sirenen-in-koeln-115293",
            "status": "200",
            "duration_ms": 1241,
            "tracking_script_count": 0,
            "cookie_count": 0,
            "form_count": 0,
            "privacy_policy_found": true
        }
    ],
    "sources": [
        {
            "title": "Google PageSpeed Insights API",
            "url": "https://developers.google.com/speed/docs/insights/v5/get-started",
            "note": "Referenz für getrennte Lab-/Field-Performance-Daten und Ergebnisstruktur."
        },
        {
            "title": "Lighthouse Performance Audits",
            "url": "https://developer.chrome.com/docs/lighthouse/performance/performance-scoring",
            "note": "Referenz für Performance-Score- und Audit-Denke; SaferPage bildet keinen vollständigen Lighthouse-Lauf ab."
        }
    ],
    "links": {
        "performance_center": "https://saferpage.de/performance/koeln.de",
        "json": "https://saferpage.de/performance/koeln.de/export",
        "csv": "https://saferpage.de/performance/koeln.de/export-csv",
        "markdown": "https://saferpage.de/performance/koeln.de/plan-md",
        "report": "https://saferpage.de/koeln.de",
        "findings": "https://saferpage.de/befunde/koeln.de",
        "consent": "https://saferpage.de/consent/koeln.de",
        "technology": "https://saferpage.de/technik/koeln.de",
        "pages": "https://saferpage.de/seiten/koeln.de"
    },
    "disclaimer": "Dieses Center ist ein SaferPage-Lab- und Browser-Basissignal. Es ersetzt keinen vollständigen Lighthouse-/WebPageTest-Lauf und enthält keine CrUX-Field-Daten; es priorisiert sichtbare Performance-, UX- und Datenschutz-Hebel für Betreiber."
}
