Modul 5 · 5.4
Deutsch
Weniger ist mehr: Aufräumen und Konflikte lösen
Modul 5: Themes und Plugins · Lesezeit: 9 Minuten
Lernziel: Nach dieser Lektion können Sie Plugins aufräumen und einen Konflikt oder eine weiße Seite selbst aufspüren und beheben.
Kernbegriffe: Deaktivieren vs. Löschen, inaktiver Code, kritischer Fehler, Wiederherstellungsmodus (Recovery Mode), Website-Zustand, Problembehandlungsmodus, Plugin-Ordner umbenennen, WP_DEBUG, WP_DEBUG_LOG, debug.log, Fehlerprotokoll
Ausschalten ist nicht wegwerfen
Bei Plugins können Sie ein Plugin deaktivieren oder löschen. Der Unterschied:
- Deaktivieren: WordPress lädt das Plugin nicht mehr. Die Dateien bleiben aber in
wp-content/plugins/stehen und sind oft noch direkt über den Webserver abrufbar. Steckt in einer einzelnen PHP-Datei dieses Plugins eine Sicherheitslücke, besteht diese weiterhin. Angreifer scannen nach bekannten verwundbaren Dateien, nicht nach aktiven Plugins. - Löschen: Die Dateien werden entfernt. Manche Plugins räumen beim Löschen auch ihre Einstellungen und Tabellen in der Datenbank auf, andere lassen diese stehen.
Nutzen Sie ein Plugin nicht mehr, löschen Sie es. Deaktivieren ist nur für kurze Zeit gedacht (während der Suche nach einem Problem). Dasselbe gilt für Themes (Lektion 2.4).
Aufräumen: eine feste Runde
Gehen Sie einmal pro Quartal (Lektion 9.4) Ihre Plugins durch. Pro Plugin:
- Wofür ist es da? Wissen Sie es nicht mehr, finden Sie es heraus. Oft stellt sich heraus, dass ein Plugin einst für eine einzige Sache installiert und nie entfernt wurde.
- Wird es noch genutzt? Ein Slider-Plugin, obwohl nirgends ein Slider steht, ein Formular-Plugin, obwohl Ihre Kontaktseite ein anderes Formular nutzt.
- Geht es auch ohne? Kann WordPress, das Theme oder ein anderes Plugin es bereits (Lektion 5.3)?
- Wird es noch gepflegt? Zuletzt aktualisiert, noch im Plugin-Verzeichnis?
Führen Sie das Aufräumen zuerst in Staging durch (Lektion 8.3) oder erstellen Sie mindestens ein Backup, und entfernen Sie jeweils nur ein Plugin, damit Sie wissen, was schiefging, falls etwas schiefgeht. Achten Sie auf Shortcodes: Entfernen Sie ein Plugin, das [formulier id="2"] lieferte, steht dieser Text danach wortwörtlich auf Ihrer Seite.
Wenn es schiefgeht: der kritische Fehler
Nach einem Update, einem neuen Plugin oder einem PHP-Upgrade sehen Sie plötzlich:
Er is een kritieke fout op deze website.oder eine komplett weiße Seite. Das bedeutet: PHP wurde durch einen fatalen Fehler gestoppt, bevor eine Seite entstand (Lektion 1.2). Meist liegt das an einem Plugin oder Theme, das nicht mit etwas anderem zusammenpasst: einem anderen Plugin, der neuen WordPress-Version oder der PHP-Version.
Seit WordPress 5.2 macht WordPress dann zwei Dinge:
- es sendet eine E-Mail an die Administrator-Adresse mit der Angabe, welches Plugin oder Theme den Fehler verursacht hat, und einem speziellen Link;
- mit diesem Link melden Sie sich im Wiederherstellungsmodus (Recovery Mode) an: Das Dashboard funktioniert dann, wobei das fehlerhafte Plugin vorübergehend deaktiviert ist, sodass Sie es aktualisieren, ersetzen oder löschen können.
Deshalb ist eine Administrator-Adresse, die Sie auch lesen, so wichtig (Lektion 2.2).
Selbst suchen: die Schritte
Kommt keine Mail oder funktioniert der Wiederherstellungsmodus nicht? So finden Sie es selbst heraus.
1. Schauen Sie ins Fehlerprotokoll
Der Fehler steht fast immer im Fehlerprotokoll des Webservers oder von PHP. Bei DirectAdmin finden Sie das bei den Logbüchern Ihrer Domain. Suchen Sie eine Zeile mit PHP Fatal error und dem Zeitpunkt Ihres Versuchs:
PHP Fatal error: Uncaught Error: Call to undefined function create_function()
in /home/gebruiker/domains/example.com/public_html/wp-content/plugins/oude-slider/slider.php:42Der Pfad verrät Ihnen den Schuldigen: hier das Plugin im Ordner oude-slider. Der Rest der Zeile verrät das Warum (hier: eine Funktion, die in PHP 8 entfernt wurde, Lektion 8.4).
2. Schalten Sie das Debug-Log ein (nicht die Bildschirmanzeige)
Steht nichts Brauchbares im Fehlerprotokoll, tragen Sie in wp-config.php (oberhalb von "Das war's, Schluss mit Bearbeiten!") Folgendes ein:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );WordPress schreibt dann alle Fehler in wp-content/debug.log, ohne sie Besuchern anzuzeigen. Lassen Sie dies nie länger als nötig eingeschaltet: debug.log liegt in einem Ordner, den der Webserver bereitstellt, und wer die Adresse kennt, kann es lesen. Darin stehen Pfade, manchmal Benutzernamen und andere Informationen, die einem Angreifer helfen. Schalten Sie es nach der Suche wieder aus und löschen Sie debug.log. Oder lassen Sie WordPress die Protokolldatei außerhalb des Web-Verzeichnisses schreiben, indem Sie bei WP_DEBUG_LOG einen Pfad angeben (zum Beispiel '/home/gebruiker/logs/wp-debug.log', sofern Ihr Hoster das zulässt). In Lektion 7.4 prüfen Sie, dass debug.log nicht öffentlich einsehbar ist.
3. Plugin ohne Dashboard ausschalten
Kommen Sie nicht in das Dashboard, schalten Sie das verdächtige Plugin aus, indem Sie seinen Ordner über Dateimanager oder SFTP umbenennen:
wp-content/plugins/oude-slider wordt wp-content/plugins/oude-slider-uitWordPress findet das Plugin dann nicht mehr und schaltet es aus. Wissen Sie nicht, welches es ist, benennen Sie den gesamten Ordner plugins in plugins-uit um: Alle Plugins werden ausgeschaltet. Funktioniert die Website dann, erstellen Sie einen neuen leeren Ordner plugins, setzen die Plugins nacheinander zurück und prüfen nach jedem Plugin, ob der Fehler wiederkehrt. Für ein Theme gilt dasselbe: Benennen Sie den Ordner des aktiven Themes um, und WordPress fällt auf ein Standard-Theme zurück, sofern noch eines vorhanden ist (Lektion 2.4).
4. Konflikte ohne fatalen Fehler
Nicht jedes Problem ist ein kritischer Fehler. Manchmal funktioniert nur eine Funktion nicht: Eine Schaltfläche tut nichts, das Formular wird nicht versendet, der Editor lädt nur halb. Dann liegt oft ein Konflikt zwischen zwei Plugins oder zwischen einem Plugin und dem Theme vor. Dafür ist das offizielle Plugin Health Check & Troubleshooting hilfreich: Im Problembehandlungsmodus schaltet es nur für Ihre eigene Sitzung alle Plugins aus und wechselt zu einem Standard-Theme, während Besucher ganz normal die reguläre Website sehen. Danach schalten Sie sie einzeln wieder ein, bis das Problem erneut auftritt.
Schauen Sie auch in die Konsole Ihres Browsers (F12): JavaScript-Fehler nennen oft die Datei und damit das Plugin.
Website-Zustand
Unter Werkzeuge > Website-Zustand prüft WordPress selbst Ihre Website: veraltete PHP-Version, Plugins und Themes, die nicht aktiv sind, fehlende PHP-Erweiterungen, eine REST API, die nicht funktioniert, geplante Aufgaben, die im Rückstand sind. Auf dem Reiter Info stehen alle Daten Ihrer Installation (Versionen, Pfade, PHP-Einstellungen). Diesen Reiter können Sie kopieren und mitschicken, wenn Sie um Hilfe bitten. Schauen Sie hier nach jeder größeren Änderung kurz hinein.
Zusammenfassung
- Deaktivieren lässt die Dateien stehen; löschen Sie Plugins und Themes, die Sie nicht nutzen.
- Räumen Sie jedes Quartal auf, jeweils ein Plugin, mit einem Backup oder in Staging.
- Bei einem kritischen Fehler sendet WordPress eine Mail mit einem Link zum Wiederherstellungsmodus.
- Das Fehlerprotokoll oder
debug.lognennt den Pfad des Schuldigen; schalten Sie Debug nach der Suche wieder aus, denn sonst istdebug.logöffentlich einsehbar. - Ohne Dashboard-Zugang schalten Sie ein Plugin aus, indem Sie seinen Ordner umbenennen; Konflikte suchen Sie mit dem Problembehandlungsmodus.
Quiz
Aufgabe
Aufgabe A5.4: Ist Ihr Debug-Log nicht öffentlich? Tragen Sie die Adresse Ihrer Website ein und belegen Sie mit dem Code, den Ihnen die Aufgabe liefert, dass es sich um Ihre eigene Website handelt (ein TXT-Eintrag oder eine kleine Datei). Das Programm ruft /wp-content/debug.log ab: Gut ist, wenn diese Datei nicht existiert oder der Zugriff verweigert wird (404 oder 403). Erhält das Programm eine Datei zurück, gilt das als rot. Außerdem zählt das Programm, wie viele verschiedene Plugin-Ordner in dem HTML-Code Ihrer Startseite vorkommen (nur zur Information).
Aufgabe D5.4: Ihre Plugin-Liste aufräumen. Erstellen Sie eine Liste aller Ihrer Plugins (aktiv und inaktiv): Name, Zweck, noch benötigt (ja/nein), Alternative ohne Plugin. Löschen Sie (nach einem Backup oder in Staging) die Plugins, die nicht mehr gebraucht werden, jeweils eines nach dem anderen, und prüfen Sie nach jedem Löschvorgang, ob die Website noch funktioniert. Tragen Sie ein, wie viele Plugins Sie hatten und wie viele übrig sind, und notieren Sie, ob Shortcodes zurückblieben, die Sie aufräumen mussten.
Aufgabe D5.4: Ihre Plugin-Liste aufräumen
Diese Aufgabe machen Sie selbst; niemand prüft sie nach. Haken Sie ab, was Sie erledigt haben, und markieren Sie die Aufgabe als erledigt.
Die Anzahl danach ist kleiner oder gleich, und bei jedem Plugin, das bleibt, steht ein Grund. Inaktive Plugins entfernen Sie: Auch deaktivierter Code kann eine Sicherheitslücke enthalten.
Ihre Haken und Notizen bleiben nur in diesem Browser; wir senden sie nirgendwohin. Sind Sie angemeldet, speichern wir in Meine Kurse nur, dass Sie die Aufgabe erledigt haben.
Weiterführende Lektüre
Diese Artikel beschreiben die Schritte in den Panels von WebOké; in anderen Panels funktionieren sie ähnlich.
- DirectAdmin Anleitung 18.1: Meine Website ist weiß oder zeigt einen Fehler 500
- Fehler 500 oder „kritischer Fehler" auf Ihrer Website (auch nach einem WordPress-Update)
- DirectAdmin Anleitung 14.6: Fehler nach einem PHP-Upgrade und das Fehlerprotokoll finden
- DirectAdmin Anleitung 17.2: Website-Übersicht und Protokolle: das Fehler-Protokoll und das Zugriffsprotokoll
- Wie kann ich PHP debuggen, ohne die php.ini anzupassen?
- Debuggen in WordPress (developer.wordpress.org, Englisch): https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/
