Deutsch | English Header-Test API Über WebForensik

WebForensik

Ergebnisse für https://www.bbc.com/

Analysezeitpunkt: 2026-09-20 06:13:08

54

Gesamtbewertung

Score-Verlauf für diese Domain Kompletten Verlauf ansehen →

DSGVO-Zusammenfassung

⚠ Diese Website weist schwerwiegende DSGVO-Mängel auf. Es besteht dringender Handlungsbedarf.

DSGVO-Probleme erkannt (5):

❌ 8 Drittanbieter-Server außerhalb der EU/des EWR — Datenübermittlung ohne Rechtsgrundlage kann gegen Art. 44–49 DSGVO verstoßen.

Betroffene Server außerhalb der EU:

  • cdn.privacy-mgmt.com (United States)
  • static.chartbeat.com (United States)
  • uk-script.dotmetrics.net (United States)
  • mybbc-analytics.files.bbci.co.uk (United States)
  • rm-script.dotmetrics.net (United States)
  • pagead2.googlesyndication.com (United States)
  • ping.chartbeat.net (United States)
  • logx.optimizely.com (United States)

❌ 1 Tracking-Dienst(e) erkannt — ohne vorherige Einwilligung (Opt-in) ein Verstoß gegen Art. 6 Abs. 1 DSGVO und § 25 TDDDG.

Erkannte Tracker:

  • Chartbeat (Content)

⚠ Drittanbieter-Cookies werden gesetzt — ohne Einwilligung ein Verstoß gegen § 25 TDDDG.

⚠ Keine Content Security Policy — erhöhtes Risiko für Cross-Site-Scripting (XSS) und Datendiebstahl.

⚠ Fehlende oder unsichere Referrer-Policy — URLs mit personenbezogenen Daten können an Dritte weitergegeben werden.

Hinweis: Diese automatisierte Analyse ersetzt keine rechtliche Beratung. Für eine vollständige DSGVO-Bewertung konsultieren Sie einen Datenschutzbeauftragten.

↓ Detaillierte Ergebnisse zu allen Kategorien finden Sie weiter unten.

Anzeigen:
95 HTTPS / Verschlüsselung

Die Website nutzt eine verschlüsselte Verbindung (HTTPS).

Neueste Verschlüsselung aktiv (TLS 1.3 — TLSv1.3).

Das Sicherheitszertifikat ist gültig (läuft ab am 2027-01-24).

Ausreichende Verschlüsselungsmethode (TLS_AES_128_GCM_SHA256, 128 Bit).

☛ Handlungsbedarf: Die Verschlüsselungsmethode ist ausreichend, aber nicht optimal. Bitten Sie Ihren Hoster, stärkere Cipher Suites zu konfigurieren.
90 Erzwungene Verschlüsselung (HSTS)

HSTS ist aktiviert — der Browser wird angewiesen, immer die verschlüsselte Verbindung zu nutzen.

HSTS-Dauer: 31536000 Sekunden (mindestens 1 Jahr) — sehr gut.

HSTS-Preload ist aktiviert — Browser kennen die Verschlüsselung schon vor dem ersten Besuch.

0 Content Security Policy (CSP)

Keine Content Security Policy (CSP) gefunden. Die Website hat keinen Schutz gegen eingeschleusten Schadcode.

☛ Handlungsbedarf: Richten Sie eine Content Security Policy ein. Diese schützt Ihre Besucher vor eingeschleustem Schadcode (Cross-Site-Scripting/XSS). Beginnen Sie mit einer einfachen Richtlinie: Content-Security-Policy: default-src 'self'. Ihr Webentwickler oder Hoster kann Ihnen dabei helfen.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Eine Content Security Policy (CSP) ist wie eine Türsteher-Regel für den Browser: „Skripte und Stile dürfen nur aus diesen erlaubten Quellen geladen werden." Ohne CSP kann eingeschleuster Schadcode (XSS) ungehindert nachladen, was er will. Starten Sie mit einer einfachen, sicheren Grundregel.

Apache-Server (klassisches Hosting bei den meisten Anbietern)

Datei: .htaccess im Web-Root

<IfModule mod_headers.c>
    Header always set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self' https: data:; object-src 'none'; frame-ancestors 'self'; base-uri 'self'"
</IfModule>

⚠ Diese Policy ist bewusst pragmatisch (erlaubt Inline-Styles, weil viele Themes/Plugins sie brauchen). Wenn nach dem Aktivieren etwas nicht funktioniert: F12 → Konsole zeigt „Refused to load…" — dann die jeweilige Domain hinter script-src bzw. img-src ergänzen.

WordPress Spezial für WordPress: so tragen Sie es ein

Weg 1: per .htaccess (empfohlen — kein Theme bearbeiten)

Datei: .htaccess im WordPress-Root

# BEGIN WebForensik CSP
<IfModule mod_headers.c>
    Header always set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self' https: data:; object-src 'none'; frame-ancestors 'self'; base-uri 'self'"
</IfModule>
# END WebForensik CSP

⚠ WordPress nutzt häufig externe Skripte (Google Fonts, jQuery-CDN, Analytics-Pixel) — wenn die wegen CSP geblockt werden: in der Konsole sehen, welche Domain blockiert wurde, dann diese Domain hinter „script-src 'self'" mit Leerzeichen ergänzen.

Weg 2: per functions.php im Child-Theme (Alternative für Fortgeschrittene)

Datei: functions.php Ihres CHILD-Themes

add_action('send_headers', function () {
    header("Content-Security-Policy: default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self' https: data:; object-src 'none'; frame-ancestors 'self'; base-uri 'self'");
});

⚠ Wenn Sie unsicher sind: erst mit „Content-Security-Policy-Report-Only" beginnen (nur überwachen, nicht blockieren), Verstöße in der Konsole beobachten, dann auf scharfe Policy umstellen.

✓ So prüfen Sie, ob es funktioniert: Seite öffnen, F12 → Konsole — keine roten „Refused to load…"-Meldungen. Tab „Netzwerk" → erste Anfrage → Response Header „content-security-policy" sichtbar.

↓ KOMPLETT-LÖSUNG ANZEIGEN Alle fehlenden Security-Header zusammen am Ende des Reports — fertig zum Kopieren.
20 Referrer-Policy

Referrer-Policy: no-referrer-when-downgrade (via HTTP-Header).

Die Einstellung „no-referrer-when-downgrade" gibt zu viel URL-Information an andere Websites weiter.

☛ Handlungsbedarf: Ändern Sie die Referrer-Policy auf eine datenschutzfreundlichere Einstellung wie „strict-origin-when-cross-origin" oder „no-referrer". Die aktuelle Einstellung gibt zu viel Information an Dritte weiter.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Ihre aktuelle Referrer-Policy gibt zu viel preis (z.B. „unsafe-url" oder „no-referrer-when-downgrade"). Wechseln Sie auf eine datenschutzfreundlichere Einstellung.

Apache-Server (klassisches Hosting bei den meisten Anbietern)

Datei: .htaccess im Web-Root

<IfModule mod_headers.c>
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

⚠ Vorhandene Referrer-Policy-Zeile ersetzen.

WordPress Spezial für WordPress: so tragen Sie es ein

Weg 1: per .htaccess (empfohlen — kein Theme bearbeiten)

Datei: .htaccess im WordPress-Root

<IfModule mod_headers.c>
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

⚠ Vorhandenen Referrer-Policy-Eintrag ersetzen.

✓ So prüfen Sie, ob es funktioniert: F12 → Netzwerk → Response Header — neuer Wert sichtbar.

↓ KOMPLETT-LÖSUNG ANZEIGEN Alle fehlenden Security-Header zusammen am Ende des Reports — fertig zum Kopieren.
100 MIME-Typ-Schutz

MIME-Typ-Schutz aktiv (nosniff) — Browser interpretieren Dateien nicht falsch.

100 Clickjacking-Schutz

Clickjacking-Schutz aktiv: X-Frame-Options = SAMEORIGIN.

0 Berechtigungen (Kamera, Mikrofon etc.)

Keine Permissions-Policy gesetzt. Drittanbieter-Skripte könnten auf Kamera, Mikrofon oder Standort zugreifen.

☛ Handlungsbedarf: Setzen Sie eine Permissions-Policy, um den Zugriff auf Kamera, Mikrofon und Standort zu kontrollieren. DSGVO-relevant: Ohne diese Einstellung könnten Drittanbieter-Skripte unbemerkt auf sensible Geräte-Funktionen zugreifen. Beispiel: Permissions-Policy: camera=(), microphone=(), geolocation=()
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Die Permissions-Policy kontrolliert, ob Skripte (auch von Drittanbietern) auf Kamera, Mikrofon, Standort, Bewegungssensoren etc. zugreifen dürfen. DSGVO-relevant, weil sensible Geräte-APIs sonst unbemerkt angesprochen werden können.

Apache-Server (klassisches Hosting bei den meisten Anbietern)

Datei: .htaccess im Web-Root

<IfModule mod_headers.c>
    Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=(), accelerometer=(), gyroscope=(), magnetometer=(), interest-cohort=()"
</IfModule>

⚠ „()" am Ende heißt: kein Aufrufer (auch nicht Ihre eigene Seite) darf diese API nutzen. Falls Sie z.B. eine Karten-Funktion mit Geolokalisierung haben: geolocation=(self) statt geolocation=(). „interest-cohort=()" deaktiviert Googles FLoC-Tracking.

WordPress Spezial für WordPress: so tragen Sie es ein

Weg 1: per .htaccess (empfohlen — kein Theme bearbeiten)

Datei: .htaccess im WordPress-Root

<IfModule mod_headers.c>
    Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=(), interest-cohort=()"
</IfModule>

⚠ Standard-WordPress braucht keine dieser APIs. Wenn Sie ein Plugin nutzen, das z.B. die Kamera braucht (QR-Scanner, Video-Upload): die entsprechende API auf „(self)" setzen.

Weg 2: per functions.php im Child-Theme (Alternative für Fortgeschrittene)

Datei: functions.php Ihres CHILD-Themes

add_action('send_headers', function () {
    header('Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), usb=(), interest-cohort=()');
});

⚠ Backup vor jeder Änderung an functions.php.

✓ So prüfen Sie, ob es funktioniert: F12 → Netzwerk → Response Header: „permissions-policy" sichtbar.

↓ KOMPLETT-LÖSUNG ANZEIGEN Alle fehlenden Security-Header zusammen am Ende des Reports — fertig zum Kopieren.
55 Cookies

16 Erstanbieter- und 2 Drittanbieter-Cookie(s).

2 Drittanbieter-Cookie(s) erkannt. Diese können genutzt werden, um Sie über verschiedene Websites hinweg zu verfolgen.

☛ Handlungsbedarf: DSGVO-VERSTOSS: Drittanbieter-Cookies tracken Besucher über mehrere Websites hinweg. Das erfordert eine ausdrückliche Einwilligung (Opt-in) BEVOR die Cookies gesetzt werden. Lösung: (1) Prüfen Sie, welche externen Dienste die Cookies setzen. (2) Entfernen Sie nicht benötigte Dienste. (3) Für notwendige Dienste: Implementieren Sie einen Cookie-Consent-Banner, der diese Cookies erst nach Zustimmung lädt.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Drittanbieter-Cookies (z.B. von Google, Facebook) verfolgen Besucher über Websites hinweg. Nach § 25 TDDDG und Art. 6 DSGVO ist VOR dem Setzen eine ausdrückliche Einwilligung Pflicht. Lösung in drei Schritten: (1) prüfen, welche externen Dienste die Cookies setzen, (2) nicht zwingend nötige Dienste entfernen, (3) für unverzichtbare Dienste ein Consent-Banner einbauen, das die Cookies erst nach „Zustimmen" lädt.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Cookie-Consent-Plugins für WordPress: „Complianz" (kostenlos, sehr gründlich), „Borlabs Cookie" (kostenpflichtig, deutsch, sehr gut für Profis), „Real Cookie Banner" (DSGVO-fokussiert). Wichtig bei der Konfiguration: alle Tracking-Dienste auf „Vor Einwilligung NICHT laden" stellen — die meisten Plugins erkennen Standard-Dienste (GA, Maps, YouTube) automatisch.

✓ So prüfen Sie, ob es funktioniert: Browser im Inkognito-Modus öffnen, F12 → Tab „Application" → „Cookies" → ihre-domain.de. VOR dem Klick auf „Zustimmen" dürfen dort KEINE Cookies von google.com, facebook.com etc. stehen. NACH Zustimmung dann ja.

8 von 18 Cookie(s) ohne Secure-Flag — werden auch über unverschlüsselte Verbindungen gesendet.

☛ Handlungsbedarf: Setzen Sie das Secure-Flag für alle Cookies. Ohne dieses Flag werden Cookies auch über unverschlüsselte HTTP-Verbindungen gesendet und können abgefangen werden. Ihr Webentwickler kann das in der Cookie-Konfiguration ändern.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Cookies ohne „Secure"-Flag werden auch über unverschlüsselte HTTP-Verbindungen gesendet — und können dort von jedem im selben WLAN abgefangen werden. Bei reinen HTTPS-Sites gibt es keinen Grund, das Flag wegzulassen.

Apache-Server (klassisches Hosting bei den meisten Anbietern)

Datei: .htaccess im Web-Root

<IfModule mod_headers.c>
    Header always edit Set-Cookie "^(.*)$" "$1; Secure" "expr=!(resp('Set-Cookie') -strmatch '*Secure*')"
</IfModule>

⚠ Dieser Header hängt „; Secure" an Cookies an, die es noch nicht haben. Funktioniert ab Apache 2.4. Saubere Alternative: das setzende Skript korrigieren (PHP: session.cookie_secure=1 in php.ini, bzw. setcookie()-Parameter „secure" auf true).

WordPress Spezial für WordPress: so tragen Sie es ein

Weg 2: per functions.php im Child-Theme (Alternative für Fortgeschrittene)

Datei: functions.php Ihres CHILD-Themes

add_filter('secure_logged_in_cookie', '__return_true');
add_action('init', function () {
    if (!headers_sent()) {
        @ini_set('session.cookie_secure', '1');
        @ini_set('session.cookie_httponly', '1');
        @ini_set('session.cookie_samesite', 'Lax');
    }
});

⚠ Setzt Secure-Flag für WordPress-Login-Cookies und PHP-Session-Cookies. Bei Plugins, die eigene Cookies setzen, muss man dort separat ansetzen (Plugin-Einstellungen prüfen).

WordPress-Plugin: Plugins, die Cookies setzen (Cache, Anti-Spam, A/B-Test), haben oft in den Einstellungen Schalter wie „Secure Cookies" oder „nur über HTTPS".

✓ So prüfen Sie, ob es funktioniert: F12 → Application → Cookies → ihre-domain.de. Spalte „Secure" sollte bei allen Cookies ein Häkchen zeigen.

17 von 18 Cookie(s) ohne HttpOnly-Flag — könnten von Schadcode ausgelesen werden.

☛ Handlungsbedarf: Setzen Sie das HttpOnly-Flag für alle Cookies, die nicht von JavaScript benötigt werden. Das schützt vor dem Diebstahl von Sitzungsdaten durch Schadcode.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Cookies ohne „HttpOnly"-Flag können von JavaScript ausgelesen werden — ein XSS-Angreifer kann damit Session-Cookies stehlen und sich als der eingeloggte Nutzer ausgeben. Setzen Sie HttpOnly für alle Cookies, die JavaScript nicht aktiv selbst braucht.

Apache-Server (klassisches Hosting bei den meisten Anbietern)

Datei: .htaccess im Web-Root

<IfModule mod_headers.c>
    Header always edit Set-Cookie "^(.*)$" "$1; HttpOnly" "expr=!(resp('Set-Cookie') -strmatch '*HttpOnly*')"
</IfModule>

⚠ Sauberer wäre, Cookies direkt mit HttpOnly zu setzen (PHP: setcookie(..., [..., 'httponly'=>true])). Ausnahme: Cookies, die JS aktiv lesen muss (z.B. manche Consent-Cookies).

WordPress Spezial für WordPress: so tragen Sie es ein

Weg 2: per functions.php im Child-Theme (Alternative für Fortgeschrittene)

Datei: functions.php Ihres CHILD-Themes (oder besser wp-config.php)

@ini_set('session.cookie_httponly', '1');
@ini_set('session.cookie_secure', '1');

⚠ WordPress-Login-Cookies sind seit Version 2.x bereits HttpOnly. Wenn Sie ein Plugin nutzen, das Session-Cookies setzt (z.B. WooCommerce-Cart vor Login), prüfen Sie dort die Einstellungen.

✓ So prüfen Sie, ob es funktioniert: F12 → Application → Cookies → Spalte „HttpOnly" zeigt überall Häkchen (außer bei bewusst JS-lesbaren Cookies wie z.B. dem Consent-Cookie).

14 von 18 Cookie(s) ohne SameSite-Schutz — werden bei Anfragen von anderen Websites mitgesendet.

☛ Handlungsbedarf: Setzen Sie das SameSite-Attribut (Lax oder Strict) für alle Cookies. Das verhindert, dass Cookies bei Anfragen von fremden Websites mitgesendet werden (CSRF-Schutz).
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Ohne „SameSite"-Attribut werden Cookies bei Anfragen von fremden Websites an Sie mitgesendet — Grundlage für CSRF-Angriffe (eine fremde Seite kann im Hintergrund Aktionen in Ihrem Namen auslösen, weil das Login-Cookie mitgeschickt wird). Setzen Sie SameSite=Lax als Minimum.

Apache-Server (klassisches Hosting bei den meisten Anbietern)

Datei: .htaccess im Web-Root

<IfModule mod_headers.c>
    Header always edit Set-Cookie "^(.*)$" "$1; SameSite=Lax" "expr=!(resp('Set-Cookie') -strmatch '*SameSite*')"
</IfModule>

⚠ SameSite=Lax ist ein guter Standard. Strict ist sicherer, bricht aber externe Verlinkungen (User klickt von Google auf Ihre Seite — Cookies werden NICHT gesendet, Login ist weg). None erlaubt Cross-Site, braucht zwingend „; Secure".

WordPress Spezial für WordPress: so tragen Sie es ein

Weg 2: per functions.php im Child-Theme (Alternative für Fortgeschrittene)

Datei: wp-config.php (oberhalb von „/* That’s all, stop editing! */")

@ini_set('session.cookie_samesite', 'Lax');
@ini_set('session.cookie_secure', '1');
@ini_set('session.cookie_httponly', '1');

⚠ Setzt SameSite/Secure/HttpOnly für PHP-Session-Cookies. WordPress-Login-Cookies sind seit WP 6.2 standardmäßig SameSite=Lax. Bei älteren Versionen unbedingt updaten.

✓ So prüfen Sie, ob es funktioniert: F12 → Application → Cookies → Spalte „SameSite" — sollte überall „Lax" oder „Strict" stehen, nicht leer.

Erstanbieter

Name Domain Verschlüsselt Nur Server SameSite
optimizelyEndUserId .bbc.com Nein Nein None
optimizelySession .bbc.com Nein Nein None
ckns_explicit .bbc.com Nein Nein None
ckns_policy .bbc.com Nein Nein None
ckns_policy_exp .bbc.com Nein Nein None
ckns_privacy .bbc.com Nein Nein None
ckns_echo_device_id .bbc.com Nein Nein None
ckns_mvt .bbc.com Nein Nein None
_sp_su .bbc.com Ja Nein None
_cb .bbc.com Ja Nein None
_chartbeat2 .bbc.com Ja Nein None
_cb_svref .bbc.com Ja Nein None
_pprv .bbc.com Ja Nein Lax
pa_vid .bbc.com Ja Nein Lax
_pcid .bbc.com Ja Nein Lax
_pctx .bbc.com Ja Nein Lax

Drittanbieter

Name Domain Verschlüsselt Nur Server SameSite
__cf_bm .tinypass.com Ja Ja None
https://www.bbc.com_oeu1789877584723r0.7 a4621041136.cdn.optimizely.com Ja Nein None
↓ KOMPLETT-LÖSUNG ANZEIGEN Alle fehlenden Security-Header zusammen am Ende des Reports — fertig zum Kopieren.
50 Lokaler Speicher (Web Storage)

18 localStorage- und 0 sessionStorage-Einträge gefunden.

Umfangreiche localStorage-Nutzung — könnte auf Tracking oder Fingerprinting hindeuten.

☛ Handlungsbedarf: Die umfangreiche Nutzung von localStorage kann auf Tracking oder Fingerprinting hindeuten. Prüfen Sie, welche Daten gespeichert werden und ob diese für die Funktion der Website notwendig sind. DSGVO-relevant: Auch localStorage-Daten können unter die Datenschutzrichtlinie für elektronische Kommunikation fallen.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Umfangreiche Nutzung von localStorage kann auf Tracking oder Fingerprinting hindeuten (localStorage ist nicht vom Cookie-Consent erfasst, taugt aber zur Wiedererkennung). Prüfen Sie, ob die Daten wirklich nötig sind — und wenn ja: in die Datenschutzerklärung aufnehmen.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: localStorage-Belegungen kommen meist aus Themes oder Plugins (Cookie-Banner-Status, Warenkorb, A/B-Testing, Slider-Position). Vorgehen: F12 → Application → Local Storage → ihre-domain.de — Einträge ansehen, mutmaßlichen Verursacher (Plugin-Name im Schlüssel) identifizieren, in den Plugin-Einstellungen prüfen oder Plugin entfernen, wenn nicht notwendig.

✓ So prüfen Sie, ob es funktioniert: Inkognito-Browser → Seite einmal laden → F12 → Application → Local Storage — möglichst wenig Einträge, jedenfalls keine ohne Funktionsbezug.

localStorage

NameWert
_cb JhT9EDomhToC_Mb-N
optimizely_data$$oeu1789877584723r0.74972611197441 {"lastSessionTimestamp":1789877584724,"sessionId":"7cef43c6-a97e-4505-b616-461a3
optimizely_data$$oeu1789877584723r0.74972611197441 {}
_chartbeat2 .1789877585245.1789877585245.1.D2M_NZF4VTpiFdErc0OXDGc5qo.1
optimizely_data$$oeu1789877584723r0.74972611197441 {}
_cb_expires 1824005585246
_sp_non_keyed_local_state {"gdpr":{"_sp_v1_data":"1293142","_sp_v1_p":"192"},"usnat":{"_sp_v1_data":"13111
_cb_svref external
optimizely_data$$pending_events {}
_chartbeat2_expires 1824005585246
optimizely_data$$oeu1789877584723r0.74972611197441 [{"eb":{"n":"27302320011_homepage","y":"pageview","c":"other"},"h":"cd08b61","tb
_sp_local_state {"gdpr":{"mmsCookies":["_sp_v1_ss=1:H4sIAAAAAAAAAItWqo5RKimOUbKKxs_IAzEMamN1YpRS
optimizely_data$$oeu1789877584723r0.74972611197441 {"4522635344740352":{"6056326759972864":"5347509583740928"}}
_sp_user_consent_26225 {"gdpr":{"authId":null,"uuid":null,"getMessageAlways":false,"applies":true,"acti
optimizely_data$$oeu1789877584723r0.74972611197441 [{"layerId":"4522635344740352","revision":"2364","decisionTicket":{"bucketingId"
optimizely_data$$oeu1789877584723r0.74972611197441 {}
_cb_svref_expires 1789879385249
optimizely_data$$oeu1789877584723r0.74972611197441 {"profile":{"visitorId":"oeu1789877584723r0.7497261119744152","customBehavior":{
10 Drittanbieter-Anfragen

121 Anfrage(n) an 16 verschiedene Drittanbieter-Server.

8 Drittanbieter-Server außerhalb der EU/des EWR — potenziell problematisch für die DSGVO.

☛ Handlungsbedarf: DSGVO-VERSTOSS MÖGLICH: Daten Ihrer Besucher werden an Server außerhalb der EU/des EWR übertragen. Seit dem Schrems-II-Urteil ist das nur mit besonderen Schutzmaßnahmen zulässig. Lösungen: (1) Wechseln Sie zu EU-basierten Alternativen (z.B. Matomo statt Google Analytics, Bunny Fonts statt Google Fonts). (2) Falls nicht möglich: Stellen Sie sicher, dass Standardvertragsklauseln (SCC) und zusätzliche technische Maßnahmen vorhanden sind. (3) Holen Sie eine ausdrückliche Einwilligung der Besucher ein, BEVOR Daten übertragen werden.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

DSGVO-relevant: Daten Ihrer Besucher (mindestens IP-Adresse + User-Agent) werden an Server außerhalb der EU/des EWR übertragen. Seit dem Schrems-II-Urteil (2020) ist das nur mit Standardvertragsklauseln + zusätzlichen Schutzmaßnahmen UND vorheriger Einwilligung zulässig. Beste Lösung: durch EU-Alternativen ersetzen, wo möglich.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Häufige Übeltäter und EU-Alternativen: Google Fonts → Bunny Fonts oder lokal hosten (Plugin „OMGF — Host Google Fonts Locally"). Google Analytics → Matomo (selbst gehostet) oder Plausible (EU-Server). Google reCAPTCHA → hCaptcha (EU) oder Friendly Captcha. Google Maps → OpenStreetMap. YouTube-Einbettung → Plugin „WP YouTube Lyte" lädt erst nach Klick. CDN: Cloudflare → BunnyCDN (EU) oder KeyCDN.

✓ So prüfen Sie, ob es funktioniert: Im Inkognito-Modus laden, F12 → Netzwerk → alle Anfragen auflisten → unter „Domain" auf Server außerhalb EU prüfen. Nach Umstellung sollte hier keine US-Domain mehr unaufgefordert geladen werden.

8 Drittanbieter-Server innerhalb der EU/des EWR.

static.files.bbci.co.uk 76 Anfragen · Germany (DE) · EU/EWR

Aufgerufene URLs:

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/grey-placeholder.png

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0b-tgv1_m1uo9.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0d9awe5d081.2.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0s_kjwmep8yf2.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/178~uy1pz6ka4.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0-a6nanpwqpag.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/02w2j6a0szhem.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/01ahds4cdfgmx.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/004vauwu48azs.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0gmos.wajd.qx.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0zpz-874su9ks.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0k530rgixl5kt.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0jl4bpoiy-t_p.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0jcf7ay9pl-s0.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0fi49hn5~2abh.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0na6onp8uomzi.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0pr885e78gdj8.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0u17oyz1d609w.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0ogvtm3jmac~r.js

https://static.files.bbci.co.uk/bbcdotcom/web/20260907-085256-bea8b058c0-web-3.21.0/_next/static/chunks/0~~24znpk8vc1.js

... und 56 weitere Anfrage(n)

ichef.bbci.co.uk 15 Anfragen · Germany (DE) · EU/EWR

Aufgerufene URLs:

https://ichef.bbci.co.uk/news/640/cpsprodpb/846c/live/65039890-b494-11f1-8153-85d44903e598.jpg.webp

https://ichef.bbci.co.uk/news/480/cpsprodpb/0eca/live/b493a9b0-b49c-11f1-a430-4d16ee157c41.jpg.webp

https://ichef.bbci.co.uk/news/480/cpsprodpb/39c5/live/a0844fe0-b45d-11f1-b213-1db858c3e27c.jpg.webp

https://ichef.bbci.co.uk/images/ic/1024x576/p0p9kzxm.jpg.webp

https://ichef.bbci.co.uk/images/ic/480x270/p0pb846k.jpg.webp

https://ichef.bbci.co.uk/images/ic/1024x576/p0pb3hjm.jpg.webp

https://ichef.bbci.co.uk/images/ic/480x270/p0pb39j9.jpg.webp

https://ichef.bbci.co.uk/images/ic/480x270/p0p9xl5h.jpg.webp

https://ichef.bbci.co.uk/images/ic/480x270/p0p9pxcv.jpg.webp

https://ichef.bbci.co.uk/images/ic/480x270/p0p9jd15.jpg.webp

https://ichef.bbci.co.uk/images/ic/480x270/p0p7gwmq.jpg.webp

https://ichef.bbci.co.uk/images/ic/480x270/p0p8wzct.jpg.webp

https://ichef.bbci.co.uk/images/ic/480x270/p0nk2v1v.jpg.webp

https://ichef.bbci.co.uk/images/ic/480x270/p0p5hfl2.jpg.webp

https://ichef.bbci.co.uk/images/ic/480x270/p0pb2ngk.jpg.webp

cdn.privacy-mgmt.com 12 Anfragen · United States (US) · Nicht-EU
⚠ DSGVO-Problem: Dieser Server steht außerhalb der EU/des EWR. Die Übertragung personenbezogener Daten (z.B. IP-Adressen Ihrer Besucher) an diesen Server kann gegen Art. 44–49 DSGVO verstoßen. Ohne gültige Rechtsgrundlage (z.B. Einwilligung, Standardvertragsklauseln) ist diese Datenübermittlung unzulässig.

Aufgerufene URLs:

https://cdn.privacy-mgmt.com/unified/wrapperMessagingWithoutDetection.js

https://cdn.privacy-mgmt.com/unified/4.40.2/gdpr-tcf.27718c8cb9d29947d2c1.bundle.js

https://cdn.privacy-mgmt.com/mms/v2/get_site_data?hasCsp=true&href=https%3A%2F%2Fwww.bbc.com%2F&account_id=1786

https://cdn.privacy-mgmt.com/unified/4.40.2/usnat.f12613136193900e32e2.bundle.js

https://cdn.privacy-mgmt.com/wrapper/v2/meta-data?hasCsp=true&accountId=1786&env=prod&metadata=%7B%22gdpr%22%3A%7B%7D%2C%22usnat%22%3A%7B%7D%7D&propertyId=26225&scriptVersion=4.40.2&scriptType=unified

https://cdn.privacy-mgmt.com/wrapper/v2/messages?hasCsp=true&env=prod&body=%7B%22accountId%22%3A1786%2C%22campaignEnv%22%3A%22prod%22%2C%22campaigns%22%3A%7B%22gdpr%22%3A%7B%22consentStatus%22%3A%7B%7

https://cdn.privacy-mgmt.com/index.html?hasCsp=true&message_id=1489022&consentUUID=null&consent_origin=https%3A%2F%2Fcdn.privacy-mgmt.com%2Fconsent%2Ftcfv2&preload_message=true&version=v1

https://cdn.privacy-mgmt.com/Notice.1c267.css

https://cdn.privacy-mgmt.com/polyfills.01516.js

https://cdn.privacy-mgmt.com/Notice.97af9.js

https://cdn.privacy-mgmt.com/consent/tcfv2/vendor-list/categories?siteId=26225

https://cdn.privacy-mgmt.com/consent/tcfv2/vendor-list/categories?siteId=26225&consentLanguage=en

uk-script.dotmetrics.net 3 Anfragen · United States (US) · Nicht-EU
⚠ DSGVO-Problem: Dieser Server steht außerhalb der EU/des EWR. Die Übertragung personenbezogener Daten (z.B. IP-Adressen Ihrer Besucher) an diesen Server kann gegen Art. 44–49 DSGVO verstoßen. Ohne gültige Rechtsgrundlage (z.B. Einwilligung, Standardvertragsklauseln) ist diese Datenübermittlung unzulässig.

Aufgerufene URLs:

https://uk-script.dotmetrics.net/door.js?d=www.bbc.com&t=homestudio

https://uk-script.dotmetrics.net/hit.gif?id=13934&url=https%3A%2F%2Fwww.bbc.com%2F&dom=www.bbc.com&r=1789877585255&pvs=1&ecid=2e508d33-83f7-4d94-92a2-a7e8eaaefcaf&c=false&tzOffset=-120&doorUrl=http%3a

https://uk-script.dotmetrics.net/Scripts/ncs-script.js?v=366

mybbc-analytics.files.bbci.co.uk 3 Anfragen · United States (US) · Nicht-EU
⚠ DSGVO-Problem: Dieser Server steht außerhalb der EU/des EWR. Die Übertragung personenbezogener Daten (z.B. IP-Adressen Ihrer Besucher) an diesen Server kann gegen Art. 44–49 DSGVO verstoßen. Ohne gültige Rechtsgrundlage (z.B. Einwilligung, Standardvertragsklauseln) ist diese Datenübermittlung unzulässig.

Aufgerufene URLs:

https://mybbc-analytics.files.bbci.co.uk/echo-client-js/echo-2.6.0-avi.min.js

https://mybbc-analytics.files.bbci.co.uk/analytics-remote-config/producers.json

https://mybbc-analytics.files.bbci.co.uk/analytics-remote-config/masterbrands.json

cdn.optimizely.com 2 Anfragen · Canada (CA) · EU/EWR

Aufgerufene URLs:

https://cdn.optimizely.com/public/4621041136/s/bbcx_prod.js

https://cdn.optimizely.com/datafiles/Y67aV8AjKqtntTQvKqk1A.json

static.bbci.co.uk 1 Anfragen · Germany (DE) · EU/EWR

Aufgerufene URLs:

https://static.bbci.co.uk/frameworks/requirejs/0.13.0/sharedmodules/require.js

emp.bbci.co.uk 1 Anfragen · Germany (DE) · EU/EWR

Aufgerufene URLs:

https://emp.bbci.co.uk/emp/bump-4/bump-4.js

cdn.tinypass.com 1 Anfragen · Canada (CA) · EU/EWR

Aufgerufene URLs:

https://cdn.tinypass.com/api/tinypass.min.js

www.bbc.co.uk 1 Anfragen · Germany (DE) · EU/EWR

Aufgerufene URLs:

https://www.bbc.co.uk/userinfo

a4621041136.cdn.optimizely.com 1 Anfragen · Canada (CA) · EU/EWR

Aufgerufene URLs:

https://a4621041136.cdn.optimizely.com/client_storage/a4621041136.html

static.chartbeat.com 1 Anfragen · United States (US) · Nicht-EU
⚠ DSGVO-Problem: Dieser Server steht außerhalb der EU/des EWR. Die Übertragung personenbezogener Daten (z.B. IP-Adressen Ihrer Besucher) an diesen Server kann gegen Art. 44–49 DSGVO verstoßen. Ohne gültige Rechtsgrundlage (z.B. Einwilligung, Standardvertragsklauseln) ist diese Datenübermittlung unzulässig.

Aufgerufene URLs:

https://static.chartbeat.com/js/chartbeat.js

rm-script.dotmetrics.net 1 Anfragen · United States (US) · Nicht-EU
⚠ DSGVO-Problem: Dieser Server steht außerhalb der EU/des EWR. Die Übertragung personenbezogener Daten (z.B. IP-Adressen Ihrer Besucher) an diesen Server kann gegen Art. 44–49 DSGVO verstoßen. Ohne gültige Rechtsgrundlage (z.B. Einwilligung, Standardvertragsklauseln) ist diese Datenübermittlung unzulässig.

Aufgerufene URLs:

https://rm-script.dotmetrics.net/hit.gif?id=13934&url=https%3A%2F%2Fwww.bbc.com%2F&dom=www.bbc.com&r=1789877585255&pvs=1&pvid=2e508d33-83f7-4d94-92a2-a7e8eaaefcaf&c=false&tzOffset=-120

pagead2.googlesyndication.com 1 Anfragen · United States (US) · Nicht-EU
⚠ DSGVO-Problem: Dieser Server steht außerhalb der EU/des EWR. Die Übertragung personenbezogener Daten (z.B. IP-Adressen Ihrer Besucher) an diesen Server kann gegen Art. 44–49 DSGVO verstoßen. Ohne gültige Rechtsgrundlage (z.B. Einwilligung, Standardvertragsklauseln) ist diese Datenübermittlung unzulässig.

Aufgerufene URLs:

https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js

ping.chartbeat.net 1 Anfragen · United States (US) · Nicht-EU
⚠ DSGVO-Problem: Dieser Server steht außerhalb der EU/des EWR. Die Übertragung personenbezogener Daten (z.B. IP-Adressen Ihrer Besucher) an diesen Server kann gegen Art. 44–49 DSGVO verstoßen. Ohne gültige Rechtsgrundlage (z.B. Einwilligung, Standardvertragsklauseln) ist diese Datenübermittlung unzulässig.

Aufgerufene URLs:

https://ping.chartbeat.net/ping?h=bbc.com&p=%2F&u=JhT9EDomhToC_Mb-N&d=bbc.com&g=50924&g0=No%20Section&g1=NewsMediaOrganization&g4=indexPage&n=1&f=00001&c=0&x=0&m=0&y=13257&o=1920&w=1080&j=45&R=1&W=0&I

logx.optimizely.com 1 Anfragen · United States (US) · Nicht-EU
⚠ DSGVO-Problem: Dieser Server steht außerhalb der EU/des EWR. Die Übertragung personenbezogener Daten (z.B. IP-Adressen Ihrer Besucher) an diesen Server kann gegen Art. 44–49 DSGVO verstoßen. Ohne gültige Rechtsgrundlage (z.B. Einwilligung, Standardvertragsklauseln) ist diese Datenübermittlung unzulässig.

Aufgerufene URLs:

https://logx.optimizely.com/v1/events

80 Tracker-Erkennung

1 bekannte(r) Tracker erkannt! Diese verfolgen Besucher über verschiedene Websites.

☛ Handlungsbedarf: DSGVO-VERSTOSS: Tracker verfolgen Ihre Besucher über verschiedene Websites hinweg. Das erfordert eine ausdrückliche Einwilligung VOR dem Laden der Tracker. Lösungen: (1) Entfernen Sie alle nicht notwendigen Tracker. (2) Wechseln Sie zu datenschutzfreundlichen Alternativen (z.B. Matomo, Plausible, Fathom statt Google Analytics). (3) Für unverzichtbare Tracker: Implementieren Sie einen Consent-Banner, der Tracker erst NACH Zustimmung lädt.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Tracker (Google Analytics, Facebook Pixel, …) erfassen Besucher und verfolgen sie über mehrere Websites. Nach § 25 TDDDG und Art. 6 Abs. 1 DSGVO erforderlich: ausdrückliche Einwilligung VOR dem Laden des Trackers. „Weiter scrollen = Zustimmung" ist NICHT zulässig.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Consent-Plugins, die Tracker korrekt blockieren bis zur Einwilligung: „Complianz" (kostenlos, sehr gut), „Real Cookie Banner", „Borlabs Cookie" (kostenpflichtig, am gründlichsten). Prinzip nach Einrichtung: Tracker-Snippet (z.B. GA-Script) NICHT direkt im Theme einbauen, sondern dem Consent-Plugin übergeben, das schaltet sie erst nach „Zustimmen" frei. Datenschutzfreundliche Tracker-Alternativen: Matomo (Cookieless-Modus → braucht u.U. kein Consent), Plausible (EU, anonym, kein Consent nötig laut Anbieter — Rechtsberatung empfohlen).

✓ So prüfen Sie, ob es funktioniert: Inkognito-Browser, Seite laden — VOR „Zustimmen": F12 → Netzwerk → keine Anfragen an google-analytics.com, facebook.com/tr usw. NACH „Zustimmen" dann ja.

Chartbeat (Content): static.chartbeat.com

0 Externe Ressourcen-Integrität (SRI)

0 von 79 externen Ressource(n) nutzen Integritätsprüfung (SRI).

☛ Handlungsbedarf: Nicht alle externen Ressourcen haben eine Integritätsprüfung. Fügen Sie SRI-Hashes für die fehlenden Ressourcen hinzu.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Nur ein Teil Ihrer externen Ressourcen (0 von 79) ist mit SRI gesichert. Ergänzen Sie integrity-Attribute auch bei den restlichen.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Vorgehen: Quelltext der Seite ansehen → alle <script src="https://…"> und <link href="https://…"> ohne integrity-Attribut → unter https://www.srihash.org/ Hash erzeugen → integrity="sha384-…" crossorigin="anonymous" ergänzen. Plugin „WP-SRI" kann das für viele Fälle automatisieren.

✓ So prüfen Sie, ob es funktioniert: F12 → Konsole bei Seitenladung: keine „Failed to find a valid digest"-Meldungen. Quelltext: alle externen <script>/<link> haben integrity-Attribut.

Keine externen Ressourcen nutzen Integritätsprüfung. Manipulierte Dateien würden nicht erkannt.

☛ Handlungsbedarf: Fügen Sie Subresource Integrity (SRI) für alle externen Skripte und Stylesheets hinzu. Damit erkennt der Browser, wenn eine externe Datei manipuliert wurde. Ihr Webentwickler kann die integrity-Attribute einfach generieren.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

SRI (Subresource Integrity) ist eine Prüfsumme, die im HTML-Code angibt, wie eine extern geladene Datei aussehen MUSS. Manipuliert jemand die externe Datei (z.B. wenn ein CDN gehackt wird), lädt der Browser sie nicht aus. Sie ergänzen das Attribut „integrity" am script/link-Tag.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: In WordPress lassen sich SRI-Hashes selten manuell ergänzen (Skripte werden via wp_enqueue_script() gesetzt). Plugin „WP-SRI" (im Plugin-Verzeichnis) ergänzt integrity-Hashes automatisch für externe Skripte/Styles. Für statisch ins Theme eingebundene Ressourcen: Hash unter https://www.srihash.org/ generieren, integrity="sha384-…" und crossorigin="anonymous" am <script>/<link>-Tag ergänzen.

✓ So prüfen Sie, ob es funktioniert: F12 → Netzwerk → Anfragen mit Code 200 von CDN-Domains (cdn.jsdelivr.net, cdnjs.cloudflare.com etc.) → im HTML-Quelltext muss der Tag „integrity=\"sha384-…\" crossorigin=\"anonymous\"" enthalten.

50 DNS-Sicherheit

Keine CAA-Einträge. Jede Zertifizierungsstelle könnte ein Zertifikat für diese Domain ausstellen.

☛ Handlungsbedarf: Erstellen Sie CAA-DNS-Einträge, um festzulegen, welche Zertifizierungsstellen Zertifikate für Ihre Domain ausstellen dürfen. Das verhindert, dass unbefugte Zertifikate ausgestellt werden.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

CAA-Einträge (Certification Authority Authorization) legen im DNS fest, welche Zertifizierungsstellen Zertifikate für Ihre Domain ausstellen dürfen. Ohne CAA-Eintrag könnte ein Angreifer bei jeder beliebigen CA ein falsches Zertifikat für Ihre Domain bestellen. Der Eintrag ist eine reine DNS-Konfiguration und wird im DNS-Panel Ihres Domain-Anbieters (NICHT in WordPress) gesetzt.

☞ Konkrete CAA-Werte für die zehn häufigsten Hoster (DACH-Raum)

Suchen Sie Ihren Hoster in der Tabelle, kopieren Sie die passenden Werte ins DNS-Panel. Bei Mehrfach-CAs: für jede CA einen eigenen CAA-Record anlegen (alle mit Tag issue, Flag 0, Name @). Zusätzlich empfohlen: ein iodef-Record mit einer Kontakt-E-Mail für Missbrauchs-Meldungen.

#HosterVerwendete CA(s)CAA-Wert(e) — Tag issue
1Hetzner Webhosting (Basic-Zertifikat, kostenlos im Paket)DigiCert (Programm „Encryption Everywhere")digicert.com
1Hetzner Webhosting (Let’s Encrypt, kostenlos)Let’s Encrypt (ISRG)letsencrypt.org
2All-InklLet’s Encrypt + Sectigo (Pro)letsencrypt.org
sectigo.com
3IONOS (1&1)DigiCert (GeoTrust) + Let’s Encryptdigicert.com
letsencrypt.org
4STRATOSectigo + Let’s Encryptsectigo.com
letsencrypt.org
5Cloudflare (Universal SSL)Google Trust Services + DigiCert + Let’s Encryptpki.goog
digicert.com
letsencrypt.org
6AWS (ACM / CloudFront)Amazon Trust Servicesamazon.com
amazontrust.com
awstrust.com
amazonaws.com
7MittwaldLet’s Encrypt + Sectigoletsencrypt.org
sectigo.com
8WebgoLet’s Encrypt + Sectigoletsencrypt.org
sectigo.com
9raidboxes (Managed WordPress)Let’s Encryptletsencrypt.org
10Host Europe / DomainFactorySectigo + Let’s Encryptsectigo.com
letsencrypt.org
Name   Typ   Flag   Tag      Wert
@      CAA   0      issue    "digicert.com"
@      CAA   0      issue    "letsencrypt.org"
@      CAA   0      iodef    "mailto:security@ihre-domain.de"

Die iodef-Zeile (letzte Zeile) ist optional aber empfohlen: dort melden CAs Missbrauchsversuche an Sie. Falls Sie eine Sub-Domain zusätzlich absichern wollen (z.B. shop.ihre-domain.de), separate Records mit dem Sub-Domain-Namen statt @ anlegen — moderne CAs prüfen aber auch parent-CAA automatisch.

Wenn Sie Ihren Hoster nicht in der Liste finden: Schauen Sie das aktuell ausgestellte Zertifikat im Browser an (Schloss-Symbol → Zertifikat anzeigen → Aussteller). Dort steht der CA-Name (z.B. „Sectigo RSA Domain Validation Secure Server CA" → Wert sectigo.com). Den Wert als CAA-Record anlegen, fertig.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Die CAA-Records werden NICHT in WordPress angelegt, sondern im DNS-Panel Ihres Domain-Anbieters oder DNS-Providers (z.B. Hetzner-Robot, IONOS-Domains, Cloudflare-Dashboard, INWX, ns3.hajo-nolte.de etc.). Übliche Bezeichnung im DNS-Panel: „CAA-Record" oder unter „TXT-Records" mit Typ-Auswahl „CAA". Je CA ein separater Record.

✓ So prüfen Sie, ob es funktioniert: Auf https://www.ssllabs.com/ssltest/analyze.html?d=ihre-domain.de → Abschnitt „DNS CAA" → alle Ihre CAs sollten dort aufgelistet sein. Oder per dig: dig CAA ihre-domain.de.

Keine IPv6-Unterstützung (kein AAAA-Eintrag).

☛ Handlungsbedarf: Aktivieren Sie IPv6-Unterstützung (AAAA-Einträge) für Ihre Domain. Immer mehr Nutzer verwenden IPv6.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Ihre Domain hat keine IPv6-Adresse (AAAA-Eintrag). Über 40% aller deutschen Internetnutzer sind über IPv6 unterwegs (Mobilfunk vor allem) — die müssen dann den Umweg über IPv4-Gateways nehmen, was langsamer ist.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Reine DNS+Server-Sache. Schritt 1: prüfen, ob Ihr Hoster eine IPv6-Adresse für Sie hat (im Kundenpanel oder per Support-Anfrage). Schritt 2: im DNS-Panel einen AAAA-Eintrag mit dieser IPv6 anlegen. Schritt 3: testen.

✓ So prüfen Sie, ob es funktioniert: dig AAAA ihre-domain.de — oder online https://ipv6-test.com/validate.php?url=ihre-domain.de.

Kein SPF-Eintrag. E-Mails können im Namen dieser Domain gefälscht werden.

☛ Handlungsbedarf: Erstellen Sie einen SPF-DNS-Eintrag (TXT), um festzulegen, welche Server E-Mails im Namen Ihrer Domain versenden dürfen. Beispiel: v=spf1 include:_spf.google.com ~all
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

SPF (Sender Policy Framework) legt im DNS fest, welche Server E-Mails im Namen Ihrer Domain versenden dürfen. Ohne SPF kann jeder Phisher E-Mails so aussehen lassen, als kämen sie von Ihnen — und Empfänger werden eher reinfallen.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: DNS-Sache, nicht WordPress. Im DNS-Panel einen TXT-Eintrag anlegen. Beispiele: Wenn Sie KEINE E-Mails versenden: v=spf1 -all (alle Versender ablehnen). Wenn nur Ihr Hoster versendet (z.B. All-Inkl): v=spf1 a mx ~all. Wenn Google Workspace: v=spf1 include:_spf.google.com ~all. Wenn Microsoft 365: v=spf1 include:spf.protection.outlook.com -all.

✓ So prüfen Sie, ob es funktioniert: dig TXT ihre-domain.de | grep spf — oder online https://www.kitterman.com/spf/validate.html.

Kein DMARC-Eintrag. Die Domain ist anfällig für E-Mail-Phishing.

☛ Handlungsbedarf: Erstellen Sie einen DMARC-DNS-Eintrag unter _dmarc.ihredomain.de. DMARC schützt vor Phishing und E-Mail-Spoofing. Beispiel: v=DMARC1; p=quarantine; rua=mailto:dmarc@ihredomain.de
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

DMARC kombiniert SPF und DKIM zu einer expliziten Anweisung an empfangende Mail-Server: „Was tun, wenn E-Mails behaupten von uns zu kommen, aber SPF/DKIM scheitert?" Ohne DMARC entscheidet jeder Mail-Server selbst — meist großzügig. Mit DMARC=reject verhindern Sie wirksam Phishing in Ihrem Namen.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: DNS-Sache. TXT-Eintrag bei Subdomain _dmarc.ihre-domain.de. Empfohlene Stufen: Beobachten erst: v=DMARC1; p=none; rua=mailto:dmarc-reports@ihre-domain.de — mehrere Wochen Berichte ansehen. Dann verschärfen: v=DMARC1; p=quarantine; rua=… — verdächtige Mails landen im Spam. Final: v=DMARC1; p=reject; rua=… — werden ganz abgewiesen.

✓ So prüfen Sie, ob es funktioniert: dig TXT _dmarc.ihre-domain.de — oder online https://dmarcian.com/dmarc-inspector/.

100 Sicherheitskontakt (security.txt)

security.txt gefunden: https://www.bbc.com/.well-known/security.txt

Kontaktfeld vorhanden (Pflichtfeld) — Sicherheitsforscher können Schwachstellen melden.

Ablaufdatum vorhanden (Pflichtfeld).

Bevorzugte Sprachen angegeben.

75 Externe Reporting-Endpunkte

Network Error Logging (NEL) aktiv — Netzwerkfehler werden an einen externen Dienst gemeldet.

☛ Handlungsbedarf: Network Error Logging sendet Fehlerdaten an externe Server. Stellen Sie sicher, dass diese Datenübermittlung in Ihrer Datenschutzerklärung erwähnt wird und der Empfänger DSGVO-konform arbeitet.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Network Error Logging (NEL) meldet Netzwerkfehler an einen externen Server. Wie bei externem Reporting: in Datenschutzerklärung erwähnen und prüfen, ob der Empfänger DSGVO-konform arbeitet.

Apache-Server (klassisches Hosting bei den meisten Anbietern)

Datei: .htaccess im Web-Root

<IfModule mod_headers.c>
    Header always unset NEL
    Header always unset Report-To
</IfModule>

⚠ Wenn Sie NEL nicht aktiv brauchen: diese zwei Zeilen entfernen beide Reporting-Header. Wenn doch: in der Datenschutzerklärung dokumentieren.

WordPress Spezial für WordPress: so tragen Sie es ein

Weg 1: per .htaccess (empfohlen — kein Theme bearbeiten)

Datei: .htaccess im WordPress-Root

<IfModule mod_headers.c>
    Header always unset NEL
    Header always unset Report-To
</IfModule>

⚠ Falls die Header von einem Plugin gesetzt werden, das Plugin selbst konfigurieren.

✓ So prüfen Sie, ob es funktioniert: F12 → Netzwerk → erste Anfrage → Response Header: KEINE Einträge „nel" und „report-to" mehr (oder bewusst dokumentiert).

Daten werden an externen Dienst gemeldet: Report-To: default.bbc-reporting-api.app

☛ Handlungsbedarf: Ihre Website sendet Berichte an externe Dienste. Prüfen Sie, ob eine Datenschutzerklärung diese Datenübermittlung abdeckt und ob der externe Dienst DSGVO-konform ist. Falls der Dienst außerhalb der EU sitzt, gelten die gleichen Regeln wie für Drittanbieter-Server.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Ihre Website sendet Fehler- oder CSP-Berichte an einen externen Dienst (Report-To: default.bbc-reporting-api.app). DSGVO-relevant: dabei werden mindestens IP-Adresse und URL übertragen. Prüfen Sie, ob (a) der Empfänger DSGVO-konform arbeitet, (b) die Übermittlung in Ihrer Datenschutzerklärung erwähnt ist, (c) ein Auftragsverarbeitungsvertrag (AVV) besteht.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Wenn Sie den Reporting-Empfänger nicht selbst eingerichtet haben, kommt er meist aus einem Plugin (z.B. Sentry, Rollbar, Datadog). Im Plugin-Konfigurationsbereich prüfen — entweder deaktivieren, durch EU-Anbieter ersetzen oder konsent-pflichtig stellen.

✓ So prüfen Sie, ob es funktioniert: Datenschutzerklärung enthält Eintrag zu Fehler-Reporting + AVV liegt vor. Im Inkognito-Modus: F12 → Netzwerk → keine ungewollten Berichts-Anfragen.

85 Cookie-Einwilligung (Consent)

Cookie-Einwilligungssystem erkannt: TCF API (__tcfapi).

TCF-kompatibles Consent-System (Transparency & Consent Framework) — Standard der IAB.

Consent-System erkannt, aber Banner scheint nicht sichtbar zu sein.

☛ Handlungsbedarf: Das Consent-System scheint nicht sichtbar zu sein. Stellen Sie sicher, dass der Cookie-Banner beim ersten Besuch angezeigt wird und nicht durch CSS oder JavaScript verborgen ist.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Ihr Consent-System ist eingebaut, aber das Banner scheint nicht sichtbar — möglicherweise von einem anderen Plugin oder eigenen CSS-Regeln verborgen. Das ist ein Risiko: ohne sichtbares Banner gilt keine Einwilligung.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Vorgehen: 1) Browser-Cache + Cookies löschen, Inkognito-Tab nutzen. 2) Im Consent-Plugin: prüfen, ob Anzeige-Bedingungen das Banner versehentlich ausblenden (z.B. „nur für EU-Besucher" — und Sie testen vom EU-Server gerade aus). 3) Browser-Konsole F12 → Tab „Konsole" auf rote Fehler von consent-Skripten prüfen. 4) Inspektor → DOM nach „cookie", „consent" durchsuchen — Element vorhanden, aber display:none? Z-Index zu niedrig? 5) Anderes Plugin (Cookie-Notice-Konkurrent) deinstallieren.

✓ So prüfen Sie, ob es funktioniert: Inkognito-Tab, Seite laden, 5 Sekunden warten — Banner sichtbar zentral/unten, blockiert Hauptinhalt nicht komplett, ist anklickbar.

Tracker werden bereits beim Seitenaufruf geladen — möglicherweise VOR der Einwilligung.

☛ Handlungsbedarf: Tracker werden beim Seitenaufruf geladen, möglicherweise bevor der Besucher zugestimmt hat. Stellen Sie sicher, dass Ihr Consent-System Tracker erst NACH Einwilligung aktiviert (Opt-in, nicht Opt-out).
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Ihre Tracker werden geladen, bevor der Nutzer einwilligen kann („pre-consent loading"). Das ist ein häufiger Konfigurationsfehler bei Cookie-Plugins — Banner erscheint, aber zu spät: GA-Skript läuft schon. Verstößt gegen § 25 TDDDG.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Ursache liegt fast immer im Theme oder einem Tracking-Plugin, das den Tracker-Code direkt einbettet (z.B. „Google Analytics for WordPress" mit Auto-Insert). Lösung: 1) Tracking-Code AUS dem Theme/Plugin entfernen. 2) In Consent-Plugin (Complianz/Real Cookie Banner): Tracker als „Service" anlegen, Skript-Snippet dort hinterlegen — das Plugin lädt es erst bei Einwilligung. 3) ALTERNATIV: Plugin „Pys — PixelYourSite" + Consent-Verknüpfung. KEIN „GA bevor Consent als anonymisiert laden" — ist DSGVO-rechtlich nicht abschließend geklärt und riskant.

✓ So prüfen Sie, ob es funktioniert: Inkognito → F12 → Netzwerk (alles löschen, dann Aufzeichnung starten) → Seite laden, NICHT auf Banner klicken, 10 Sekunden warten → es darf KEINE Anfrage an google-analytics.com, googletagmanager.com, facebook.com/tr, doubleclick.net etc. erscheinen.

70 Datenschutzerklärung & Impressum

Datenschutzerklärung verlinkt: „Privacy Policy" (https://www.bbc.com/pages/privacy-policy).

Kein Impressum gefunden — Pflicht nach § 5 DDG (ehemals TMG).

☛ Handlungsbedarf: Erstellen Sie ein Impressum und verlinken Sie es gut sichtbar. Pflicht nach § 5 DDG für geschäftsmäßige Websites. Pflichtangaben: Name, Anschrift, E-Mail, ggf. Handelsregister und USt-IdNr.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Kein Impressum gefunden — Pflicht nach § 5 DDG (Digitale-Dienste-Gesetz, vormals TMG) für alle geschäftsmäßigen Websites. Selbst rein private Blogs mit Werbeeinblendungen oder Affiliate-Links sind in der Regel impressumspflichtig. Bei Verstößen: Abmahnungen sind sehr verbreitet.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Schritt 1: Impressum erstellen. Generator (kostenlos): https://www.e-recht24.de/impressum-generator.html. Pflichtangaben u.a.: Name (vollständig), Anschrift (Postfach reicht NICHT), Telefon ODER andere zweite Kontaktmöglichkeit, E-Mail, bei Firmen: Handelsregister + USt-IdNr, ggf. Aufsichtsbehörde, ggf. Berufshaftpflicht. Schritt 2: in WordPress → Seiten → Erstellen → Titel „Impressum" → veröffentlichen. Schritt 3: Footer-Menü → Eintrag „Impressum" hinzufügen. WICHTIG: Impressum muss „leicht erkennbar, unmittelbar erreichbar und ständig verfügbar" sein — ein Footer-Link erfüllt das, ein „über uns" → „dort dann impressum" NICHT.

✓ So prüfen Sie, ob es funktioniert: Footer auf jeder Seite → Link „Impressum" sichtbar → öffnet die Impressums-Seite mit allen Pflichtangaben.

Datenschutzerklärung ist erreichbar (HTTP 200).

⚙ Ihre fertige Security-htaccess

Alle fehlenden Security-Header zu einem einzigen Block kombiniert. Diesen Block ans Ende Ihrer .htaccess hängen — fertig. 6 Header werden gesetzt.

⚠ Warum diese Empfehlung KEINEN 100%-Score gibt — und warum das mit WordPress so ist

Die Content-Security-Policy oben enthält bewusst 'unsafe-inline' sowohl für style-src als auch für script-src. Damit ist KEIN vollständiger XSS-Schutz möglich — das ist eine pragmatische Entscheidung, kein Bug.

Warum? Ein typisches WordPress-Setup (Theme + 5-15 Plugins) schreibt 10-50 verschiedene Inline-<script>-Blocks ins HTML: jQuery-Init, Slider-Initialisierung, Cookie-Banner, Tracking, GTM, Web Vitals, Lazy-Load, Speculation Rules usw. Wenn die strikte CSP script-src 'self' diese alle blockt, ist die Site optisch und funktional kaputt (Slider weiß, Cookie-Banner zerschossen, Plugins tot). Genau dieses Problem hatten Sie soeben mit Ihrer Slider-Seite.

Konsequenz fürs Scoring: Sites, die WordPress mit Plugins einsetzen, können in dieser App maximal ~75-85 Punkte in der CSP-Kategorie erreichen — das volle 100%-Rating ist erst möglich, wenn der inline-Code per Nonce oder Hash signiert wird (technisch anspruchsvoll, bricht bei jedem Theme/Plugin-Update).

Wege zum vollen XSS-Schutz (in steigender Komplexität):

  • Plugin „WP Content Security Policy & Headers" — fügt automatisch Nonces zu inline-Scripts hinzu (mittlerer Aufwand, sauberste WP-Lösung).
  • Hash-basierte CSP — jedes inline-Script per SHA-256 in der CSP whitelisten (fragil, bricht bei Updates).
  • Inline-Scripts externalisieren — Theme/Plugins so umbauen, dass kein inline-JS mehr ausgegeben wird (großer Aufwand, oft unmöglich).

Wer keinen dieser Wege geht, lebt mit 'unsafe-inline' — wie ca. 95% aller produktiven WordPress-Sites im Web. Die anderen CSP-Direktiven schützen weiterhin: default-src 'self' blockt externe Ressourcen, object-src 'none' verbietet Flash/Java, frame-ancestors 'self' verhindert Clickjacking, base-uri 'self' verhindert Base-Tag-Hijacking. Es ist kein Maximalschutz, aber realistischer Schutz für die WP-Praxis.

⚠ Wichtig bei Hetzner-Konsoleh-Webhosting (Managed-Hosting / Shared-Hosting)

Bei Hetzner-Konsoleh-Webhosting (und vergleichbaren Shared-Hostern wie All-Inkl, IONOS, Strato, 1blu, …) wirft Apache einen HTTP 500 Internal Server Error, sobald Header always edit Set-Cookie … expr=… in der .htaccess steht. Der Apache-Error-Log nennt es so:

Can't parse envclause/expression: syntax error, unexpected T_OP_STR_EQ, expecting $end

Das ist keine WebForensik-Fehlfunktion und kein Tippfehler — der Shared-Hoster hat das mod_headers-expr=-Subset per AllowOverride-Limit gesperrt (aus Sicherheitsgründen, weil Header edit auch Cookies anderer Anwender manipulieren könnte).

☛ Für Hetzner-Konsoleh-Nutzer: nehmen Sie unten die Variante mit dem roten „Hetzner / Shared"-Badge. Sie besteht aus zwei Dateien (.htaccess + wp-config.php) statt einer, vermeidet aber den 500-Fehler garantiert. Die Cookie-Flags landen dort in der wp-config.php, nicht in der .htaccess.

Apache Standard-Apache (für alle Hoster, ohne WordPress)

Diesen Block ans Ende Ihrer .htaccess im Web-Root hängen — fertig.

<IfModule mod_headers.c>
    Header always set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self' https: data:; object-src 'none'; frame-ancestors 'self'; base-uri 'self'; upgrade-insecure-requests"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
    Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=(), accelerometer=(), gyroscope=(), magnetometer=(), interest-cohort=(), browsing-topics=()"

    # Fehlende Cookie-Flags konditional ergänzen (nur wenn nicht schon gesetzt)
    Header always edit Set-Cookie "^(.*)$" "$1; Secure" "expr=!(resp('Set-Cookie') -strmatch '*Secure*')"
    Header always edit Set-Cookie "^(.*)$" "$1; HttpOnly" "expr=!(resp('Set-Cookie') -strmatch '*HttpOnly*')"
    Header always edit Set-Cookie "^(.*)$" "$1; SameSite=Lax" "expr=!(resp('Set-Cookie') -strmatch '*SameSite*')"
</IfModule>

Hetzner / Shared Hetzner-Konsoleh / Managed-Hosting (zwei Dateien)

Diese Variante verhindert den 500 Internal Server Error auf Hetzner-Konsoleh und vergleichbaren Shared-Hostern (All-Inkl, IONOS, Strato, 1blu …): die .htaccess enthält NUR die Header-Direktiven (kein „Header edit"), die Cookie-Flags wandern in die wp-config.php. Zwei Dateien zu editieren statt einer, dafür garantiert lauffähig.

1. Datei: .htaccess im WordPress-Root
# BEGIN WebForensik Security
<IfModule mod_headers.c>
    Header always set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self' https: data:; object-src 'none'; frame-ancestors 'self'; base-uri 'self'; upgrade-insecure-requests"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
    Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=(), accelerometer=(), gyroscope=(), magnetometer=(), interest-cohort=(), browsing-topics=()"
</IfModule>
# END WebForensik Security
2. Datei: wp-config.php im WordPress-Root

OBERHALB der Zeile „/* That's all, stop editing! */" einfügen. Vorher Backup von wp-config.php anlegen!

// === WebForensik: Cookie-Hardening (Hetzner-Konsoleh-tauglich) ===
// Bitte OBERHALB der Zeile "/* That's all, stop editing! */" einfügen.
// Wirkt auf PHP-Session- und WordPress-Login-Cookies.
// Plugin-eigene Cookies (z.B. WooCommerce, Cookie-Banner) müssen in den
// Plugin-Einstellungen separat auf "Secure" gestellt werden.
@ini_set('session.cookie_secure',   '1');
@ini_set('session.cookie_httponly', '1');
@ini_set('session.cookie_samesite', 'Lax');
if (!defined('FORCE_SSL_ADMIN')) define('FORCE_SSL_ADMIN', true);

WordPress WordPress: .htaccess im WP-Root

Diesen Block OBERHALB der Zeile „# BEGIN WordPress" einfügen, sonst überschreibt WP ihn bei Permalink-Änderungen.

# BEGIN WebForensik Security
<IfModule mod_headers.c>
    Header always set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self' https: data:; object-src 'none'; frame-ancestors 'self'; base-uri 'self'; upgrade-insecure-requests"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
    Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=(), accelerometer=(), gyroscope=(), magnetometer=(), interest-cohort=(), browsing-topics=()"

    # Fehlende Cookie-Flags konditional ergänzen
    Header always edit Set-Cookie "^(.*)$" "$1; Secure" "expr=!(resp('Set-Cookie') -strmatch '*Secure*')"
    Header always edit Set-Cookie "^(.*)$" "$1; HttpOnly" "expr=!(resp('Set-Cookie') -strmatch '*HttpOnly*')"
    Header always edit Set-Cookie "^(.*)$" "$1; SameSite=Lax" "expr=!(resp('Set-Cookie') -strmatch '*SameSite*')"
</IfModule>
# END WebForensik Security

WordPress Alternative für WordPress: functions.php im Child-Theme

Falls Ihr Hoster .htaccess-Änderungen nicht erlaubt: dieses PHP-Snippet ans Ende der functions.php Ihres CHILD-Themes hängen. Vorher Backup machen — NIE das Haupt-Theme bearbeiten, das wird bei Updates überschrieben.

add_action('send_headers', function () {
    header("Content-Security-Policy: default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self' https: data:; object-src 'none'; frame-ancestors 'self'; base-uri 'self'; upgrade-insecure-requests");
    header("Referrer-Policy: strict-origin-when-cross-origin");
    header("Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), usb=(), accelerometer=(), gyroscope=(), magnetometer=(), interest-cohort=(), browsing-topics=()");
});

// Cookie-Flags für PHP-Session-Cookies — wirkt nur auf $_SESSION,
// NICHT auf von Plugins/Themes per setcookie() gesetzte Cookies.
// Für umfassende Cookie-Absicherung die .htaccess-Variante oben verwenden.
add_action('init', function () {
    if (headers_sent()) return;
    @ini_set('session.cookie_secure', '1');
    @ini_set('session.cookie_httponly', '1');
    @ini_set('session.cookie_samesite', 'Lax');
}, 1);
Trockenübung — wir laden Ihre Seite nochmal mit den vorgeschlagenen Headern und zeigen, welche Ressourcen geblockt würden. Dauert ca. 30 Sekunden.
HTTP Response Headers
HeaderWert
accept-ranges bytes
alt-svc h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
belfrage-cache-status MISS
bid sally
brequestid a8b05560cb094302b87ec3025c97d29c
bsig 2cf064e14eb09c62a19b776a6952424f
cache-control public, stale-if-error=90, stale-while-revalidate=30, max-age=30
content-encoding gzip
content-length 93426
content-type text/html; charset=utf-8
date Sun, 20 Sep 2026 04:13:04 GMT
etag "suqq7ebotye0r2"
fastly-restarts 1
nel {"report_to":"default","max_age":2592000,"include_subdomains":true,"failure_fraction":0.25}
origin-agent-cluster ?0
referrer-policy no-referrer-when-downgrade
report-to {"group":"default","max_age":2592000,"endpoints":[{"url":"https://default.bbc-reporting-api.app/report-endpoint","priority":1}],"include_subdomains":true}
req-svc-chain FASTLY,GTM,BELFRAGE,BBCX
server BBC-GTM
strict-transport-security max-age=31536000; preload
vary X-BBC-Edge-Scheme,Accept-Encoding
via 1.1 BBC-GTM, 1.1 Belfrage, 1.1 varnish
x-bbc-edge-cache-status EXPIRED
x-bbc-origin-response-status 200
x-cache HIT
x-cache-age 29
x-cache-hits 1
x-content-type-options nosniff
x-correlation-id 333eb3c0-ccd7-4b9c-9786-e8824f402c1d
x-fastly-cache-status HIT-CLUSTER
x-fastly-pre-flight-cache MISS, MISS
x-fastly-pre-flight-cache-status MISS-CLUSTER
x-frame-options SAMEORIGIN
x-lb-nocache true
x-robots-tag bingbot: noarchive
x-served-by cache-fra-etou8220091-FRA
x-timer S1789877584.426837,VS0,VE18

Neue Analyse · Vergleichen

Bewertung auf Ihrer Website einbetten

Zeigen Sie Ihren WebForensik-Score öffentlich. Das Badge ist ein leichtes SVG, lädt schnell und respektiert die Privatsphäre Ihrer Besucher (kein Tracking).

WebForensik Score Badge

HTML-Code zum Einbetten (dieser konkrete Scan)

<a href="https://webforensik.de/results.php?id=1857" target="_blank" rel="noopener">
  <img src="https://webforensik.de/badge.php?id=1857" alt="WebForensik Score" width="174" height="28">
</a>

Oder dynamisch — zeigt immer den jüngsten Scan dieser Domain

<a href="https://webforensik.de/?url=https://bbc.com" target="_blank" rel="noopener">
  <img src="https://webforensik.de/badge.php?domain=bbc.com" alt="WebForensik Score" width="174" height="28">
</a>