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/
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:
- https://software-lupe.de/tutorial/backup-teil-2-filezilla-installieren-und-einrichten/
- https://elbnetz.com/wordpress-sicher-ueber-ftp-aktualisieren/ mit einer Beschreibung zum Umbenennen eines Plugin-Ordners per 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/
Ein ähnlicher Fehler tauchte vor ein paar Tagen auf einer Testumgebung von uns auf:
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.
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).
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.
White Screen of death (WSOD) z. B. nach Update und Aktivierung von einem Plugin
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.
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.
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.
Weitere Beiträge zum Thema
Plugins, Links und Hinweise:
- Mehr Möglichkeiten in der Premium Version von UpdraftPlus: https://updraftplus.com/shop/updraftplus-premium/
- Health Check: https://de.wordpress.org/plugins/health-check/
- WP Rollback: https://de.wordpress.org/plugins/wp-rollback/
- Ältere Version einen Plugins runterladen rechts unter “erweiterte Ansicht”, 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
- Wiederherstellung mit UpdraftPlus: https://de.wordpress.org/plugins/updraftplus/
- Datenbank auf die Standardinstallationswerte zurücksetzen, ohne irgendwelche Dateien zu ändern: https://wordpress.org/plugins/wp-reset/, siehe auch https://kinsta.com/de/blog/wordpress-zurucksetzen/
- Lokale Entwicklungsumgebung, hier Laragon: https://haurand.com/laragon-als-lokaler-server-fuer-eine-wordpress-seite/
- Was ist FTP und wie nutzt man FTP: https://wiki.filezilla-project.org/FileZilla_Client_Tutorial_(de) oder https://www.heise.de/tipps-tricks/Einen-lokalen-FTP-Server-mit-FileZilla-hosten-4146255.html
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
Wir freuen uns über eine Kontaktaufnahme
Was hältst du davon?
Ich hoffe, dieser Beitrag hat dir gefallen und wir würden uns über einen Kommentar freuen. Auch über Erweiterungen, Korrekturen, Hinweise oder sonstige Anmerkungen freuen wir uns sehr.
Weitere interessante Beiträge rund um WordPress findest du hier