Ist es Dir auch schon passiert? Deine WordPress Webseite funktioniert nicht. Du weißt allerdings nicht, warum. Der WP_Debug Mode kann Dir dabei helfen, den Fehler zu finden.

Dass eine WordPress Seite mal nicht funktioniert, kann verschiedene Gründe haben. Du hast ein inkompatibles Plugin installiert, das neueste Theme Update wurde nicht korrekt aktualisiert, Dein Custom Code in der functions.php ist fehlerhaft…. Die Liste ist lang an möglichen Fehlerquellen. So kann Dir eine Fehlermeldung helfen, das Problem zu finden.

Um nun den Fehler zu finden, gibt es in der Regel mehrere Möglichkeiten. Zum einen kannst Du über die WebConsole Deines Browsers schauen, ob ein Fehler zu finden ist. Je nach Einstellung wird die Fehlermeldung schon direkt auf der Webseite angezeigt oder Du schaust über das Fehlerprotokoll Deines Webhosters nach.

Gerade das Fehlerprotokoll oder auch error_log genannt ist die beste Anlaufstelle, um Fehlermeldungen zu finden, die so nicht öffentlich einsehbar sind. Je nach Situation und Setting kann es aber sein, dass Du keinen Zugriff auf diese Datei oder dieses Protokoll hast.

Und genau dabei kann Dir das Debugging von WordPress helfen.

Inhaltsverzeichnis

Was ist WP_Debug?

WP_Debug ist eine PHP-Funktion, die Fehler in WordPress-Websites anzeigt und/oder protokolliert. Mit dieser standardisierten Funktion kannst Du also Fehler innerhalb Deiner WP-Installation auslesen und erfassen. Sogar, wenn Du nicht mehr in den Adminbereich Deiner WordPress-Seite kommst. Du brauchst mindestens einen FTP-Zugang, um per wp-config.php die Funktion zu aktivieren.

WP_Debug aktivieren

Um das Debugging zu aktivieren, gibt es zwei sehr gute Möglichkeiten. Die erste und gerade für Leute, die sich nicht so an Codes trauen oder einfach und sicher nur die Fehlerbehebung ausgeben wollen, ist ein entsprechendes Plugin eine gute Wahl. Für alle, die mehr einstellen wollen und sowieso Debugging professionell angehen wollen, wäre die Variante über die PHP Funktion die bessere Wahl.

WP Debugging Plugin

Wenn Du Dir bei der unten aufgeführten Variante über die WP-Config.php zu unsicher bist, kannst Du mit dem Plugin WP Debugging das WPDebug aktivieren. Das Plugin macht also exakt das, was man sonst direkt in die WP-Config.php schreiben würde.

WP Debugging Plugin

WP Debug per WP-Config.php aktivieren

Gerade dann, wenn die Seite komplett zerschossen ist und Du dadurch die Plugin-Variante vom WP Debug nicht installieren kannst, kommst Du um die WP-Config.php nicht herum. Um das Debugging per PHP Funktion zu aktivieren, musst Du über Deinen FTP die WP-Config.php anpassen können.

/**
 * Für Entwickler: Der WordPress-Debug-Modus.
 *
 * Setze den Wert auf „true“, um bei der Entwicklung Warnungen und Fehler-Meldungen angezeigt zu bekommen.
 * Plugin- und Theme-Entwicklern wird nachdrücklich empfohlen, WP_DEBUG
 * in ihrer Entwicklungsumgebung zu verwenden.
 *
 * Besuche den Codex, um mehr Informationen über andere Konstanten zu finden,
 * die zum Debuggen genutzt werden können.
 *
 * @link https://wordpress.org/support/article/debugging-in-wordpress/
 */

define( 'WP_DEBUG', false );

/* Füge individuelle Werte zwischen dieser Zeile und der „Schluss mit dem Bearbeiten“ Zeile ein. */

Diese Variante ist meine persönliche Empfehlung. Dadurch wird unter wp-content eine debug.log erstellt und dort alle Fehler protokolliert. Gleichzeitig werden Fehler im Frontend mit diesem Code nicht ausgegeben:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'WP_DEBUG_LOG', true );

Erklärung WP_Debug Variablen

Egal ob Plugin oder per WP-Config.php, die Variablen sind gleich und bieten Dir ein paar Einstellungsmöglichkeiten ein. Hier erkläre ich Dir die einzelnen Variablen und was sie Dir bei der Einstellung bring:

Debug aktivieren

Damit aktivierst Du erstmal pauschal das WP Debugging.

define( 'WP_DEBUG', true );

Fehlermeldungen als Log speichern

Mit der nächsten Zeile, die Du unmittelbar nach dem aktivieren schreibst, kannst Du definieren, ob eine Log-Datei erstellt werden soll. Damit kannst Du alle Fehlermeldungen in einer Log-Datei speichern lassen.

Das Standardverzeichnis für das Speichern der Datei ist wp-content/debug.log.

Du kannst allerdings das Verzeichnis auch selbst definieren.

// Standardbefehl zum aktivieren der Logfiles
define( 'WP_DEBUG_LOG', true );

// Logfiles aktivieren und Ort der Datei bestimmen
define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );

Fehlermeldungen anzeigen lassen

Eine weitere wichtige Funktion ist das Anzeigen der Fehlermeldungen auf der Webseite. Du kannst entweder die Fehlermeldungen öffentlich für alle auf der Seite ausgeben lassen oder verstecken. Gerade wenn Du eh das Logging aktiviert hast, kannst Du das Anzeigen im Frontend dann unterdrücken. Wäre besonders interessant, wenn Du kurz eine Live-Webseite debuggen möchtest.

define( 'WP_DEBUG_DISPLAY', false );

Wenn Du die Fehlermeldungen im Frontend ausgeben möchtest, aber nur Du die Fehler sehen möchtest, könntest Du Deine WordPress-Seite vorübergehend in einen Wartungsmodus setzen.

Mit Script_Debug die Corefiles unkomprimiert laden.

Alle CSS und JavaScript Corefiles von WordPress werden standardmäßig in einer komprimierten/minimierten Version geladen. Das könnte beim debuggen die Sucher erschweren. Wenn es also darum geht, spezielle Fehler im Zusammenhang mit den Corefiles zu finden kannst Du mit diesem Befehl die unkomprimierte Version der Dateien laden.

define( 'SCRIPT_DEBUG', true );

WP_Debug deaktiveren

Das Debugging sollte immer, wenn man es nicht mehr benötigt, deaktiviert werden. Gerade wenn die Speicherung der Fehlerprotokollierung aktiviert ist, kann sich so ein Logfile mit Warnings und Deprecated Einträgen extrem aufblähen.

Zudem können, je nach Einstellung des WP_Debug Codes und Fehlermeldungen für Besucher angezeigt werden.

Server Error Log oder WP_Debug besser?

Dafür gibt es keine Allgemeine aussage. Die Fehlerbeschreibungen im WP_Debug helfen schon viel dabei oft Fehler zu finden.
Gerade wenn man nicht an die Error_Logs vom Server rankommt, ist das die einfachste und schnellste Anlaufstelle

Oft bieten aber die Error_Logs detailliertere Fehlermeldungen. Gerade in Bezug zur Serverkonfiguration. Daher, wenn man kann, beides benutzen. Für eine schnelle erste Ansicht der Fehlerbeschreibung reicht schon oft das WP Debugging aus.