Kritischer Fehler in WordPress: Wiederherstellungsmodus richtig nutzen
Bei einem kritischen Fehler schickt WordPress einen Link in den Wiederherstellungsmodus. So nutzen Sie ihn, deaktivieren das fehlerhafte Plugin sicher, richten eine Notfalladresse ein und helfen sich ohne E-Mail mit WP-CLI oder FTP.
Mit KI erstellt – redaktionelle Prüfung ausstehend
WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Mehr dazu

„Auf dieser Website ist ein kritischer Fehler aufgetreten.“ Diese Meldung erscheint, wenn ein Plugin oder Theme WordPress mit einem fatalen PHP-Fehler abbrechen lässt. Oft ist dann auch das Backend nicht mehr erreichbar. Seit Version 5.2 bringt WordPress dafür einen Wiederherstellungsmodus mit: Es erkennt das verursachende Plugin, schickt einen Anmeldelink per E-Mail und pausiert die Erweiterung nur für Sie, damit Sie sie im Backend abschalten können. Diese Anleitung zeigt den Ablauf Schritt für Schritt, wie Sie die Zustellung der E-Mail absichern und was Sie tun, wenn keine E-Mail kommt. Alle Meldungen und Abläufe wurden im Labor mit einem absichtlich fehlerhaften Plugin nachgestellt.
Voraussetzungen
- WordPress: ab Version 5.2, getestet mit WordPress 7.1.2.
- PHP: mindestens 7.4, im Test lief PHP 8.4.
- Zugriff: ein Konto mit der Rolle Administrator und Zugang zum Postfach der Administrator-E-Mail-Adresse. Für die Alternativen in Schritt 5 FTP oder SSH mit WP-CLI.
- Funktionierender Mailversand: Die Website muss E-Mails verschicken können. Wenn schon Passwort-Links nicht ankommen, kommt auch der Wiederherstellungslink nicht an.
- Backup: eine aktuelle Sicherung von Dateien und Datenbank, bevor Sie Plugins löschen oder Dateien ändern. Wie Sie Backups planen, zeigt die Anleitung Backup-Strategie für WordPress.
Schritt 1: Verstehen, wann WordPress den Modus anbietet
Der Wiederherstellungsmodus greift nur unter bestimmten Bedingungen, und das erklärt viele Missverständnisse. Die Logik steht in wp-includes/class-wp-recovery-mode.php:
- Der Fehler muss aus einem Plugin oder Theme stammen. Fehler im WordPress-Kern oder in der
wp-config.phpkann WordPress keiner Erweiterung zuordnen, dann gibt es keine E-Mail. - Die E-Mail wird nur bei einem Fehler auf einem geschützten Bereich ausgelöst. Dazu zählen die Anmeldeseite
wp-login.phpund das Backend. Im Labor erzeugte ein Fehler, der nur im Frontend auftrat, keine E-Mail. Erst als der Fehler auch die Anmeldeseite betraf, kam sie. - Höchstens eine E-Mail pro Tag. Die Sperrfrist beträgt laut Quellcode
DAY_IN_SECONDS, also 24 Stunden. Im Labor verschickte WordPress beim zweiten Fehler kurz danach keine weitere Nachricht.
Die Besucher sehen während der ganzen Zeit die Fehlerseite. Der Modus repariert nichts, er gibt Ihnen nur einen sicheren Weg ins Backend.
Verifizieren: Sie wissen, ob der Fehler auch beim Aufruf von /wp-admin/ oder /wp-login.php auftritt. Rufen Sie eine der beiden Adressen einmal auf, falls der Fehler bisher nur im Frontend gesehen wurde.
Schritt 2: E-Mail lesen und die Ursache notieren
Die E-Mail geht an die Administrator-E-Mail-Adresse unter „Einstellungen > Allgemein“. Der Betreff beginnt mit dem Namen Ihrer Website in eckigen Klammern und meldet ein technisches Problem. Die Nachricht nennt das Plugin, einen Link und technische Details:
Betreff: [Testlabor X3] Deine Website hat ein technisches Problem
[...]
In diesem Fall hat WordPress einen Fehler in einem deiner Plugins, Kaputt Test, abgefangen.
[...]
http://127.0.0.1:21705/wp-login.php?action=enter_recovery_mode&rm_token=...&rm_key=...
Um deine Website zu schützen, läuft dieser Link in 1 Tag ab.
[...]
Fehlerdetails
=============
Ein Fehler vom Typ E_ERROR wurde in der Zeile 3 der Datei
/var/www/html/wp-content/plugins/kaputt-test.php verursacht.
Fehlermeldung: Uncaught Error: Call to undefined function nicht_vorhandene_funktion()
Notieren Sie Plugin, Datei, Zeile und Fehlermeldung, bevor Sie etwas ändern. Diese Angaben brauchen Sie später für eine Supportanfrage beim Plugin-Hersteller. Unter „Fehlerdetails“ nennt WordPress außerdem WordPress-, Theme- und PHP-Version. Leiten Sie die E-Mail nicht ungefiltert weiter: Der Link darin öffnet den Wiederherstellungsmodus für jeden, der sich anschließend mit einem Administratorkonto anmeldet.
Verifizieren: Sie haben Plugin- oder Theme-Namen, Datei und Fehlermeldung notiert.
Schritt 3: Wiederherstellungsmodus betreten
Klicken Sie auf den Link. WordPress setzt ein Cookie für den Wiederherstellungsmodus und leitet auf die Anmeldeseite mit dem Parameter action=entered_recovery_mode weiter. Melden Sie sich wie gewohnt mit einem Administratorkonto an.
Im Backend steht vor jedem Seitentitel „Wiederherstellungsmodus“, und oben erscheint dieser Hinweis:
Die Website befindet sich im Wiederherstellungsmodus. Das bedeutet, dass es
einen Fehler mit einem Theme oder Plugin geben kann. Um den
Wiederherstellungsmodus zu verlassen, melde dich ab oder verwende den Button Beenden.
Mindestens ein Plugin konnte nicht korrekt geladen werden.
Wichtig: Das Plugin ist nur für Ihre Sitzung pausiert. Im Labor lieferte die Startseite in der Sitzung mit Wiederherstellungsmodus den Status 200, für nicht angemeldete Besucher weiterhin 500. Die Website ist also erst repariert, wenn Sie das Plugin tatsächlich deaktivieren.
Der Link funktioniert nur einmal. Ein zweiter Aufruf desselben Links endete im Labor mit einer Fehlerseite und dem Text Recovery Mode not initialized. Laut Quellcode und Sprachdatei meldet WordPress bei abgelaufenen oder falschen Links „Der Wiederherstellungsschlüssel ist abgelaufen.“ bzw. „Der Wiederherstellungsschlüssel ist ungültig.“
Verifizieren: Der Browsertitel im Backend beginnt mit „Wiederherstellungsmodus“, und in der Werkzeugleiste gibt es den Eintrag „Wiederherstellungsmodus verlassen“.
Schritt 4: Plugin deaktivieren und Website prüfen
Öffnen Sie „Plugins > Installierte Plugins“. Beim betroffenen Plugin steht:
Dieses Plugin konnte nicht ordnungsgemäß geladen werden und ist im
Wiederherstellungsmodus pausiert.
Ein Fehler vom Typ E_ERROR wurde in der Zeile 3 der Datei
/var/www/html/wp-content/plugins/kaputt-test.php verursacht.
Darunter bietet WordPress zwei Aktionen: „Deaktivieren“ und „Fortsetzen“. Wählen Sie „Deaktivieren“. „Fortsetzen“ hebt nur die Pause auf und bringt den Fehler sofort zurück, sinnvoll erst nach einer Korrektur. Im Labor lieferte die Startseite nach dem Deaktivieren auch für nicht angemeldete Besucher wieder den Status 200.
Öffnen Sie anschließend die Website in einem privaten Browserfenster, ohne Anmeldung, und prüfen Sie die wichtigsten Seiten: Startseite, Kontaktformular, bei Shops Warenkorb und Kasse. Fehlt durch das Deaktivieren eine Funktion, entscheiden Sie, ob Sie auf ein Update des Herstellers warten, eine ältere Version einspielen oder ein anderes Plugin wählen. Wie Sie eine frühere Version zurückholen, zeigt Plugin-Update rückgängig machen.
Klicken Sie danach in der Werkzeugleiste auf „Wiederherstellungsmodus verlassen“. Im Labor leitete WordPress danach ins normale Backend weiter, und das Cookie des Modus war entfernt.
Verifizieren: Die Website liefert ohne Anmeldung wieder Seiten statt der Fehlermeldung, und im Backend fehlt der Zusatz „Wiederherstellungsmodus“ im Titel.
Schritt 5: Wenn keine E-Mail ankommt
Kommt keine E-Mail, liegt es meist am Mailversand der Website, an der Sperrfrist von 24 Stunden oder daran, dass der Fehler nur im Frontend auftritt. Sie haben dann zwei Wege, die ohne E-Mail funktionieren.
Mit WP-CLI: Ein normaler WP-CLI-Befehl scheitert am selben Fehler, im Labor endete wp option list mit Error: Auf dieser Website ist ein kritischer Fehler aufgetreten. Mit --skip-plugins lädt WP-CLI das fehlerhafte Plugin nicht:
wp --skip-plugins=kaputt-test plugin list --fields=name,status
wp --skip-plugins=kaputt-test plugin deactivate kaputt-test
Ersetzen Sie kaputt-test durch den Ordner- oder Dateinamen aus der Fehlermeldung, der Teil hinter wp-content/plugins/. Für Themes gibt es entsprechend --skip-themes.
Per FTP: Benennen Sie den Plugin-Ordner unter wp-content/plugins/ um, etwa von kaputt-test in kaputt-test.aus. WordPress findet das Plugin dann nicht mehr und deaktiviert es. Dieser Weg ist in der Anleitung Update-Fehler in WordPress beheben ausführlich beschrieben.
Enthält die E-Mail keine Angabe, finden Sie das verursachende Plugin im Fehlerprotokoll. Wie Sie es aktivieren, zeigt WordPress Debug-Modus aktivieren und Error-Logs analysieren.
Verifizieren: wp --skip-plugins=... plugin list zeigt das Plugin als inactive, und die Website lädt wieder.
Schritt 6: Zustellung vorbereiten, bevor es brennt
Der Wiederherstellungsmodus hilft nur, wenn die E-Mail beim richtigen Menschen ankommt. Die Administrator-E-Mail-Adresse ist oft ein altes Postfach der Agentur oder eines ehemaligen Mitarbeiters. Mit der Konstante RECOVERY_MODE_EMAIL in der wp-config.php schicken Sie die Nachricht an eine eigene Adresse, unabhängig von der Admin-Adresse:
define( 'RECOVERY_MODE_EMAIL', 'notfall@example.de' );
Mit WP-CLI: wp config set RECOVERY_MODE_EMAIL notfall@example.de. Im Labor ging die nächste Nachricht danach an die neue Adresse. Wählen Sie ein Postfach, das mehrere Personen lesen und das nicht auf demselben Server liegt wie die Website.
Testen Sie außerdem, ob die Website überhaupt E-Mails verschicken kann, etwa über „Passwort vergessen“ mit einem Testkonto. Viele Hoster verwerfen E-Mails aus PHP oder sie landen im Spam. Ein Versand über SMTP mit einem richtigen Postfach ist zuverlässiger.
Die Konstante WP_DISABLE_FATAL_ERROR_HANDLER mit dem Wert true schaltet die gesamte Fehlerbehandlung ab. Im Labor lieferte die Anmeldeseite dann nur noch einen leeren Fehler 500 ohne Hinweistext und ohne E-Mail. Setzen Sie diese Konstante nur auf Entwicklungssystemen.
Ein kritischer Fehler entsteht fast immer nach einer Änderung: einem Update, einem neuen Plugin, einer neuen PHP-Version. Wer Updates regelmäßig mit vorherigem Backup und anschließender Kontrolle einspielt, erlebt den Wiederherstellungsmodus selten. Wer diese Aufgaben nicht selbst im Kalender halten möchte, kann sie abgeben: Die WordPress-Wartung von wordpressupdate.de übernimmt Updates von WordPress, Plugins und Themes mit Kompatibilitätsprüfung und sichert die Website wöchentlich auf externen Speicher.
Verifizieren: wp config get RECOVERY_MODE_EMAIL zeigt die Notfalladresse, und eine Test-E-Mail der Website kommt dort an.
Typische Fehler
- Keine E-Mail trotz kritischem Fehler: Der Fehler tritt nur im Frontend auf, oder innerhalb der letzten 24 Stunden wurde schon eine E-Mail verschickt. Rufen Sie
/wp-login.phpauf, prüfen Sie das Postfach der Admin-Adresse samt Spam-Ordner oder nutzen Sie Schritt 5. Recovery Mode not initialized.: Der Link wurde schon einmal benutzt. Jeder Link gilt nur einmal. Neuer Link erst nach Ablauf der Sperrfrist, bis dahin WP-CLI oder FTP.- „Fortsetzen“ statt „Deaktivieren“ gewählt: Die Pause endet, der Fehler ist zurück. Deaktivieren Sie das Plugin, solange keine korrigierte Version installiert ist.
- Website nur im Modus repariert: In Ihrer Sitzung läuft alles, Besucher sehen weiter die Fehlerseite. Prüfen Sie immer in einem privaten Fenster ohne Anmeldung.
- WP-CLI bricht mit demselben Fehler ab: Ohne
--skip-pluginslädt WP-CLI auch das defekte Plugin. Ergänzen Sie den Schalter bei jedem Befehl. - Leere Seite mit Fehler 500 statt Hinweis:
WP_DISABLE_FATAL_ERROR_HANDLERist gesetzt. Entfernen Sie die Konstante aus derwp-config.php.
Häufige Fragen
Kann ich den Link an einen Dienstleister weitergeben?
Der Link allein reicht nicht, der Dienstleister muss sich zusätzlich mit einem Administratorkonto anmelden. Legen Sie für externe Helfer ein eigenes Konto an, statt Ihr Passwort weiterzugeben, und entfernen Sie es nach der Reparatur.
Funktioniert der Modus auch bei Theme-Fehlern?
Ja, WordPress ordnet Fehler Plugins und Themes zu. Im Labor wurde nur ein Plugin-Fehler nachgestellt. Bei einem Theme hilft ohne E-Mail der Wechsel auf ein Standard-Theme per WP-CLI mit --skip-themes.
Kann ich die Gültigkeit des Links verlängern?
Laut Quellcode steuern die Filter recovery_mode_email_rate_limit und recovery_mode_email_link_ttl Sperrfrist und Gültigkeit. Die Gültigkeit ist mindestens so lang wie die Sperrfrist. Für die meisten Websites ist der Standard von einem Tag passend.
Testumfang
Wir haben den Wiederherstellungsmodus unter WordPress 7.1.2 mit einem Test-Plugin ausgelöst, das einen fatalen Fehler erzeugt. Die E-Mails landeten dabei in einer Datei statt im Postfach. Geprüft haben wir unter anderem den Einmal-Link und die Sperrfrist.
Theme-Fehler und die echte Zustellung haben wir nicht getestet, probieren Sie das deshalb zuerst auf einer Kopie Ihrer Seite aus.
Fazit
Der Wiederherstellungsmodus macht aus einem kritischen Fehler eine lösbare Aufgabe: E-Mail öffnen, anmelden, Plugin deaktivieren, Website ohne Anmeldung prüfen, Modus verlassen. Damit das im Ernstfall klappt, braucht es eine Notfalladresse mit RECOVERY_MODE_EMAIL, einen funktionierenden Mailversand und für den Fall ohne E-Mail den Weg über WP-CLI oder FTP. Wer Updates und Backups als Vorbeugung abgeben möchte, findet sie bei der WordPress-Wartung von Marcel Schönfelder.


