{
    "schema": "https://saferpage.de/schemas/performance-ux.v1",
    "generated_at": "2026-06-09T22:22:08+00:00",
    "domain": "jochen-schweizer.de",
    "available": true,
    "scan": {
        "id": "9829a94f-6901-459c-bc79-916c53a96843",
        "checked_at": "2026-06-09 19:37:47.911782+02"
    },
    "summary": "jochen-schweizer.de: Performance-Score 88, Startseiten-Antwort 445 ms, 8 Drittanbieter-Domain(s), 0 Sample-Seite(n) mit Tracking-Signalen.",
    "score": 88,
    "metrics": {
        "score": 88,
        "duration_ms": 445,
        "request_count": 111,
        "third_party_domain_count": 8,
        "script_count": 2,
        "stylesheet_count": 3,
        "image_count": 7,
        "content_length": 1108026,
        "compressed": false,
        "cache_control_present": true,
        "viewport_found": true,
        "sampled_page_count": 4,
        "sampled_average_ms": 514,
        "tracking_page_count": 0,
        "form_page_count": 3,
        "external_script_count": 0
    },
    "opportunities": [
        {
            "id": "response_time",
            "title": "Antwortzeit der Startseite niedrig halten",
            "status": "bereit",
            "impact": "mittel",
            "metric": "445 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": "offen",
            "impact": "mittel",
            "metric": "Kompression nicht sicher erkannt",
            "evidence": "Header-/HTML-Signale aus dem letzten Abruf: Content-Length 1108026 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": "s-maxage=900, stale-if-error=900, stale-while-revalidate=900",
            "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": "8 Drittanbieter-Domain(s)",
            "evidence": "Sichtbare Anbieter: api.usercentrics.eu, app.usercentrics.eu, cdn-eu.dynamicyield.com, consent-api.service.consent.usercentrics.eu, Google Tag Manager, main.static.jsmd-group.com, st-eu.dynamicyield.com, uct.service.usercentrics.eu",
            "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": "bereit",
            "impact": "mittel",
            "metric": "2 Script(s), 0 extern",
            "evidence": "Keine externen Script-URLs in der HTML-Basisliste.",
            "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/jochen-schweizer.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/jochen-schweizer.de"
        },
        {
            "id": "sampled_pages_fast",
            "title": "Wichtige Unterseiten schnell halten",
            "status": "bereit",
            "impact": "mittel",
            "metric": "Ø 514 ms",
            "evidence": "4 zuletzt geprüfte Unterseite(n), 3 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/jochen-schweizer.de"
        }
    ],
    "diagnostics": [
        {
            "id": "requests",
            "label": "Requests",
            "value": 111,
            "note": "Browser-Sample des letzten Checks."
        },
        {
            "id": "third_party_domains",
            "label": "Drittanbieter-Domains",
            "value": 8,
            "note": "Relevanter Treiber für Datenschutz, Consent und Ladezeit."
        },
        {
            "id": "assets",
            "label": "Assets",
            "value": "2 JS / 3 CSS / 7 Bilder",
            "note": "Aus HTML- und Basis-Abrufsignalen abgeleitet."
        },
        {
            "id": "sampled_pages",
            "label": "Unterseiten-Sample",
            "value": 4,
            "note": "Durchschnitt 514 ms."
        }
    ],
    "sampled_pages": [
        {
            "url": "https://www.jochen-schweizer.de/cart",
            "path": "/cart",
            "status": "200",
            "duration_ms": 334,
            "tracking_script_count": 0,
            "cookie_count": 1,
            "form_count": 0,
            "privacy_policy_found": false
        },
        {
            "url": "https://www.jochen-schweizer.de/aktivitaeten-nach-region/l/sv786",
            "path": "/aktivitaeten-nach-region/l/sv786",
            "status": "200",
            "duration_ms": 904,
            "tracking_script_count": 0,
            "cookie_count": 1,
            "form_count": 1,
            "privacy_policy_found": false
        },
        {
            "url": "https://www.jochen-schweizer.de/alle-erlebnisse/l/79ifa",
            "path": "/alle-erlebnisse/l/79ifa",
            "status": "200",
            "duration_ms": 454,
            "tracking_script_count": 0,
            "cookie_count": 1,
            "form_count": 1,
            "privacy_policy_found": false
        },
        {
            "url": "https://www.jochen-schweizer.de/angebote/l/4dycr",
            "path": "/angebote/l/4dycr",
            "status": "200",
            "duration_ms": 363,
            "tracking_script_count": 0,
            "cookie_count": 1,
            "form_count": 1,
            "privacy_policy_found": false
        }
    ],
    "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/jochen-schweizer.de",
        "json": "https://saferpage.de/performance/jochen-schweizer.de/export",
        "csv": "https://saferpage.de/performance/jochen-schweizer.de/export-csv",
        "markdown": "https://saferpage.de/performance/jochen-schweizer.de/plan-md",
        "report": "https://saferpage.de/jochen-schweizer.de",
        "findings": "https://saferpage.de/befunde/jochen-schweizer.de",
        "consent": "https://saferpage.de/consent/jochen-schweizer.de",
        "technology": "https://saferpage.de/technik/jochen-schweizer.de",
        "pages": "https://saferpage.de/seiten/jochen-schweizer.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."
}
