Clear-Site-Data für WordPress
Clear-Site-Data über den wp_logout Action Hook einrichten — mit functions.php-Snippet, eigenem Logout-Endpoint und .htaccess-Fallback.
Clear-Site-Data in WordPress
WordPress bietet mit dem wp_logout Action Hook den idealen Ansatzpunkt für Clear-Site-Data. Der Header wird automatisch bei jedem Logout gesetzt — egal ob über die Standard-Logout-URL, ein Menü-Link oder ein Plugin. Die Implementierung erfordert nur wenige Zeilen PHP in der functions.php Ihres Child-Themes.
Clear-Site-Data bringt 3 von 166 Punkten im Wolf-Agents Web Security Check. Für WordPress-Seiten mit Login-Bereich (WooCommerce, Mitglieder, Admin) ist der Header besonders relevant — er verhindert, dass nach dem Logout Benutzerdaten im Browser zurückbleiben.
wp_logout Action Hook einrichten
Fügen Sie den folgenden Code in die functions.php Ihres Child-Themes ein. Die Priorität 1 stellt sicher, dass der Header vor dem Redirect gesetzt wird.
// Clear-Site-Data beim WordPress-Logout setzen
function handle_secure_logout() {
// Prüfen ob Logout-Aktion
if (isset($_GET['action']) && $_GET['action'] === 'logout') {
// Clear-Site-Data Header setzen
header('Clear-Site-Data: "cache", "cookies", "storage"');
}
}
add_action('wp_logout', 'handle_secure_logout', 1); Änderungen in der functions.php des Parent-Themes gehen bei Updates verloren. Nutzen Sie immer ein Child-Theme oder lagern Sie den Code in ein eigenes Mini-Plugin aus.
Eigenen Logout-Endpoint erstellen
Für Frontend-Anwendungen oder eine sauberere URL können Sie einen eigenen /secure-logout Endpoint erstellen. Dieser führt den WordPress-Logout durch, setzt den Header und leitet zur Startseite weiter.
// Eigener Logout-Endpoint mit Clear-Site-Data
function custom_logout_endpoint() {
if ($_SERVER['REQUEST_URI'] === '/secure-logout') {
// WordPress Logout ausführen
wp_logout();
// Header setzen
header('Clear-Site-Data: "cache", "cookies", "storage"');
header('Cache-Control: no-store');
// Redirect zur Startseite
wp_safe_redirect(home_url('/'));
exit;
}
}
add_action('init', 'custom_logout_endpoint'); Header testen
Loggen Sie sich in WordPress ein und führen Sie einen Logout durch. Prüfen Sie in den Browser DevTools (Network-Tab), ob der Clear-Site-Data Header in der Logout-Response enthalten ist.
1. WordPress-Dashboard → Nutzer → Abmelden
2. DevTools (F12) → Network → Logout-Request auswählen
3. Response Headers: Clear-Site-Data prüfen localStorage.setItem('test', '1'), loggen Sie sich aus und prüfen Sie mit localStorage.getItem('test') — der Wert sollte null sein. Wie steht Ihre Domain bei Clear-Site-Data?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.
Häufig gestellte Fragen
Wo genau setze ich Clear-Site-Data in WordPress?
In der functions.php Ihres Child-Themes. Nutzen Sie den wp_logout Action Hook mit Priorität 1, damit der Header vor dem Redirect gesetzt wird. Alternativ können Sie den Code in ein eigenes Plugin auslagern, um Theme-Updates nicht zu beeinträchtigen.
Funktioniert Clear-Site-Data mit dem Standard-WordPress-Logout?
Ja. Der wp_logout Hook wird bei jedem WordPress-Logout ausgelöst — egal ob über wp-login.php?action=logout, einen Menü-Link oder ein Plugin. Der Header wird automatisch in die Logout-Response eingefügt, bevor WordPress den Redirect zur Login-Seite durchführt.
Brauche ich ein Plugin für Clear-Site-Data in WordPress?
Nein. Die Implementierung ist eine einzige PHP-Funktion mit 5 Zeilen Code, die Sie in der functions.php Ihres Child-Themes hinzufügen. Ein eigenes Plugin bietet nur dann Vorteile, wenn Sie den Code unabhängig vom Theme verwalten möchten.
Kann ich Clear-Site-Data auch per .htaccess in WordPress setzen?
Eingeschränkt. Per .htaccess können Sie den Header mit einer If-Bedingung auf die Logout-Query-Parameter setzen. Die PHP-Lösung über den wp_logout Hook ist aber zuverlässiger, da sie direkt in den WordPress-Logout-Prozess integriert ist.
Stört Clear-Site-Data WooCommerce oder andere WordPress-Plugins?
Nein — solange der Header ausschließlich auf dem Logout-Endpoint gesetzt wird. Clear-Site-Data löscht nur beim Logout alle Browser-Daten. WooCommerce-Sessions und Plugin-Daten sind davon nicht betroffen, da sie nur bei einem expliziten Logout gelöscht werden.