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.
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.
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.
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'); 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.
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.
# 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> 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.