4 Tipps zum Reparieren einer WordPress-Site
Veröffentlicht: 2020-09-03Vor ein paar Tagen rief mich ein Freund an und teilte mir mit, dass er die Aufgabe bekommen habe, ein altes WordPress-Projekt zu pflegen. Anscheinend wurde die Website seit mehr als drei Jahren nicht aktualisiert und es gab überall Probleme. Der arme Kerl steckte total fest, weil er dort nichts aktualisieren konnte: Plugins, Theme, Inhalt… nichts funktionierte. Alle Aktionen (außer dem Durchsuchen der Website selbst) führten dazu, dass WordPress abstürzte und einen Fehler zurückgab.
Wenn wir ein unbrauchbares WordPress haben, das ständig Fehler generiert und nicht aktualisiert werden kann, müssen wir als Erstes herausfinden, warum es sich so verhält, wie es sich verhält. Das heißt, wir müssen den Schuldigen finden. Normalerweise treten alle Probleme, auf die Sie auf einer WordPress-Site stoßen könnten, aufgrund Ihres Designs oder eines (oder mehrerer) Ihrer Plugins auf.
In Anbetracht dessen besteht das übliche Verfahren zum Reparieren einer WordPress-Site darin, das fehlerhafte Plugin zu identifizieren, es aus der Gleichung zu entfernen, alles zu aktualisieren und schließlich zu prüfen, ob wir das fehlerhafte Plugin auf unserer Website neu installieren und aktualisieren können, oder ob wir nach einem suchen sollten Ersatz. Heute werde ich Ihnen vier einfache Tricks verraten, um herauszufinden, warum eine Website fehlschlägt, und sie somit beheben zu können.
Verwenden des Fehlerprotokolls unseres Servers
Unter der Annahme, dass es ein Plugin ist, das die Fehler auf unserer Website verursacht, müssen wir als erstes diese Hypothese validieren. Dafür gibt es verschiedene Formeln. Ich persönlich beginne gerne damit, mir das Fehlerprotokoll meines Servers anzusehen, das eine eigene Option in cPanel hat:

Hoffentlich enthält das Fehlerprotokoll nicht nur eine Spur der Fehler, die auf unserer Website aufgetreten sind, sondern auch Informationen darüber, „wo“ sie aufgetreten sind und somit wer der Schuldige war. Letzte Woche bin ich beispielsweise auf das folgende Problem im Fehlerprotokoll meiner Entwicklungsumgebung gestoßen:
appserver_1 | [Mon Aug 24 09:18:20.977541 2020] [php7:notice] [pid 1107] [client 172.20.0.2:34396] PHP Notice: register_rest_route was called <strong>incorrectly</strong>. The REST API route definition for <code>yoast/v1/get_head</code> is missing the required <code>permission_callback</code> argument. For REST API routes that are intended to be public, use <code>__return_true</code> as the permission callback. Please see <a href="https://wordpress.org/support/article/debugging-in-wordpress/">Debugg ing in WordPress</a> for more information. (This message was added in version 5.5.0.) in /app/.lando/wordpress/wp-includes/functions.php on line 5225, referer: http://nab5.lndo.site/wp-admin/edit.php Das Protokoll meldet einen PHP-Hinweis, der in einer der WordPress-eigenen Dateien ( wp-includes/functions.php ) aufgetreten ist und uns nichts darüber sagt, dass „ein Plugin der Übeltäter ist“. Glücklicherweise, wenn Sie die ganze Nachricht lesen, werden Sie sehen, dass sie beschreibt, was fehlgeschlagen ist (dh ein Aufruf der Funktion register_rest_route ) und uns einen Hinweis darauf gibt, was falsch sein könnte: Yoast (sehen Sie, wie es „ yoast/v1/get_head “ erwähnt. ?).
Fehlerprotokolle sind der einfachste Weg, um schnell herauszufinden, wann/ob etwas nicht stimmt und wenn ja, was der Grund für einen Fehler ist. In diesem speziellen Beispiel habe ich herausgefunden, dass ich ein Problem mit Yoast hatte, und alles, was ich tun musste, war, das Plugin auf die neueste Version zu aktualisieren
Deaktivieren von Plugins aus dem WordPress-Dashboard
Leider ist es nicht immer möglich, auf das Fehlerprotokoll einer Website zuzugreifen, um herauszufinden, wann etwas schief gelaufen ist. Oder, wenn Sie Zugriff auf das Protokoll haben, ist es möglicherweise unvollständig. In diesen Fällen benötigen wir alternative Formeln, um unsere anfängliche Hypothese zu validieren (oder zu widerlegen).
Angenommen, unsere Website fällt aufgrund eines fehlerhaften Plugins aus, ist es am einfachsten, alle Plugins zu deaktivieren und zu prüfen, ob der Fehler weiterhin besteht. Wenn dies nicht der Fall ist, war der Übeltäter ein Plugin; Bleibt es bestehen, liegt das Problem woanders.
Gehen Sie dazu zum WordPress Dashboard » Plugins , wählen Sie alle Ihre aktiven Plugins aus und deaktivieren Sie sie in großen Mengen:

und prüfen Sie, ob der Fehler weiterhin auftritt. Wenn dies nicht der Fall ist, wissen Sie, dass das Problem durch eines der Plug-ins verursacht wurde, die Sie gerade deaktiviert haben. Jetzt ist es an der Zeit herauszufinden, welche genau.
Um das fehlerhafte Plugin zu identifizieren, können Sie es einzeln aktivieren und prüfen, wann der Fehler erneut auftritt. Oder, wenn Sie schneller gehen möchten, können Sie die folgenden Schritte anwenden:
- Aktivieren Sie die Hälfte Ihrer Plugins.
- Wenn der Fehler erneut auftritt, liegt der Übeltäter in der Hälfte, die Sie gerade aktiviert haben, sodass Sie die andere Hälfte sicher aktivieren können.
- Tritt der Fehler nicht auf, liegt der Übeltäter in der anderen Hälfte.
- Sobald Sie wissen, in welcher „Gruppe“ sich das fehlerhafte Plugin befindet, müssen Sie sich nur noch auf dieses konzentrieren und den Vorgang wiederholen. Aktivieren Sie die Hälfte dieser Gruppe und deaktivieren Sie die andere Hälfte (dh Sie würden jetzt ein Viertel der Gesamtzahl überprüfen) und prüfen Sie, ob Ihre Website ordnungsgemäß funktioniert.
- Wiederholen Sie den Vorgang, bis Sie den Übeltäter gefunden haben.
Sobald Sie wissen, welches Plugin fehlschlägt, liegt es an Ihnen, das Problem zu beheben. Möglicherweise müssen Sie sich an den Entwickler wenden, versuchen, das Plugin selbst zu reparieren, oder sogar erwägen, es durch eine Alternative zu ersetzen. Aber zumindest wissen Sie jetzt, was Sie tun müssen, um das Problem zu beseitigen.

Sichern Sie Ihre Liste der aktiven Plugins
Erinnerst du dich an meinen Freund von Anfang an? Als wir seine Website untersucht haben, haben wir alle vorherigen Schritte befolgt und alle Plugins auf seiner Website deaktiviert…
… was zu einem White Screen of Death führte!

Anscheinend war das Web voll von benutzerdefinierten Plugins und Theme-Anpassungen mit vielen gegenseitigen Abhängigkeiten. Durch das Deaktivieren der Plugins waren einige Funktionen, auf die das Theme angewiesen war, nicht mehr verfügbar, was einen fatalen Fehler auslöste. Dies ist eindeutig eine schlechte Praxis: Ein Thema kann sich nicht darauf verlassen, dass ein Plugin aktiv ist. Wenn es einige der von einem bestimmten Plugin bereitgestellten Funktionen benötigt, muss es Sicherheitsprüfungen implementieren, um zu überprüfen, ob sie verfügbar sind oder nicht.
Wie auch immer, die Seite wurde komplett geschlossen und wir konnten die Plugins nicht über das Dashboard reaktivieren. Also, was ist hier die Lösung? Nun, für den Anfang sollten Sie immer ein Backup Ihrer Website haben … aber in diesem speziellen Fall gibt es eine einfachere und schnellere Lösung zur Hand.
In deiner WordPress-Datenbank gibt es eine Tabelle namens wp_options . Dort finden Sie eine Option namens active_plugins . Sein Wert ist ein Array mit allen aktiven Plugins. Bevor Sie also die Plugins mit der zuvor erwähnten Massenaktion deaktivieren, speichern Sie diesen Wert einfach in einer Textdatei:

Wenn das „Deaktivieren aller Plugins“ in einem unwahrscheinlichen (aber nicht unmöglichen) WSOD endet, können Sie auf diese Weise alle Plugins reaktivieren, indem Sie die Option active_plugins in der Datenbank wiederherstellen.
So deaktivieren Sie Plugins per FTP
Wenn Sie wissen, dass Ihr Problem von einem bestimmten Plugin verursacht wird, Sie es aber nicht über das WordPress-Dashboard deaktivieren können, können Sie dies sicher per FTP tun.
Wie Sie bereits wissen, sind Plugins nichts anderes als eine Reihe von Dateien. Wenn du ein neues Plugin auf deiner Website installierst, landet sein Code im Ordner wp-content/plugins von WordPress. Unter Ausnutzung dieses Wissens können wir das Plugin deaktivieren, indem wir es aus diesem Ordner „entfernen“.
Gehen Sie zum cPanel Ihres Servers und suchen Sie nach der FTP-Option:

Suchen Sie dann mit dem FTP-Datei-Explorer den Ordner wp-content/plugins und suchen Sie Ihr Plugin:

Jetzt müssen Sie nur noch das Plugin löschen oder seinen Ordner umbenennen, damit WordPress es nicht finden kann. Wenn Sie sich auf Ihrer WordPress-Site anmelden, sieht WordPress auf diese Weise das Plugin nicht mehr und kann seinen fehlerhaften Code nicht laden, wodurch das Problem gelöst wird, das Sie hatten.
Verwenden Sie ein Standarddesign
Wenn die Hypothese, dass das Problem durch eines Ihrer Plugins verursacht wurde, nicht zutrifft, besteht der nächste Schritt darin, anzunehmen, dass Ihr Thema der Übeltäter ist. In diesem Fall müssen Sie lediglich ein Standard-WordPress-Theme (z. B. Twenty Twenty) installieren und prüfen, ob das Problem verschwindet oder nicht. Wenn es verschwindet, wissen Sie bereits, dass etwas mit Ihrem ursprünglichen Thema nicht stimmt; Wenn nicht, müssen wir das in einem anderen Beitrag besprechen.
Wenn Sie aus irgendeinem Grund keinen Zugriff auf das WordPress-Dashboard haben, können Sie ein neues Design auf Ihrer Website installieren, indem Sie es per FTP hochladen ( wp-content/themes ) und das aktive Design mithilfe der Datenbank ändern: ändern Sie einfach die options template und stylesheet in wp_options . Beispielsweise möchten Sie möglicherweise beide Optionen auf twentytwenty , vorausgesetzt, dies ist das von Ihnen hochgeladene Thema.
Zusammenfassend
Ein Vanilla-WordPress (ohne Plugins und ohne benutzerdefiniertes Design) wird wahrscheinlich nicht scheitern. Wenn Sie also Probleme auf Ihrer Website haben, ist der Übeltäter höchstwahrscheinlich eines Ihrer Plugins oder Ihres Themes. Im heutigen Beitrag haben wir verschiedene Formeln gesehen, um den Übeltäter zu finden, ihn aus dem Weg zu räumen und die Website wiederherzustellen. Ich hoffe aufrichtig, dass Sie keinen dieser Tricks anwenden müssen … aber wenn doch, hoffe ich, dass sie hilfreich sein werden.
Was ist mit der Website meines Freundes? Nun, ich weiß nicht – manche Leute sagen, er hat die Karriere gewechselt …
Beitragsbild von Olia Nayda auf Unsplash.
