Reporting API für WordPress konfigurieren

Report-To, NEL und Reporting-Endpoints in WordPress einrichten — per functions.php send_headers Hook oder .htaccess, inklusive REST API für den Report-Empfang.

WordPress · Schritt für Schritt

Reporting API auf WordPress

WordPress bietet zwei Wege, Report-To, NEL und Reporting-Endpoints zu konfigurieren: über den send_headers-Hook in der functions.php Ihres Child-Themes oder direkt in der .htaccess-Datei. Die functions.php-Methode ist flexibler und ermöglicht dynamische Endpoint-URLs. Für den Report-Empfang können Sie die WordPress REST API nutzen oder einen externen Service einbinden. Der Wolf-Agents Web Security Check prüft die Reporting API automatisch — als Teil der 166 Prüfpunkte.

1 Methode 1: functions.php

Header per send_headers Hook setzen

Der send_headers-Hook wird ausgeführt, bevor WordPress die HTTP-Header sendet. Fügen Sie den folgenden Code in die functions.php Ihres Child-Themes ein.

functions.php (Child-Theme) PHP
function set_reporting_headers() {
    $nel_group = json_encode([
        'group' => 'nel',
        'max_age' => 31536000,
        'endpoints' => [
            ['url' => 'https://reports.ihre-domain.de/nel']
        ]
    ]);
    $default_group = json_encode([
        'group' => 'default',
        'max_age' => 31536000,
        'endpoints' => [
            ['url' => 'https://reports.ihre-domain.de/default']
        ]
    ]);

    header('Report-To: ' . $nel_group . ', ' . $default_group);
    header('NEL: {"report_to":"nel","max_age":31536000,"failure_fraction":1.0,"success_fraction":0.01}');
    header('Reporting-Endpoints: nel="https://reports.ihre-domain.de/nel", default="https://reports.ihre-domain.de/default"');
}
add_action('send_headers', 'set_reporting_headers');
Warum json_encode?

PHP's json_encode() stellt sicher, dass der JSON-String korrekt formatiert ist — keine Escaping-Fehler wie in manuell geschriebenem JSON. Die Funktion escaped Sonderzeichen automatisch.

2 Methode 2: .htaccess

Alternativ per .htaccess konfigurieren

Wenn Sie keinen Zugriff auf die functions.php haben oder die Header unabhängig vom Theme setzen möchten, nutzen Sie die .htaccess-Datei im WordPress-Root.

.htaccess (WordPress-Root) Alternativ
# Reporting API Header
<IfModule mod_headers.c>
    Header always set Report-To '{"group":"nel","max_age":31536000,"endpoints":[{"url":"https://reports.ihre-domain.de/nel"}]}, {"group":"default","max_age":31536000,"endpoints":[{"url":"https://reports.ihre-domain.de/default"}]}'
    Header always set NEL '{"report_to":"nel","max_age":31536000,"failure_fraction":1.0,"success_fraction":0.01}'
    Header always set Reporting-Endpoints 'nel="https://reports.ihre-domain.de/nel", default="https://reports.ihre-domain.de/default"'
</IfModule>
Nutzen Sie nicht beide Methoden gleichzeitig — das führt zu doppelten Headern. Entscheiden Sie sich für functions.php oder .htaccess.

Wie steht Ihre Domain bei Reporting API?

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

Häufig gestellte Fragen

Wo setze ich die Reporting-Header in WordPress?

Am besten in der functions.php Ihres Child-Themes über den send_headers Hook. Alternativ können Sie die Header direkt in der .htaccess-Datei über mod_headers setzen — das funktioniert auch ohne Theme-Zugriff.

Funktioniert die Reporting API mit WordPress-Sicherheits-Plugins?

Ja. Die meisten Sicherheits-Plugins (Wordfence, Sucuri, iThemes) setzen keine Reporting-Header und kollidieren nicht. Wenn ein Plugin bereits Report-To oder Reporting-Endpoints setzt, prüfen Sie die Header mit curl -sI um Duplikate zu vermeiden.

Kann WordPress Reports direkt empfangen?

Ja, über die WordPress REST API. Sie können einen benutzerdefinierten REST-Endpoint registrieren, der Reports entgegennimmt. Alternativ nutzen Sie einen externen Reporting-Service wie Report URI, der keine Server-Konfiguration erfordert.

Brauche ich ein Child-Theme für die Reporting API?

Empfohlen ja. Änderungen an der functions.php des Parent-Themes gehen bei einem Theme-Update verloren. Alternativ nutzen Sie die .htaccess-Methode oder ein Code-Snippets-Plugin, das Theme-Update-sicher ist.

Welche Browser unterstützen die Reporting API?

Report-To, NEL und Reporting-Endpoints werden ausschließlich von Chromium-basierten Browsern unterstützt — Chrome 70+, Edge 79+ und Opera. Firefox und Safari implementieren keinen dieser Header.