security.txt für WordPress einrichten

security.txt auf WordPress bereitstellen: Per Plugin (WP Security.txt), manuell im Webroot mit .htaccess-Rewrite oder dynamisch per functions.php.

WordPress · Schritt für Schritt

security.txt auf WordPress

WordPress bietet drei Wege, eine security.txt nach RFC 9116 bereitzustellen: Das Plugin WP Security.txt ermöglicht die Verwaltung über das Dashboard, die manuelle Variante legt die Datei direkt im Webroot ab, und die functions.php-Methode generiert den Inhalt dynamisch — inklusive automatischem Expires-Datum.

Die Plugin-Methode ist am komfortabelsten (WP Security.txt, Security Headers), die manuelle Methode funktioniert auf jedem Hosting, und die dynamische Variante per functions.php erneuert das Expires-Datum automatisch. Der Wolf-Agents Web Security Check prüft security.txt automatisch — als Teil der 166 Prüfpunkte.

1 Option 1 · Manuell

Manuelle Installation

Erstellen Sie .well-known/security.txt im WordPress-Root-Verzeichnis und fügen Sie eine RewriteRule in die .htaccess ein, damit WordPress den Pfad nicht blockiert.

.well-known/security.txt
Contact: mailto:security@ihre-domain.de
Expires: 2027-01-31T23:59:59.000Z
Preferred-Languages: de, en
Canonical: https://ihre-domain.de/.well-known/security.txt
.htaccess RewriteRule
# VOR den WordPress-Regeln einfügen
<IfModule mod_rewrite.c>
    RewriteRule ^\.well-known/security\.txt$ /.well-known/security.txt [L]
</IfModule>
2 Option 2 · Plugin

Plugin verwenden

Die einfachste Methode für WordPress-Nutzer ohne Server-Zugriff. Installieren Sie eines der folgenden Plugins und konfigurieren Sie die Felder über das WordPress-Dashboard — kein manueller Dateizugriff nötig.

WP Security.txt

Dediziertes Plugin für security.txt — einfache Verwaltung über das Dashboard. Pflicht- und optionale Felder werden per Formular konfiguriert.

Security Headers

Umfassendes Security-Plugin mit security.txt-Unterstützung. Konfiguriert zusätzlich CSP, HSTS und weitere Security Headers.

3 Option 3 · Dynamisch

Dynamisch per functions.php

Die dynamische Methode generiert die security.txt per PHP und berechnet das Expires-Datum automatisch als ein Jahr ab dem aktuellen Zeitpunkt. Ideal, wenn Sie das Ablaufdatum nicht manuell pflegen möchten.

functions.php (Child Theme) PHP
// functions.php — security.txt dynamisch generieren
function serve_security_txt() {
    $uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
    if ($uri === '/.well-known/security.txt') {
        $domain = 'ihre-domain.de'; // Anpassen!
        header('Content-Type: text/plain; charset=utf-8');
        echo "Contact: mailto:security@{$domain}\n";
        echo "Expires: " . gmdate('Y-m-d\TH:i:s.000\Z', strtotime('+1 year')) . "\n";
        echo "Preferred-Languages: de, en\n";
        exit;
    }
}
add_action('init', 'serve_security_txt');
Child Theme verwenden

Fügen Sie den Code in die functions.php Ihres Child Themes ein, damit die Anpassung bei Theme-Updates erhalten bleibt.

Wie steht Ihre Domain bei security.txt?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.

Häufig gestellte Fragen

Welche WordPress-Methode ist am besten?

Für die meisten Websites reicht die manuelle Methode (statische Datei + .htaccess). Das Plugin ist komfortabler, die functions.php-Methode eignet sich, wenn Sie das Expires-Datum automatisch aktualisieren möchten.

Blockiert WordPress den .well-known-Pfad?

WordPress leitet standardmäßig alle Requests über index.php um. Die RewriteRule mit [L]-Flag stellt sicher, dass .well-known-Requests direkt an die statische Datei gehen und nicht von WordPress abgefangen werden.

Kann ich die functions.php-Methode im Child Theme nutzen?

Ja, fügen Sie den Code in die functions.php Ihres Child Themes ein. So bleibt die Anpassung bei Theme-Updates erhalten.