HSTS für WordPress konfigurieren
Schritt-für-Schritt-Anleitung: HSTS in WordPress aktivieren — per functions.php oder Plugin, auf jedem Hosting.
HSTS in WordPress
HTTP Strict Transport Security (HSTS) erzwingt verschlüsselte Verbindungen und schützt Ihre WordPress-Besucher vor SSL-Stripping. WordPress bietet zwei saubere Wege: einen PHP-Hook in der functions.php oder ein Security-Plugin. Beide Methoden setzen den Header bei jedem Request — ohne Eingriff in die Serverkonfiguration.
Voraussetzung ist eine funktionierende HTTPS-Konfiguration. Falls WordPress noch auf HTTP läuft, stellen Sie unter Einstellungen → Allgemein die WordPress-Adresse und Website-Adresse auf https:// um und installieren Sie ein SSL-Zertifikat (z.B. über Let's Encrypt). Der Wolf-Agents Web Security Check prüft HSTS automatisch — als Teil der 166 Prüfpunkte.
HSTS-Header in WordPress setzen
Der WordPress-Hook send_headers ermöglicht es, HTTP-Header vor der Ausgabe zu setzen. Fügen Sie den folgenden Code in die functions.php Ihres Child-Themes ein — oder in ein eigenes Must-Use-Plugin unter wp-content/mu-plugins/.
// functions.php — HSTS für WordPress
function add_hsts_header() {
if (is_ssl()) {
header('Strict-Transport-Security: max-age=31536000; includeSubDomains; preload');
}
}
add_action('send_headers', 'add_hsts_header'); is_ssl()? Die Prüfung stellt sicher, dass der HSTS-Header nur über HTTPS gesendet wird. Auf HTTP hat der Header keine Wirkung (Browser ignorieren ihn gemäß RFC 6797). Die Funktion erkennt auch Reverse-Proxy-Konfigurationen, wenn $_SERVER['HTTP_X_FORWARDED_PROTO'] korrekt gesetzt ist.
Alternative: Plugin-Lösung
Really Simple SSL (Pro)
Aktiviert HSTS automatisch in den erweiterten Einstellungen. Die Pro-Version bietet zusätzlich Preload-Konfiguration und Security Headers.
Headers Security Advanced
Kostenloses Plugin, das HSTS und weitere Security Headers über ein Dashboard konfigurierbar macht. Kein Code-Eingriff nötig.
Konfiguration testen
Nach dem Speichern der functions.php ist der HSTS-Header sofort aktiv — kein Cache-Leeren oder Server-Neustart nötig. Verifizieren Sie den Header mit curl oder den Browser DevTools.
# HSTS-Header prüfen
curl -sI https://example.com | grep -i strict
# Erwartete Ausgabe:
# Strict-Transport-Security: max-age=31536000; includeSubDomains; preload Häufige Fehlerquellen bei WordPress
Mixed Content
Plugins oder Themes laden HTTP-Ressourcen. Prüfen Sie die Browser-Konsole (F12) auf „Mixed Content"-Warnungen und aktualisieren Sie die URLs auf HTTPS.
Caching-Plugin
Seiten-Caches (WP Super Cache, W3 Total Cache) können den Header unterdrücken. Leeren Sie den Cache nach der Änderung und prüfen Sie erneut.
CDN/Reverse Proxy
Cloudflare oder andere CDNs terminieren HTTPS vor WordPress. Prüfen Sie, ob is_ssl() korrekt true zurückgibt — ggf. HTTP_X_FORWARDED_PROTO in wp-config.php setzen.
HSTS Preload beantragen
Nach erfolgreicher Konfiguration können Sie Ihre Domain bei der HSTS Preload List registrieren. Bei WordPress Multisite mit Subdomains ist besondere Vorsicht geboten: Jede Subdomain muss ein gültiges SSL-Zertifikat haben.
max-age ≥ 31536000, includeSubDomains und preload Wie steht Ihre Domain bei HSTS?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.
Häufig gestellte Fragen
Kann ich HSTS in WordPress ohne Plugin setzen?
Ja — mit zwei Zeilen Code in der functions.php. Die Funktion add_hsts_header() nutzt den WordPress-Hook send_headers, um den HSTS-Header bei jedem Request zu setzen. Kein Plugin nötig, keine Performance-Einbußen.
Welches WordPress-Plugin eignet sich für HSTS?
Really Simple SSL (Pro-Version) und Headers Security Advanced & HSTS WP setzen HSTS automatisch. Für eine reine HSTS-Konfiguration ist die functions.php-Lösung einfacher und hat keine Plugin-Abhängigkeit.
Funktioniert HSTS auf WordPress mit Shared Hosting?
Ja. Die functions.php-Methode funktioniert auf jedem Hosting. Alternativ können Sie den HSTS-Header in der .htaccess setzen (siehe Apache-Anleitung). Manche Hoster bieten HSTS auch direkt im Control Panel an.
Muss ich WordPress auf HTTPS umstellen, bevor ich HSTS aktiviere?
Ja. HSTS setzt eine funktionierende HTTPS-Konfiguration voraus. Stellen Sie WordPress unter Einstellungen → Allgemein auf https:// um, installieren Sie ein SSL-Zertifikat und richten Sie den HTTP-zu-HTTPS-Redirect ein, bevor Sie HSTS aktivieren.
Kann HSTS WordPress-Plugins beeinträchtigen?
HSTS selbst beeinträchtigt keine Plugins. Allerdings können Plugins, die Mixed Content laden (HTTP-Ressourcen auf HTTPS-Seiten), nach HSTS-Aktivierung Probleme machen. Prüfen Sie die Browser-Konsole auf Mixed-Content-Warnungen.
Was passiert bei einem WordPress-Multisite mit includeSubDomains?
Bei WordPress Multisite mit Subdomain-Installation weitet includeSubDomains HSTS auf alle Subsites aus. Stellen Sie sicher, dass jede Subsite ein gültiges SSL-Zertifikat hat — idealerweise ein Wildcard-Zertifikat (*.example.com).