Erste Hilfe bei Fehlern und Problemen. Wiederherstellen einer WordPress-Webseite

WordPress-Website funktioniert nicht: Erste Hilfe und wiederherstellen

Autor:

Kategorien: , , ,

WordPress-Website funktioniert nicht: Erste Hilfe – Sichern und Wiederherstellen – Probleme und Lösungen

Erste Hilfe: Pleiten, Pech und Pannen

Wiederherstellen einer Webseite teilweise oder komplett sollte als letzte Option betrachtet werden, wenn andere Lösungsmöglichkeiten keinen Erfolg haben. Wenn möglich sollten alle hier genannten Vorschläge (z. B. die Wiederherstellung einer Sicherung) erst mal in einer lokalen Testumgebung (z. B. mit Laragon) oder aber in einer Entwicklungsumgebung durchgeführt werden. Die genannten Lösungsmöglichkeiten sollten natürlich nur mit entsprechender Vorsicht durchgeführt werden und stellen eine erste Hilfe dar.

Dieser Beitrag ist anlässlich eines Vortrags beim Online-Meetup am 30.6.2021 in Aachen entstanden und im November 2022 aktualisiert worden.

Ich empfehle, die hier beschriebenen Szenarien einfach mal auf einer lokalen Entwicklungsumgebung durchzuspielen, damit man im Fall der Fälle ruhig und lösungsorientiert das Problem angehen kann. Im Ernstfall kannst du auch einen Dienstleister beauftragen. Wir bieten diese Hilfe natürlich auch an und können entsprechende Probleme in der Regel relativ schnell lösen.

Plugin mit Fehler

Beispiel Contact Form 7: Versand funktioniert wegen eines Fehlers teilweise auf Webseiten nicht (das Kontaktformular wird nicht gesendet).

Wenn man auf eine vorherige Version zurückgehen möchte, gibt es zwei Möglichkeiten:

  • WP Rollback: Nach Installation von WP Rollback wird bei jedem Plugin eine weitere Option „Rollback“ angeboten. Wenn man auf diese Option klickt, werden vorherige Versionen des jeweiligen Plugins angeboten. Aus der Liste kann man anschließend die gewünschte Version des Plugins angeben, die wiederhergestellt werden soll. In dem folgenden Beitrag von uns findest du weitere Informationen zu dem Plugin.
  • Eine ältere Version eines Plugins kann man allerdings auch auf der Seite des Plugins im WordPress Repository runterladen. Dazu findet man rechts in der Spalte den Link “erweiterte Ansicht” über den Bewertungen. Anschließend landet man auf einer Unterseite, auf der ganz unten der folgende Hinweis zu lesen ist: „Bitte wähle eine bestimmte Version zum Herunterladen aus.“ Hier kann man in der Listbox die gewünschte Version auswählen.
    Beispiel: Contact Form 7 -> https://de.wordpress.org/plugins/contact-form-7/, z. B. https://downloads.wordpress.org/plugin/contact-form-7.5.3.2.zip, dann auf Plugins > Installieren > Datei wählen.
    Es erscheint dann die Abfrage “Installiertes durch Hochgeladenes ersetzen”

Wichtig ist allerdings, dass man sich vorher informiert, ob bei einer neueren Version eines Plugins eine Sicherheitslücke gefixt wurde. Sollte das nicht der Fall sein, kann man durchaus für eine Übergangszeit auf eine ältere Version eines Plugins wie beschrieben umstellen. Eine Übersicht mit Sicherheitslücken findet man z. B. auf der folgenden Webseite.

Beitrag oder Seite gespeichert nach fehlerhafter Änderung

Wenn der Beitrag gespeichert ist, dann gibt es die Möglichkeit über “Revisionen”, siehe rechts in der Leiste mit den Beitragseinstellungen eine frühere Revision zu wählen. Hinweis: das wird aber scheinbar erst nach der 3. Speicherung – automatisch oder manuell – angezeigt.
Weitere Infos dazu z. B. hier: https://elbnetz.com/so-machen-sie-aenderungen-in-wordpress-mit-revisionen-rueckgaengig/ oder
https://www.wpbeginner.com/beginners-guide/complete-guide-to-wordpress-post-revisions/

Erste Hilfe bei WordPress-Webesiten - Wiederherstellen

Fehlerhafte Plugins per FTP deaktivieren

Per FTP ändert man den Namen des Plugin – Ordners, der das Problem verursacht
(z. B. \wp-content\plugins\das_ist_der_Ordner in \wp-content\plugins\_das_ist_der_Ordner) – ich habe hier vor dem Namen des Ordners einen Unterstrich gesetzt. Damit wird das Plugin deaktiviert.

Anleitungen zu FTP:

Wie man den gesamten plugins-Ordner per FTP deaktivieren kann, wird in dem folgenden Beitrag im FAQ-Bereich des deutschen WordPress-Supportforums erläutert: https://de.wordpress.org/support/topic/wie-deaktiviert-man-alle-plugins-ohne-adminzugang/

Kritischer Fehler auf einer WordPress-Webseite

Ein ähnlicher Fehler tauchte vor ein paar Tagen auf einer Testumgebung von uns auf:

Kritischer Fehler auf einer WordPress-Webseite
E-Mail zu einem kritischen Fehler

Nach Bestätigung des Links (im Screenshot unkenntlich gemacht), kann man sich wieder anmelden und das entsprechende Plugin wird hier in der Plugin-Übersicht gezeigt. In dem Fall lag es an Gutenberg. Das Problem hing aber nicht mit dem Plugin zusammen, sondern lag daran, dass diese Seite seit einiger Zeit nicht mehr aufgerufen worden ist. Dementsprechend war das Plugin nicht mehr aktuell und hat den Fehler verursacht.

Wiederherstellungsmodus WordPress
Plugin-Problem

Fehler im Zusammenhang mit der REST-API

Fehlermeldung im roten Balken nach Bearbeitung einer Seite, wenn man speichern möchte: „Aktualisierung nicht möglich“. In dem Fall sollte man einen Blick unter Werkzeuge > Website-Zustand werfen. Hier hatte ich eine Fehlermeldung in etwa in der folgenden Art:
wp-json wp-site-health Failed to load resource: … the server responded with a status of 404 ()

Durch Bestätigung unter Einstellungen > Permalinks (ohne Änderung der Struktur) konnte der Fehler behoben werden.

Debug – Fehler auslesen

Hilfreich könnte auch die Aktivierung des Debug-Modus sein. Damit Fehler ausgelesen werden können, müssen die Fehler in eine Log-Datei auf dem Server geschrieben werden, auf die man dann per FTP (oder auch SSH) zugreifen kann.

Sichere bitte zunächst die wp-config.php auf deinem lokalen Rechner.

Gib dann bitte mit einem geeigneten Programmier-Editor (z. B. Notepad++ in der wp-config.php oberhalb von /* That's all, stop editing! Happy blogging. */ folgendes ein:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', false);
define( 'WP_DEBUG_LOG', true );

Achte darauf, dass du die Zeilen wie z. B. define('WP_DEBUG', false); überschreibst, falls die Zeilen bereits in der wp-config.php stehen. Wenn versucht wird, diese Konstante ein zweites mal zu definieren, gibt es einen Fehler, was deine Seite lahmlegen würde.

Mit diesen drei Codezeilen wird der Debug-Modus aktiviert. Die Fehlermeldungen sollen aber nicht direkt angezeigt werden, sondern in die Datei .../wp-content/debug.log geschrieben werden.

Wenn der Fehler gefunden wurde bzw. wenn die Fehler nicht mehr in die debug.log geschrieben werden sollen, dann musst du daran denken, die Variablen wieder auf false zu setzen oder die Variablen zu löschen.

define( 'WP_DEBUG', false);
define( 'WP_DEBUG_DISPLAY', false);
define( 'WP_DEBUG_LOG', false);

Einen entsprechenden Beitrag, wie man das auch mit Verwendung eines Plugins macht, findest du hier.

Datenbankverbindungsfehler – Neues Passwort für die Datenbank vergeben

Wenn du über den Hoster ein neues Passwort für die Datenbank vergeben hast, dann musst du das Passwort auch entsprechend in die wp-config.php eintragen. Die Datei findest du in der Regel im Root deiner WordPress-Instanz auf dem Server. Auf diese Datei kannst du per FTP zugreifen.

In dieser Datei findest du die Zugangsdaten für deine Website:

/**
 * Ersetze datenbankname_hier_einfuegen
 * mit dem Namen der Datenbank, die du verwenden möchtest.
 */
define( 'DB_NAME', 'xxx' );

/**
 * Ersetze benutzername_hier_einfuegen
 * mit deinem Datenbank-Benutzernamen.
 */
define( 'DB_USER', 'xxx' );

/**
 * Ersetze passwort_hier_einfuegen mit deinem Datenbank-Passwort.
 */
define( 'DB_PASSWORD', 'xxx' );

/**
 * Ersetze localhost mit der Datenbank-Serveradresse.
 */
define( 'DB_HOST', 'localhost' );

Welche Daten bei `DB_HOST` eingegeben werden müssen, hängt vom Hoster ab (in der Regel aber localhost).

Falls notwendig, muss man auch das Datenbanktabellen-Präfix prüfen, das meistens unter den Sicherheitsschlüsseln steht. Fangen die Namen der Datenbank-Tabellen mit meinwp_ an, lautet der Eintrag

$table_prefix = 'meinwp_';

Änderungen solltest du sicherheitshalber wie folgt durchführen:

  • lade die wp-config.php per FTP auf deinen lokalen Rechner,
  • sichere die wp-config.php noch zusätzlich in einen anderen lokalen Ordner,
  • führe dann bitte mit einem geeigneten Programmier-Editor (z. B. Notepad++) die Änderungen lokal durch
  • lade die geänderte wp-config.php per FTP wieder auf deinen Webspace,
  • teste dann, ob das Problem behoben ist.

Nicht gewünschte Neuinstallation

Fehlermeldung: (Error establishing a database connection)
Die wp-config.php sollte auf jeden Fall immer gesichert werden, damit man nicht erst umständlich über das Kundenmenü die Zugangsdaten suchen muss.

Wenn die wp-config.php fehlt, wird eine (nicht gewünschte) Neuinstallation eingeleitet. Das Problem einer nicht gewünschten Neuinstallation taucht übrigens auch auf, wenn in der wp-config.php das Präfix für die Datenbank falsch angegeben worden ist oder wenn die Datenbank nicht existiert.

In beiden Fällen sollte man die bereits gesicherte wp-config.php wiederherstellen (per FTP in den Stammordner der WordPress-Instanz kopieren).

Problem bei Verbindung zur Datenbank

Datenbank gelöscht

  • über den Kundenaccount des Hosters in phpMyAdmin anmelden
  • Datenbank mit dem entsprechenden Namen anlegen (im Beispiel test_db)
  • Importieren der ZIP-Datei mit der Datenbank
  • Alternativ geht das auch über WP CLI (die Einrichtung wird allerdings nicht von allen Hostern unterstützt)

Fehler in der .htaccess

Sichern und Umbenennen der .htaccess, neu erstellen über Einstellungen > Permalinks. Es reicht, wenn man auf Einstellungen > Permalinks klickt. Die Permalink-Einstellung muss nicht durch Klick auf den Button bestätigt werden.

Internal Server Error: Problem in .htaccess

White Screen of death (WSOD) z. B. nach Update und Aktivierung von einem Plugin

Man kann nach einer Sicherung das Plugin https://de.wordpress.org/plugins/health-check Health Check & Troubleshooting installieren. Wenn man auf den Button „Problembehandlungsmodus aktivieren“ unter Problembehandlung klickt, werden alle Plugins deaktiviert und als Standardtheme (wenn vorhanden) Twenty Twenty oder Twenty Twenty-One aktiviert. Dann kann man sehen, ob die beschriebenen Probleme noch weiterhin auftauchen. Dann aktiviert man Plugin für Plugin im Problembehandlungsmodus und schaut jeweils nach Aktivierung eines Plugins, ob das Problem noch besteht. Auf diese Weise kann man möglicherweise ein Plugin finden, dass das Problem verursacht. Vorteil dabei ist, dass der Besucher der Webseite weiter mit alle Infos ohne Einschränkungen sieht.
Leider funktioniert das nicht immer. Bei einigen Webseiten konnten wir beobachten, dass in dem Fall eine Meldung in der folgenden Art erscheint (Beispiel):

Beim Aktivieren des Plugins, contact-form-7, ist ein Website-Fehler aufgetreten. Aus diesem Grund wurde die Änderung automatisch rückgängig gemacht.

Dann bleibt nur übrig, alle Plugins zu deaktivieren und Plugin für Plugin zu aktivieren. Der Besucher der Webseite sieht während des Vorgangs natürlich eine „defekt“ erscheinende Webseite.

Weitere Informationen hier: https://de.wordpress.org/support/topic/health-check-informationen-zu-deiner-website.

Wiederherstellen mit UpdraftPlus

Wenn Beiträge, Seiten, Medien, Themes und/oder Plugins gelöscht sind: Wiederherstellung mit UpdraftPlus einer bereits existierenden Sicherung, die an einem sicheren Ort gespeichert sein sollte. Die Sicherungsdateien sind ZIP-Dateien und können auch manuell wiederhergestellt werden: ZIP-Datei lokal entpacken und in den entsprechenden Ordner hochladen. Auf diese Weise kann man auch einzelne Plugins oder Themes wiederherstellen, wenn man nicht den „normalen“ Weg über eine Installation gehen möchte.

WordPress-Sicherung wiederherstellen
Grafik: haurand.com

Bei der Wiederherstellung von Uploads muss man beachten, dass die Datenbank Einträge für die Bilder enthält: Jedes Bild in der Medienbibliothek hat eine entsprechende Zeile in der wp_posts und zwei Zeilen in der wp_postmeta. Die Zeilen in wp_posts ist der Haupteintrag für das Bild, während die Zeilen in wp_postmeta Informationen zum Bild enthalten, z. B. den Speicherort der Datei und die für das Bild verfügbaren Miniaturansichten. Wenn also nur graue Kästen statt Bilder in der Mediathek zu sehen sind, kann es sein, dass diese Informationen fehlen.


Wiederherstellen mit UpdraftPlus z. B. nach Komplettausfall

  • Sicherung mit UpdraftPlus durchführen. Die Sicherung sollte auf jeden Fall auch extern gesichert werden (z. B. auf dem lokalen Rechner oder in einer Cloud).
  • Die Sicherungsdateien können per FTP in den Ordner wp-content\updraft kopiert werden
  • Sicherung wiederherstellen:
    • zuerst die Datenbank wiederherstellen und direkt prüfen, ob das funktioniert hat, z. B. sollten dann die Beiträge wieder da sein
    • dann am besten Themes, Uploads, Andere wiederherstellen und jeweils danach kurz prüfen, ob das funktioniert hat.
    • zum Schluss Plugins wiederherstellen
    • Danach sollte man die Webseite gründlich testen
  • Eine Wiederherstellung klappt nicht immer reibungslos. Wenn eine Meldung in der Art erscheint, dass die Wiederherstellung nicht erfolgreich war, sollte man den Vorgang einfach wiederholen. Da aber die Sicherungen ZIP-Dateien sind, kann man die ZIP-Dateien entpacken und dann notfalls auch Bilder, Themes oder Plugins per FTP hochladen.

Falsche URL in Einstellungen eingetragen

In einigen Fällen werden auch schon mal falsche Einstellungen für die Webseite unter Einstellungen > Allgemein bei WordPress-Adresse (URL) und Website-Adresse (URL) vorgenommen.

In dem Fall sollte man die Konfigurationsdatei `wp-config.php` zunächst per FTP auf seinem lokalen Rechner sichern. Mit einem geeigneten Code-Editor (z.B. Visual Studio Code oder Notepad++) fügt man die Zeile
define( 'RELOCATE', true );
oberhalb von
/* That's all, stop editing! Happy blogging. */
ein. Danach sollte man sich über https://example.com/wp-login.php (natürlich mit seiner eigenen URL) wieder anmelden können. Dann kann man unter Einstellungen > Allgemein die URL ändern. Vorsichtshalber sollte danach noch die in der wp-config.php eingefügte Zeile wieder entfernt oder die Konstante auf false gesetzt werden:
define( 'RELOCATE', false );

Eine andere Möglichkeit besteht aber auch darin, im Kundenmenü des Webhosters die Datenbankverwaltung zu öffnen (üblicherweise ist das phpMyAdmin). Dort trägt man in der für WordPress genutzten Datenbank in der Tabelle wp_options (das Präfix wp kann bei dir auch anders bezeichnet sein) die korrekten Einträge für die Felder siteurl und home ein.

phpMyAdmin: Einträge siteurl und home
phpMyAdmin: Einträge siteurl und home
phpMyAdmin: Änderung der siteurl
phpMyAdmin: Änderung der siteurl

Weitere Beiträge zum Thema

Info

Wenn du nicht weiterkommst oder du das lieber nicht selbst machen möchtest, nimm gerne Kontakt zu uns auf.

Fazit

In diesem Beitrag haben wir einige Möglichkeiten für eine erste Hilfe bei WordPress-Webseiten dargestellt. Probleme kann man in vielen Fällen bei einer WordPress-Webseite lösen, ohne dass man eine Sicherung wiederherstellen muss. In einigen Fällen würde eine Wiederherstellung wie beschrieben sogar überhaupt nichts bringen. Ich hoffe, dass ich mit diesem Beitrag zur ersten Hilfe deutlich machen konnte, dass es wichtig ist, das Problem zunächst zu analysieren und vor allem: Ruhe bewahren. Natürlich ist ein „Internal Server Error“ sehr unschön und wenn die Webseite nicht mehr funktioniert ist das äußerst unschön. Aber ein wilder Aktionismus bringt an der Stelle gar nichts und macht die Sache womöglich noch viel schlimmer.


Mehr erfahren auf dieser Webseite

Bild von Gerd Altmann auf Pixabay


Zum Blog

Mehr erfahren auf unserer Webseite

Wir freuen uns über eine Kontaktaufnahme

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert