WordPress Troubleshooting

Nun, vielleicht kennen Sie diese Situation. Der schöne neue Webauftritt ist endlich online, alles funktioniert bestens und von Ihren Besuchern bekommen Sie positives Feedback. Doch dann, ganz plötzlich und unerwartet, folgt der Rückschlag: Die Seite ist plötzlich weg! Vielleicht ist eine Fehlermeldung zu sehen, vielleicht aber auch gar nichts mehr. Jetzt geht es darum, herauszufinden passiert ist. Ich habe Situationen wie diese in den letzten Jahren immer wieder erlebt und im folgenden die häufigsten Probleme und Lösungen zusammengefasst. Ich hoffe, dass Sie ihnen weiterhelfen. Oder, ganz im Murphys Sinne, Ihnen einen Eindruck vermitteln, was alles schiefgehen kann…

Etwas wichtiges möchte ich hier vorausschicken: WordPress funktioniert im Allgemeinen sehr zuverlässig und ohne Störungen. Ich betreue Webseiten, die 10 Jahre oder älter sind, mein Blog stammt aus dem Jahr 2005 – und er lief immer. Wichtig ist es, alle Komponenten (WordPress, Themes, Plugins) aktuell zu halten. Ferner sollte die Serversoftware (PHP, MySQL) auf dem neusten Stand sein. Der Webseiten-Zustand, den Sie in den Werkzeugen finden, gibt dazu mehr Informationen.

Typische Fehlermeldungen

«500 Internal Server Error» – Diese Meldung kann verschiedene Ursachen haben: PHP Laufzeitfehler, Serverfehler, Fehler beim Auswerten der htaccess Datei.

Weisser Bildschirm (auch «White Screen of Death» genannt) – Damit erhalten Sie leider keinerlei Hinweis, was passiert ist. Wie beim 500 Fehler (siehe oben) ist es ratsam, die PHP Fehlermeldungen anzuzeigen. Wie dies geht, erfahren Sie weiter unten.

Theme/Plugin Fehlermeldung – Möglicherweise ging beim Update eines Themes oder Plugins etwas schief, eine spezifische Fehlermeldung weist auf das Problem hin und gibt vielleicht sogar Hinweise zur Problembehebung. Unlängst gab es von einem WordPress Mitbewerber eine Werbekampagne, bei der der Zeigefinger auf diese Update-Fehler gerichtet wurde! Die Wahrheit ist, dass Fehler dieser Art eher selten sind.

Nachsehen, was schief läuft

Für die meisten Webserver Produkte gibt es Verwaltungswerkzeuge mit zumeist beträchtlichem Umfang; das vermutlich bekannteste heisst Plesk, deshalb werde ich im Folgenden dieses für die Beispiele verwenden. Wenn zu Ihrem Webserver ein anderes Tool gehört, sehen Sie in der Dokumentation nach. Das Anzeigen der Logdateien des Webservers gehört zu den Basisfunktionen und sollte leicht aufzufinden sein.

Loggen Sie sich in Plesk ein, sicher haben Sie dies schon mehrfach gemacht. Etwa als Sie WordPress eingerichtet oder neue Mail Adressen angelegt haben. Nun klicken Sie im Menu auf die Option «Dateien» und dann auf die Datei error_log. Scrollen Sie zum Ende dieser Datei, wo Sie nun die letzten Fehler sehen. Es ist durchaus möglich, dass Sie hier einen Fehler finden, der eindeutig auf das Problem hinweist! Zum Beispiel: «Syntax Error in plugins/lefthander/tools.php on line 1171». Hier gibt es ein Problem mit dem Plugin Lefthander, möglicherweise konnte das letzte Update nicht abgeschlossen werden. Weiter unten lesen Sie, wie Plugins vorübergehend deaktiviert werden können!

Plesk: Ein Blick auf die Logdateien.

Prüfen, ob das Dashboard noch funktioniert

Stellen Sie als nächstes fest, ob Sie das Dashboard der Webseite noch aufrufen können, sie erreichen dieses durch die Eingabe des Seitennamens im Browser, gefolgt von /wp-admin, also zum Beispiel hockey-masters.ch/wp-admin. Wird das Dashboard angezeigt, können Sie das Problem vermutlich in wenigen Minuten lösen, indem Sie alle Plugins auf den neuesten Stand bringen. Verhält sich ein Plugin störrisch, können Sie auch noch folgendes versuchen: Deaktivieren Sie das Plugin und löschen Sie es dann komplett. Daran anschliessend können Sie es neu installieren.

Plugins deaktivieren

Wenn die Fehlermeldungen nicht eindeutig auf ein Problem hinweisen und Sie auch das Dashboard nicht mehr erreichen, ist es Zeit für den ersten «chirurgischen Eingriff». Dieser besteht darin, die Plugins zu deaktivieren. Am besten eines nach dem anderen, so finden Sie den Ruhestörer am schnellsten! Die Vorgehensweise ist simpel: Deaktivieren Sie ein Plugin, Laden Sie Seite neu und testen Sie, ob dies den Fehler behebt. Wenn nicht, deaktivieren Sie das nächste Plugin.

Um Plugins zu deaktivieren gibt es drei Möglichkeiten: 1. Im Dashboard, 2. Mit FTP, 3. In der Datenbank. Ich werde Ihnen im Folgenden die zweite Methode kurz vorstellen, das Dashboard erreichen Sie ja nicht mehr und Methode 3 ist etwas, sagen wir knifflig… Für einen FTP Zugriff benötigen Sie als erstes ein FTP Programm, das freie Filezilla passt eigentlich immer. Installieren Sie es, falls Sie es noch nicht getan haben und loggen Sie sich dass auf Ihre Webseite ein. Die Login Daten finden Sie in den Unterlagen Ihres Hosting Anbieters. Suchen Sie nun in Ihrem Web Verzeichnis den Ordner wp-content, darin den Ordner plugins. Nun befinden Sie sich genau dort, wo alle Plugins installiert sind:

Filezilla zeigt den Ordner mit den Plugins

Um ein Plugin mit Filezilla zu deaktivieren gibt es verschiedene Möglichkeiten; Sie können es löschen (nicht optimal), in einen anderen Ordner verschieben (besser) oder die Zugriffsrechte ändern. Dies ist der einfachste Weg – uns so gehts: Markieren Sie einen Plugin Ordner, zum Beispiel coblocks, wie hier im Beispiel. Klicken Sie als nächstes die rechte Maustaste, um das Kontextmenu zu öffnen und wählen Sie hier «Dateiberechtigungen». Im folgenden Dialog löschen Sie alle Zugriffsrechte für den Besitzer, die Gruppe und für «Öffentlich». Die Unterordner müssen Sie nicht einbeziehen, es genügt, wenn nur der Plugin Order selbst gesperrt wird.

Bestätigen Sie dann die Änderung und laden Sie die WordPress Seite neu. Wenn dies die Störung nicht behebt, gehen Sie zum nächsten Plugin. Beobachten Sie bei jeden Reload der Seite auch die Logdatei mit den Fehlern; es könnte sein, dass plötzlich neue Hinweise auftauchen!

Haben Sie das kaputte Plugin gefunden, können Sie es löschen und hinterher im Dashboard neu installieren. Um ein unschuldiges Plugin wieder zu aktivieren, stellen Sie die Zugriffsrechte wieder her: Besitzer: Lesen, Schreiben, Ausführen; Gruppe: Lesen, Ausführen; Öffentlich: Lesen, Ausführen. Das vorübergehende Deaktivieren mit der hier beschriebenen Methode führt zu keinen Folgeproblemen; sobald das Plugin wieder geladen werden kann, funktioniert es wieder wie vorher.

.htaccess Datei kontrollieren

Dies ist eine etwas ungewöhnliche Datei in Ihrem WordPress Stammordner – und sie ist ungewöhnlich wichtig! Der Dateiname beginnt mit einem Punkt, was bei UNIX und Linux bedeutet, dass sie verborgen (hidden) ist; sie wird nur angezeigt, wenn wird explizit mit dem ls Kommando verlangt wird.

.htaccess ist eine Datei, die vom Apache Webserver ausgewertet wird, und grundlegende Angaben enthält, wie die WordPress Seite vom Apache Server an den Browser ausgeliefert wird. Dei gute Nachricht an dieser Geschichte ist: Normalerweise brauchen Sie sich nicht um diese Datei zu kümmern, sie wird von WordPress automatisch erstellt. Und hier kommt die weniger gute Nachricht: Wenn diese Datei einen Fehler enthält, wird Ihre Seite vermutlich nicht mehr angezeigt und mit einem «Internal Server Error» quittiert. In so einem Fall ist es am besten, wenn Sie mit FTP eine Kopie dieser Datei anlegen und sie dann auf dem Server löschen. In den meisten Fällen müssen Sie hinterher noch folgendes tun: Wählen Sie im Dashboard den Menupunkt Einstellungen > Permalinks. Ihre aktuelle Einstellung sollte immer noch angezeigt werden. Klicken Sie auf Änderungen speichern, damit wird die .htaccess Datei neu erstellt.

FTP Dialog beim Aktualisieren

WordPress FTP Dialog
WordPress FTP Dialog

Klickt man sich durch die WordPress Support-Foren, ist dies ein immer wieder diskutiertes Thema: Beim aktualisieren oder bei der Neuinstallation eines Themes oder Plugins öffnet sich plötzlich ein Dialog und fragt nach den Zugangsdaten. Bei Version 5.9 sieht er so aus wie im Screenshot rechts.

Nun ist es so, dass WordPress grundsätzlich keinen FTP Zugang benötigt, das CMS kann alle Dateien selbst erstellen, ändern und auch wieder löschen. Es kann dies aber nur dann, wenn es dazu genügend Rechte auf dem Dateisystem hat. Fehlen diese Rechte, dann zeigt WordPress in einem Akt der Verzweiflung diesen Dialog an…

Grundsätzlich ist es nun möglich, die FTP Zugangsdaten einzugeben, und den Vorgang fortzusetzen. Viel besser wäre es aber, zu prüfen weshalb WordPress im Ordner auf dem Server keine Schreibrechte hat. Starten Sie dazu wie oben beschrieben die Dateiverwaltung in Plesk. Alternativ können Sie einen FTP Client wie Filezilla verwenden. Wechseln Sie dann in den Ordner, in dem WordPress installiert ist. Hier ist ein Beispiel wie die Datei wp-config.php typischerweise aussieht:

-rw-r--r-- 1 webuser webgroup 2811 Feb 10 09:39 wp-config.php

„webuser“ ist hier der Besitzer der Datei, das sollte derselbe Benutzername sein, mit dem Sie per FTP einloggen. Wichtig sind die Zugriffsflags, die ganz links angezeigt werden, es sind immer Paare aus drei Buchstaben für den Besitzer der Datei (webuser), die Gruppe (webgroup) und für alle anderen (oft auch „Welt“ genannt). Die drei Buchstaben haben jeweils folgende Bedeutung: r=Leserecht, w=Schreib-/Löschrecht, x=Ausführen erlaubt. In unserem Beispiel hat also der Besitzer der Datei Lese- und Schreibrechte. Gruppenmitglieder und alle anderen dürfen nur lesen:

Besitzer: rw-
Gruppe: r–
Welt (alle anderen): r–

Verwirrend mag das erste „-“ in der Liste sein, es besagt aber nur, das dies eine Datei und kein Verzeichnis (d) ist.

Stellen Sei nun sicher, dass der Besitzer der Dateien in allen Ordnern und Dateien Schreibrechte hat. Bei der Plesk Dateiverwaltung geht das so: Klicken Sie bei einer Datei oder einem Ordner ganz rechts auf das Hamburger Menu und wählen Sie den Menupunkt Berechtigungen ändern.