Fehler-Monitoring für WordPress.
Mit dem Plugin „Sentry for WordPress“ meldet deine Website PHP-Fehler aus Themes und Plugins an Fehlo, auf Wunsch auch JavaScript-Fehler aus dem Browser.
Stand: 24.10.2026, Plugin „Sentry for WordPress“ (wp-sentry-integration) 8.12.0 von Alex Bouma, ab WordPress 4.4 und PHP 7.2.5. Es bringt sentry/sentry 4.30.0 und das Browser-SDK 8.55.0 mit. Das PHP-SDK haben wir noch nicht selbst gegen Fehlo laufen lassen; es spricht dasselbe Protokoll wie die getesteten SDKs.
Das Plugin meldet PHP-Fehler und auf Wunsch JavaScript-Fehler aus Frontend, Login und Admin. Es ist nicht von Sentry, sondern ein Community-Projekt mit über 10.000 aktiven Installationen.
1. Plugin installieren
wp plugin install wp-sentry-integration --activate
# or with Composer (Bedrock and similar setups)
composer require stayallive/wp-sentryOder im Backend unter Plugins, Installieren, Suche nach „Sentry for WordPress“.
2. DSN in die wp-config.php
Die Konstanten gehören über die Zeile „That's all, stop editing!“. Darunter werden sie ignoriert.
define( 'WP_SENTRY_PHP_DSN', 'https://<key>@app.fehlo.de/<project-id>' );
define( 'WP_SENTRY_BROWSER_DSN', 'https://<key>@app.fehlo.de/<project-id>' );
define( 'WP_SENTRY_ENV', 'production' );
define( 'WP_SENTRY_VERSION', '1.0.0' );
define( 'WP_SENTRY_ERROR_TYPES', E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_USER_DEPRECATED & ~E_USER_NOTICE );WP_SENTRY_BROWSER_DSN schaltet die JavaScript-Fehler ein. Lass die Zeile weg, wenn du nur PHP überwachen willst. Du kannst denselben DSN nehmen oder ein eigenes Fehlo-Projekt für den Browser. Ohne WP_SENTRY_VERSION nimmt das Plugin die Version des aktiven Themes als Release.
3. Früh laden
Damit auch Fehler aus anderen Plugins erfasst werden, die vor diesem geladen werden, leg ein Must-use-Plugin an, das das Plugin als Erstes lädt:
<?php
/**
* Plugin Name: Sentry for WordPress (early loader)
*/
$wp_sentry = WP_CONTENT_DIR . '/plugins/wp-sentry-integration/wp-sentry.php';
if ( ! file_exists( $wp_sentry ) ) {
return;
}
require $wp_sentry;4. Testen
Unter Werkzeuge, Sentry gibt es vier Knöpfe: PHP-Testereignis, PHP-Testausnahme, Browser-Testereignis und Browser-Testfehler. Nach dem Klick zeigt WordPress die Ereignis-ID, und der Fehler erscheint in Fehlo. Einen WP-CLI-Befehl zum Testen hat das Plugin nicht. Im eigenen Code meldest du Ausnahmen so:
try {
throw new \RuntimeException( 'Fehlo test error' );
} catch ( \Throwable $e ) {
do_action( 'sentry/captureException', $e );
}Datenschutz
Ohne WP_SENTRY_SEND_DEFAULT_PII hängt das Plugin nur die ID des angemeldeten Nutzers an, keine IP, keine E-Mail, keinen Namen. Die Anleitung des Plugins empfiehlt, PII einzuschalten und auf dem Server zu filtern. Wir empfehlen das Gegenteil: Lass die Konstante weg. Was nicht gesendet wird, muss niemand filtern. Fehlo entfernt die Absender-IP zusätzlich und filtert E-Mail-Adressen, Passwörter und Tokens.
Das Browser-SDK liefert das Plugin aus seinem eigenen Ordner aus, nicht von einem CDN. Die Nutzer-ID und die Tags, die es an das Browser-SDK übergibt, stehen allerdings im Quelltext der Seite. Performance-Messung (WP_SENTRY_TRACES_SAMPLE_RATE) schaltet SAVEQUERIES ein und kostet damit etwas Leistung.
Häufige Fragen
Ist das ein offizielles Sentry-Plugin?
Nein. „Sentry for WordPress“ ist ein Community-Plugin von Alex Bouma, Open Source unter MIT-Lizenz. Es nutzt die offiziellen SDKs von Sentry.
Funktioniert das mit WooCommerce?
Ja. WooCommerce läuft als Plugin in WordPress, seine PHP-Fehler landen auf demselben Weg in Fehlo.
Kann ich das mit Composer und Bedrock nutzen?
Ja, über das Paket stayallive/wp-sentry. Die Konstanten setzt du dann in der Konfiguration von Bedrock.
Es kommt nichts an. Was prüfe ich?
Erstens den DSN: Er muss auf app.fehlo.de zeigen. Zweitens, ob dein Server oder Browser https://app.fehlo.de erreicht (Firewall, Proxy, Werbeblocker). Drittens, ob dein Kontingent für den Monat aufgebraucht ist; dann bekommst du eine Mail. Viertens, ob sampleRate oder beforeSend Ereignisse verwirft. Fehlen nur Performance-Daten, sind vielleicht die Transaktionen des Monats aufgebraucht.