Referrer-Policy für WordPress konfigurieren
Schritt-für-Schritt: Referrer-Policy über die WordPress send_headers-Action, als Plugin oder per .htaccess setzen — mit Child-Theme-Hinweis und fertigen Code-Snippets.
Referrer-Policy in WordPress
WordPress bietet drei Wege zur Implementierung der Referrer-Policy: Die functions.php des Child-Themes über die send_headers-Action, ein Security-Header-Plugin oder die .htaccess-Datei. Jede Methode hat Vor- und Nachteile — die Kombination aus functions.php und .htaccess bietet die umfassendste Abdeckung.
Wichtig: Änderungen in der functions.php des Haupt-Themes werden bei Theme-Updates überschrieben. Verwenden Sie immer ein Child-Theme oder ein Plugin, um Update-Sicherheit zu gewährleisten.
send_headers-Action in functions.php
Die send_headers-Action ist der WordPress-spezifische Hook für HTTP-Header. Er wird ausgelöst, kurz bevor WordPress die Header an den Browser sendet — ideal für Security-Header. Fügen Sie den Code in die functions.php Ihres Child-Themes ein.
// functions.php des Child-Themes
function add_referrer_policy_header() {
header('Referrer-Policy: strict-origin-when-cross-origin');
}
add_action('send_headers', 'add_referrer_policy_header'); // functions.php — Alle empfohlenen Security-Header
function wolf_security_headers() {
header('Referrer-Policy: strict-origin-when-cross-origin');
header('X-Content-Type-Options: nosniff');
header('X-Frame-Options: SAMEORIGIN');
header('Permissions-Policy: camera=(), microphone=(), geolocation=()');
}
add_action('send_headers', 'wolf_security_headers'); Plugin-Alternative
Wenn Sie kein Child-Theme nutzen oder Code-Änderungen vermeiden möchten, bieten WordPress-Security-Plugins eine komfortable Alternative. Diese Plugins ermöglichen die Konfiguration über das WordPress-Dashboard ohne Coding.
Headers Security Advanced & HSTS WP
Kostenlos, leichtgewichtig, spezialisiert auf Security-Header. Bietet ein Dashboard zum Aktivieren aller wichtigen Header inklusive Referrer-Policy.
KostenlosSolid Security (ehemals iThemes Security)
Umfangreiche Security-Suite mit Security-Header-Konfiguration. Empfehlenswert, wenn ohnehin ein Security-Plugin im Einsatz ist.
Pro-VersionPlugins fügen weitere Abhängigkeiten hinzu und können Konflikte verursachen. Für eine einzelne Funktion wie das Setzen eines Headers ist die functions.php-Methode schlanker. Nutzen Sie ein Plugin nur, wenn Sie ohnehin ein Security-Plugin verwenden oder kein Child-Theme haben.
.htaccess-Fallback
Die .htaccess-Methode setzt den Header auf Apache-Ebene — unabhängig von PHP, WordPress oder Plugins. Sie ist die robusteste Methode und gilt auch für statische Assets (CSS, JS, Bilder), die nicht durch WordPress verarbeitet werden. Fügen Sie den Header-Block vor den WordPress-Rewrite-Regeln ein.
# .htaccess — Fallback für alle Requests (auch statische Dateien)
# Ergänzt die WordPress-functions.php-Methode
<IfModule mod_headers.c>
Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
# WordPress-Standard-Rewrite-Regeln (falls noch nicht vorhanden)
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress functions.php deckt alle WordPress-generierten Seiten ab, .htaccess deckt statische Assets ab. Die Kombination beider Methoden bietet die umfassendste Abdeckung für eine WordPress-Site.
Konfiguration verifizieren
Prüfen Sie nach der Implementierung mehrere URL-Typen: die Startseite, eine Produktseite (WooCommerce), den Login und statische Assets. Besonders bei der functions.php-Methode ist zu prüfen, ob der Header auch auf den Seiten erscheint, die PHP-Verarbeitung erfordern.
# Referrer-Policy auf WordPress-Seite prüfen
curl -sI https://ihre-domain.de | grep -i referrer-policy
# Auch für WooCommerce-Produkt-Seiten prüfen:
curl -sI https://ihre-domain.de/shop/ | grep -i referrer-policy
# Erwartete Ausgabe:
# Referrer-Policy: strict-origin-when-cross-origin Wie steht Ihre Domain bei Referrer-Policy?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.
Häufig gestellte Fragen
Wie setze ich die Referrer-Policy in WordPress?
Die zuverlässigste Methode: Fügen Sie den Code mit add_action und send_headers in die functions.php Ihres Child-Themes ein. Alternativ können Sie ein Plugin wie Headers Security Advanced & HSTS WP nutzen oder den Header direkt in der .htaccess setzen.
Warum muss ich ein Child-Theme verwenden?
Änderungen in der functions.php des Haupt-Themes werden bei jedem Theme-Update überschrieben. Ein Child-Theme bleibt bei Updates erhalten, weil es eine eigene functions.php hat. Wenn Sie kein Child-Theme nutzen möchten, verwenden Sie stattdessen ein Plugin.
Was ist die send_headers-Action?
Die send_headers-Action ist ein WordPress-Hook, der ausgelöst wird, kurz bevor WordPress die HTTP-Header sendet. Über add_action können Sie eigene Header hinzufügen. Diese Methode ist WordPress-spezifisch und funktioniert nur für Seiten, die durch WordPress verarbeitet werden — statische Dateien wie Bilder sind ausgenommen.
Gilt der Header auch für WooCommerce-Seiten?
Ja. Der send_headers-Hook gilt für alle von WordPress generierten Seiten — inklusive WooCommerce-Seiten. Statische Assets (CSS, JS, Bilder) werden nicht durch WordPress verarbeitet und erhalten den Header nicht. Für vollständige Abdeckung nutzen Sie die .htaccess-Methode.
Welche Plugins können die Referrer-Policy setzen?
Empfehlenswerte Plugins: "Headers Security Advanced & HSTS WP" (kostenlos, leichtgewichtig), "Solid Security" (ehemals iThemes Security, umfangreiche Suite), "WP-Headers" (spezialisiert auf Security-Header). Bei Plugin-Lösungen immer prüfen, ob der Header korrekt mit always gesetzt wird.
Was ist der Unterschied zwischen functions.php und .htaccess für WordPress?
functions.php setzt Header über PHP — funktioniert für alle WordPress-generierten Seiten, kann aber durch andere Plugins oder Themes beeinflusst werden. .htaccess setzt Header auf Apache-Ebene — gilt für alle Requests (auch statische Dateien) und ist unabhängig von PHP. .htaccess ist robuster, erfordert aber Apache mit mod_headers.
Kann der Header durch WordPress-Plugins überschrieben werden?
Ja. Wenn mehrere Plugins oder Themes denselben Header setzen, gilt der zuletzt gesetzte Wert. Prüfen Sie mit curl, welcher Header tatsächlich ausgeliefert wird. Die .htaccess-Methode umgeht dieses Problem, da sie auf Apache-Ebene nach PHP greift und PHP-Header überschreiben kann.