Kritische Fehler auf WordPress Websites verstehen und beheben

Die Meldung «Es gab einen kritischen Fehler auf deiner Website.» verheisst nichts Gutes. Tatsächlich ist das eine ernste Situation – aber die Auswirkungen sind nicht immer gleich gravierend: Manchmal sind nur einzelne Bereiche oder Funktionen der Website betroffen, manchmal ist die komplette Website offline. Auch die Gründe sind sehr verschieden, und entsprechend ist die Behebung eines solchen Fehlers nicht immer ganz einfach.

In diesem Artikel geht es darum, was ein «kritischer Fehler» auf einer WordPress Website ist und wie er sich äussert. Anschliessend beschreiben wir einige typische Ursachen und zeigen, wie Sie in einem solchen Fall vorgehen können.

Was ist ein «kritischer Fehler» auf einer WordPress Website?

WordPress unterscheidet zwischen kritischen und unkritischen Fehlern. Kritisch ist ein Fehler dann, wenn er dazu führt, dass die aufgerufene Seite nicht mehr angezeigt werden kann. Man könnte auch sagen: wenn WordPress abgestürzt ist. Im Englischen spricht man von einem Critical Error oder einem Fatal Error.

Früher sah man in solchen Fällen einfach ein leeres Browser-Fenster, den berüchtigten «White Screen of Death», kurz WSOD. Bei neueren WordPress-Versionen wird immerhin noch die folgende Fehlermeldung ausgegeben. Je nachdem, ob eine WordPress-Installation auf formelles Deutsch oder informelles Deutsch konfiguriert ist, lautet diese Meldung «Es gab einen kritischen Fehler auf Ihrer Website.» oder «Es gab einen kritischen Fehler auf deiner Website.»

Fehlermeldung: «Es gab einen kritischen Fehler auf Ihrer Website.»

Oft legt ein solcher kritischer Fehler nicht die gesamte Website lahm, sondern betrifft nur einzelne Teile. Vielleicht funktioniert das Frontend der Website ganz normal, während das Backend wegen des Fehlers nicht mehr erreichbar ist – oder umgekehrt. Vielleicht ist auch nur eine einzelne Seite betroffen, während alle anderen fehlerfrei funktionieren. Vielleicht erscheint die Fehlermeldung sogar erst dann, wenn man eine bestimmte Funktion ausführt, z.B. ein Formular abschickt. Und wenn Sie speziell viel Glück haben, dann handelt es sich nur um ein temporäres Problem, das beim nächsten Aufruf derselben Seite wieder verschwunden ist.

Was passiert bei einem kritischen Fehler?

Abgesehen davon, dass WordPress die obige Fehlermeldung anzeigt, passieren bei einem kritischen Fehler noch zwei weitere Dinge. Diese helfen uns später bei der Fehlerbehebung.

Erstens führt WordPress – zumindest wenn es entsprechend konfiguriert ist – ein Error Log. In dieser Textdatei, die standardmässig unter /wp-content/debug.log liegt, werden fortlaufend alle Fehler protokolliert. Dieses Log kann man beispielsweise über das Control Panel des Hosting Providers einsehen, mit einem FTP Client herunterladen oder mit dem Plug-in Error Log Monitor direkt im WordPress Dashboard anzeigen lassen (sofern das Backend noch funktioniert).

Der Inhalt des Error Logs mag für Ungeübte etwas kryptisch aussehen – aber wer sich mit WordPress ein bisschen auskennt, kann so leicht herausfinden, welche Komponente der Website den kritischen Fehler verursacht hat. Ein Beispiel: Der folgende Eintrag im Error Log verrät uns, dass das PHP Skript datetimepicker.php, das Teil des Plug-ins «Contact Form 7 Datepicker» ist, einen Fatal Error verursacht hat, weil in der Zeile 197 die nicht definierte Funktion create_function() aufgerufen wurde.

[25-May-2023 11:22:25 UTC] PHP Fatal error:  Uncaught Error: Call to undefined function create_function() in /home/metoki/public_html/wp-content/plugins/contact-form-7-datepicker/datetimepicker.php:197

Zweitens verschickt WordPress seit der Version 5.2 eine E-Mail mit dem Betreff «Ihre Website hat ein technisches Problem» an den Website-Administrator. Diese enthält nebst der technischen Fehlermeldung, wie sie auch im Error Log steht, einige zusätzliche Informationen und Tipps. Insbesondere wird hier die Komponente, die den Fehler verursacht hat, beim Namen genannt. So steht hier beispielsweise:

In diesem Fall hat WordPress einen Fehler in Ihrem Theme «Divi» abgefangen.

Oder.

In diesem Fall hat WordPress einen Fehler in einem Ihrer Plugins, Ninja Forms, abgefangen.

Falls Sie keine solchen Mails von Ihrer Website erhalten, dann kann das zwei Ursachen haben: Entweder ist Ihre E-Mail-Adresse nicht als Admin-Adresse hinterlegt – oder der Fehler hindert WordPress auch daran, E-Mails zu versenden. In diesem Fall können Sie aber immer noch wie oben beschrieben auf das Error Log zurückgreifen.

Was ist der Recovery Mode?

Das gerade erwähnte E-Mail enthält noch ein weiteres Element, das dann sehr hilfreich ist, wenn der kritische Fehler das WordPress Backend lahmlegt: einen geheimen Link, der es dem Administrator erlaubt, sich trotzdem einzuloggen. Dieser Link hat folgende Form:

https://www.metoki.ch/wp-login.php?action=enter_recovery_mode&rm_token=YeB5xnCrTNM3MSxqOC69Qs&rm_key=JrIBv9sp6HZGPzsTAhDz3k

Klickt man auf diesen Link, so wird die Website in den sogenannten Recovery Mode versetzt. Das bedeutet, dass für denjenigen WordPress-Benutzer, der sich über diesen Link anmeldet (und nur für diesen) automatisch jene Komponente deaktiviert wird, die den Fehler verursacht hat. So hat man die Chance, den Fehler zu untersuchen und zu beheben.

(Details zur Funktionsweise des Recovery Mode finden Sie in der WordPress Entwickler-Dokumentation).

Wie behebt man einen kritischen Fehler?

Kommen wir nun zur entscheidenden Frage: Wie behebt man einen kritischen Fehler? Leider gibt es darauf keine einfache Antwort. Es gibt ganz unterschiedliche Gründe, warum WordPress abstürzt, und entsprechend auch ganz unterschiedliche Lösungswege. Gewisse Probleme sollten auch technisch weniger versierte WordPress-Administratoren lösen können, für andere braucht man einen Entwickler.

Falls der Fehler von einem Theme bzw. einem Plug-in verursacht wurde, kann man ganz einfach auf ein anderes Theme wechseln bzw. das Plug-in deaktivieren. Natürlich ist das nur eine Notlösung, denn das beeinträchtigt das Aussehen bzw. die Funktionalität der Website. Aber immerhin hat man so die Chance, die Website zumindest wieder online zu bringen. Das verschafft einem etwas Zeit, um den Entwickler des Themes bzw. des Plug-ins zu kontaktieren, der möglicherweise eine Lösung für das Problem hat.

Notebook-Computer mit der Website wordpress.org

Unsere Dienstleistungen rund um WordPress

Metoki ist auf WordPress Websites spezialisiert: Seit über zehn Jahren arbeiten wir intensiv mit dieser Plattform.

Wir erstellen komplette Web-Auftritte, bieten aber auch Support für bestehende WordPress-Websites. Unsere Spezialgebiete sind mehrsprachige Websites mit WordPress sowie die Integration von individuellen Datenbanken mit Toolset.

Häufig werden kritische Fehler auch dadurch ausgelöst, dass der Hosting Provider auf eine neuere PHP-Version wechselt. PHP ist die Programmiersprache, in der WordPress programmiert ist, und auch diese Programmiersprache entwickelt sich weiter: Neue Befehle kommen hinzu, während veraltete Befehle eliminiert werden. Derzeit machen viele Hoster den Schritt von PHP 7.4 zu PHP 8.0, und das kann dazu führen, dass eine perfekt funktionierende Website plötzlich offline geht, weil sie einen veralteten Befehl benutzt, den es nicht mehr gibt.

Auch hier gibt es eine Notlösung: Die meisten Hoster ermöglichen es, zwischen verschiedenen PHP-Versionen zu wählen. So können Sie Ihre Website wieder auf PHP 7.4 zurücksetzen, wenn diese unter PHP 8.0 einen kritischen Fehler produziert. Zwar werden ältere PHP-Versionen irgendwann komplett abgeschaltet, aber man bekommt so eine Gnadenfrist von einige Wochen oder Monaten, um seine Website in Ruhe zu modernisieren.

Aber wie gesagt: Die Ursachen für kritische Fehler sind vielfältig, und nicht immer gibt es eine einfache Lösung. Im Zweifelsfall sollten Sie einen Spezialisten beiziehen, bevor Sie durch unsachgemässe Manipulationen alles nur noch schlimmer machen. Manchmal ist ein kritischer Fehler auch nur die Spitze des Eisbergs und weist auf tieferliegende Probleme hin.

Vorbeugen ist besser als heilen

Kritische Fehler sind nicht immer zu verhindern. Aber man kann einiges tun, um die Wahrscheinlichkeit eines solchen Fehlers deutlich zu verringern:

  • Nutzen Sie immer die neuste WordPress-Version, d.h. installieren Sie Updates des WordPress Core entweder automatisch oder zumindest kurzfristig.
  • Aktualisieren Sie auch Ihr Theme und Ihre Plug-ins regelmässig – am besten automatisch.
  • Verwenden Sie so wenige Plug-ins wie möglich.
  • Achten Sie bei der Auswahl auf das Datum der letzten Aktualisierung sowie auf die Anzahl der aktiven Installationen.
  • Richten Sie ein automatisches Backup der Website ein.
  • Fügen Sie nur dann eigenen Code in Ihre Website ein (z.B. über die Theme-Datei functions.php oder über ein Plug-in wie Code Snippets), wenn Sie genau wissen, was Sie tun.

Übrigens: Wenn Sie diese Empfehlungen beachten, dann schützen Sie sich nicht nur gegen kritische Fehler, sondern senken auch Ihr Risiko, Opfer eines Hacker-Angriffs zu werden.