In diesem Artikel besprechen wir die häufigsten Arten von WordPress-Hacks, wie man sie erkennt und welche Methoden es gibt, sie zu beheben. Wenn Sie auf ein solches Problem stoßen, empfehlen wir dringend, einen professionellen Webentwickler für weitere Unterstützung zu kontaktieren. Weitere Hinweise zur Verbesserung der Sicherheit Ihres Hosting-Kontos finden Sie in diesem Leitfaden.
WICHTIG: Erstellen Sie vor jeglichen Änderungen ein vollständiges Backup Ihrer Website.
BITTE BEACHTEN: Um das Risiko zukünftiger WordPress-Hacks zu verringern, scannen Sie Ihr Hosting-Konto regelmäßig mit einem Antiviren-Tool, entfernen Sie bösartige oder verdächtige Dateien und halten Sie alle Plugins und Themes Ihrer Website stets auf dem neuesten Stand.
Verschiedene Probleme können dazu führen, dass Standarddateien fehlen oder verändert werden. Die häufigste Ursache ist jedoch Malware, die in Ihre WordPress-Installation eingeschleust wurde. Glücklicherweise können die Antiviren-Tools auf unseren Web- und Hosting-Servern kompromittierte Dateien automatisch erkennen und in Quarantäne verschieben.
Wenn Ihre WordPress-Kerndateien infiziert werden, können folgende Symptome auftreten:
Eine leere Seite;
Ein 500 Internal Server Error;
Ein „Diese Website hat technische Probleme“-Fehler (eingeführt in WordPress 5.2.2);
Oder andere ähnliche Fehler.
Um dieses Problem zu beheben, folgen Sie einfach den unten aufgeführten Schritten.
Um herauszufinden, was das Problem auf Ihrer Website verursacht hat, überprüfen Sie die error_log-Datei. Diese Datei protokolliert alle kritischen Fehler, die auf Ihrer Website auftreten.
Sie finden sie in Ihrem cPanel-Konto > im Menü „Dateimanager“ > im Stammverzeichnis Ihrer WordPress-Installation.
Sobald Sie auf den Stammordner der Domain zugreifen, suchen Sie nach der error_log-Datei. Falls sie existiert, gehen Sie wie folgt vor:
Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie Anzeigen:

Im Protokoll sehen Sie möglicherweise einen Fehler wie: „No such file or directory in…“, gefolgt vom Pfad der fehlenden Datei. Dies weist darauf hin, dass eine erforderliche Datei fehlt und die Website daher nicht korrekt ausgeführt werden kann.
Zum Beispiel:/home/cPuser/public_html/wp-settings.php

Um die fehlende Datei wiederherzustellen, scrollen Sie zum Abschnitt „Wie man fehlende Dateien ersetzt" in diesem Leitfaden.
Falls die error_log-Datei nicht im Stammverzeichnis Ihrer Website verfügbar ist, können Sie die PHP-Option display_errors in Ihrem cPanel-Konto aktivieren. Diese Einstellung ermöglicht es, Fehlermeldungen direkt auf Ihrer Website anzuzeigen, was die Fehlersuche erleichtert.
Wichtig: Aus Sicherheitsgründen sollten Sie display_errors nach der Fehlerbehebung wieder deaktivieren.
Sie können die PHP-Option auf folgende Weise aktivieren:
Über php.ini
Zusätzlich zum Menü „PHP Tweaks“ in cPanel können Sie bestimmte Einstellungen für eine Website auch direkt über eine php.ini-Datei anpassen, indem Sie entsprechende Zeilen hinzufügen oder bearbeiten.
Um die Option display_errors zu aktivieren, müssen Sie folgende Zeile zur Datei hinzufügen: display_errors=1
Sie können entweder eine neue php.ini im Stammordner der Website erstellen und die Zeile dort einfügen oder die systemgenerierte Datei bearbeiten, indem Sie die folgenden Schritte ausführen.
Melden Sie sich in Ihrem cPanel-Konto an und gehen Sie zum Menü „Dateimanager“.
Stellen Sie sicher, dass die Option „Versteckte Dateien anzeigen (dotfiles)“ in den Einstellungen aktiviert ist:

Navigieren Sie zu folgendem Verzeichnis: /home/cPanel_user/.system-php/ini

Wählen Sie die Ihrer Domain zugewiesene PHP-Version und dann das Verzeichnis der Domain aus. Zum Beispiel könnte der vollständige Pfad so aussehen:
/home/cPanel_user/.system-php/ini/7.0/testwebsite.com
Klicken Sie mit der rechten Maustaste auf die php.ini-Datei und wählen Sie Bearbeiten.
Fügen Sie folgende Zeile in die Datei ein: display_errors=1
Über .htaccess
Um die PHP-Option display_errors über die .htaccess-Datei zu aktivieren, müssen Sie die Datei im Stammverzeichnis der Website im „Dateimanager“ bearbeiten und folgende Zeile hinzufügen:php_value display_errors 1
Detaillierte Schritte zum Auffinden der .htaccess-Datei finden Sie in diesem Artikel.
Nachdem Sie Ihre Änderungen vorgenommen haben, klicken Sie auf Speichern.
WordPress verwendet eine einfache und übersichtliche Dateistruktur, wodurch das Wiederherstellen fehlender oder beschädigter Dateien relativ einfach ist. Das Ersetzen der Standard-Kerndateien wird dringend empfohlen, da so sichergestellt wird, dass alle durch Malware kompromittierten Dateien vollständig wiederhergestellt werden. Gehen Sie jedoch vorsichtig vor: Das Ersetzen bestimmter Dateien oder Ordner kann zu Datenverlust führen, wenn es nicht korrekt durchgeführt wird.
Folgen Sie den untenstehenden Schritten, um fehlende WordPress-Dateien zu ersetzen:
Melden Sie sich in Ihrem cPanel an und gehen Sie zu Softaculous Apps Installer.
Erstellen Sie eine neue WordPress-Installation in einem temporären Unterverzeichnis. Klicken Sie dazu auf das WordPress-Symbol und wählen Sie dann Installieren:

Sie werden zur Installationsseite weitergeleitet. Wählen Sie dort den betreffenden Domainnamen aus dem Dropdown-Menü und geben Sie den Namen eines Unterordners im Feld In Verzeichnis ein.
In diesem Beispiel verwenden wir den Unterordner „fix“ für die WordPress-Installation:

HINWEIS: Das Ersetzen aller Standarddateien aktualisiert Ihre bestehende Installation auf die Version der temporären „fix“-Installation. Das Mischen von Dateien verschiedener Versionen kann zu Systemkonflikten und Funktionsstörungen führen.
Wenn es wichtig ist, Ihre aktuelle WordPress-Version beizubehalten oder Sie nur bestimmte Dateien ersetzen möchten, prüfen Sie die Version Ihrer Website in der Datei /wp-includes/version.php und stellen Sie sicher, dass die neue Installation dieselbe WordPress-Version verwendet:

Sie können die WordPress-Version für die neue Installation direkt im Installationsfenster auswählen:

Sobald alle Einstellungen konfiguriert sind, klicken Sie auf Schnellinstallation oder scrollen Sie zum Ende der Installationsseite und klicken Sie auf Installieren.
Nach Abschluss der neuen WordPress-Installation erscheinen deren Dateien im „Dateimanager“ > im Stammverzeichnis Ihrer Domain. Öffnen Sie den Ordner durch Doppelklick:

Um eine bestimmte fehlende Datei (z. B. wp-settings.php) zu ersetzen, suchen Sie diese Datei im Verzeichnis der neuen Installation.
Verschieben Sie anschließend die Datei in das aktuelle Stammverzeichnis Ihrer Website, indem Sie mit der rechten Maustaste auf die Datei klicken > auf Verschieben > den Pfad zum Stammordner Ihrer Website eingeben > auf Datei(en) verschieben klicken:

Nach Abschluss wurde die fehlende Datei wiederhergestellt und Ihre Website sollte nun korrekt laden.
Beim Ersetzen aller Standard-WordPress-Dateien für eine Website sind die Schritte 1–6 identisch mit dem Abschnitt „Wie man fehlende WordPress-Dateien ersetzt“.
Nachdem diese Schritte abgeschlossen und die neue WordPress-Installation erstellt wurde, gehen Sie wie folgt vor, um alle Standarddateien im Stammordner Ihrer Website zu ersetzen:
Öffnen Sie den Stammordner der neuen WordPress-Installation:

Löschen Sie im neuen Installationsordner die folgenden Dateien und Ordner:

.htaccess
wp-config.php
wp-content
Diese Dateien und Ordner enthalten die Konfiguration und Inhalte Ihrer Website und müssen unverändert bleiben.
Verschieben Sie dann die verbleibenden Dateien in das Stammverzeichnis Ihrer Hauptwebsite. Verwenden Sie dazu die Schaltfläche Alle auswählen > klicken Sie auf Verschieben > geben Sie den Pfad zum Stammordner Ihrer Website ein > klicken Sie auf Datei(en) verschieben:

Ihre WordPress-Kerndateien wurden vollständig ersetzt. Besuchen Sie Ihre Website, um zu überprüfen, ob alles korrekt geladen wird.
Falls die Website weiterhin Fehler anzeigt, überprüfen Sie erneut die error_log. In den meisten Fällen werden weitere Probleme durch fehlende Theme- oder Plugin-Dateien verursacht.
Fehlende Theme- oder Plugin-Dateien können verschiedene Ursachen haben, am häufigsten jedoch Malware, die wichtige Komponenten Ihrer WordPress-Installation infiziert und entfernt.
Wenn bei Ihren WordPress-Plugins oder -Themes Dateien fehlen, können folgende Probleme auftreten:
Eine leere Seite;
Ein 500 Internal Server Error;
Ein „Diese Website hat technische Probleme“-Fehler (eingeführt in WordPress 5.2.2);
Eine teilweise geladene oder optisch „defekte“ Seite.
Zur Unterstützung bei der Fehlerdiagnose lesen Sie die folgenden Abschnitte dieses Artikels: Prüfen Sie die error_log-Datei Ihrer Website und Aktivieren Sie die PHP-Option display_errors.
Sie sehen möglicherweise ähnliche Fehlermeldungen wie die folgenden in Ihrer error_log oder direkt auf der Website:
PHP Fatal error: Uncaught Error: Call to undefined function sample_function() in /home/cPaneluser/...
Nachfolgend ein Beispiel für einen Fehler, der durch eine beschädigte oder fehlende Plugin-Datei verursacht wurde:

Um die fehlende Datei wiederherzustellen, installieren Sie das betroffene Theme oder Plugin einfach neu.
HINWEIS: Fehlende functions.php-Dateien in Themes stehen häufig im Zusammenhang mit der wp-vcd.php-Malware, die sich typischerweise im Verzeichnis /wp-includes befindet. Bevor Sie ein neues Theme installieren, entfernen Sie wp-vcd.php, falls vorhanden, oder ersetzen Sie zur vollständigen Sicherheit alle Standard-WordPress-Dateien wie zuvor beschrieben.
In einigen Fällen kann Ihre Website nach einer Malware-Infektion Besucher auf schädliche oder verdächtige Seiten weiterleiten. Dieses Problem wird meist durch ein unsicheres Plugin oder Theme verursacht, das Angreifern ermöglicht, Datenbank-URLs zu ändern oder Dateien Ihrer Website zu manipulieren.
HINWEIS: Klicken Sie niemals auf eine der weitergeleiteten Links. Dies kann Ihren Computer mit Malware infizieren:

Um bösartige Weiterleitungen zu beheben, folgen Sie den untenstehenden Schritten:
Suchen Sie eine Datenbank-Konfigurationsdatei Ihrer Website – wp-config.php in Ihrem cPanel > Dateimanager > Stammordner der Website. Öffnen Sie die Datei und suchen Sie dort den Datenbanknamen der Website:

Öffnen Sie dann die Ihrer Website zugewiesene Datenbank im Menü phpMyAdmin Ihres cPanels, indem Sie darauf klicken, und navigieren Sie zur Tabelle wp_options („wp_“ ist das Standardpräfix; Ihres kann abweichen):

Überprüfen Sie die Werte der Felder siteurl und home und ersetzen Sie im Falle bösartiger oder verdächtiger URLs diese durch Ihren tatsächlichen Domainnamen:

Durchsuchen Sie den Rest Ihrer Datenbank nach ähnlichen bösartigen URLs und ersetzen Sie diese entsprechend.
Ersetzen Sie vorübergehend Ihre aktuelle .htaccess durch eine saubere Standardversion. Am besten benennen Sie die bestehende Datei um (z. B. .htaccess_old) und erstellen eine neue von Grund auf.
Um die Datei umzubenennen, doppelklicken Sie darauf > wählen Sie Umbenennen aus der Liste > geben Sie einen neuen Dateinamen ein > und drücken Sie Datei umbenennen.
Um eine neue Datei zu erstellen, klicken Sie auf + Datei > benennen Sie sie .htaccess > und wählen Sie Neue Datei erstellen.
Sobald die neue .htaccess erstellt wurde, bearbeiten Sie sie, indem Sie mit der rechten Maustaste darauf klicken > wählen Sie Bearbeiten aus der Liste. Sobald das Bearbeitungsfenster geöffnet ist, fügen Sie die folgenden Standard-WordPress-Regeln in die Datei ein:# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]# END WordPress
Klicken Sie auf Änderungen speichern.
Wenn Ihre Website weiterhin weiterleitet, versuchen Sie, alle Standard-WordPress-Kerndateien zu ersetzen.
Sie können auch vorübergehend alle Plugins über das WordPress-Dashboard oder die Datenbank deaktivieren und sie dann einzeln wieder aktivieren. Überprüfen Sie nach der Aktivierung jedes Plugins die Website, um festzustellen, welches das Problem mit der bösartigen Weiterleitung verursacht.