Wer WordPress-Malware entfernen will, ersetzt zuerst alles, was sich aus Originalquellen neu laden lässt. Danach prüft er, was sich nicht ersetzen lässt: Uploads, Konfigurationsdateien, Benutzer, geplante Aufgaben und die Datenbank. Zum Schluss erneuern Sie alle Zugänge und die Salts und schließen die Lücke, durch die der Angreifer kam. Einzelne verdächtige Dateien zu löschen reicht meist nicht, weil Hintertüren an mehreren Stellen liegen können.
Dieser Beitrag ist der Detailteil zur Bereinigung. Den Gesamtablauf ab der ersten Stunde finden Sie in WordPress gehackt: was tun?. Woran Sie einen Befall erkennen, steht in WordPress gehackt: Anzeichen erkennen. Wenn Sie nicht selbst Hand anlegen möchten, übernimmt die Hack-Notfallhilfe die Bereinigung zum Festpreis.
Voraussetzung: Zugriff auf die Dateien (SFTP oder SSH) und auf die Datenbank (phpMyAdmin oder WP-CLI).
Bereinigen, Backup einspielen oder neu aufbauen?
Entscheiden Sie das vor dem ersten Löschen, denn es bestimmt den Aufwand.
| Ihre Situation | Sinnvoller Weg | Warum |
|---|---|---|
| Sie kennen den Zeitpunkt des Befalls und haben ein Backup davor | Backup einspielen, danach trotzdem Ursache schließen, Zugänge und Salts erneuern | Das Backup beseitigt die Folgen, nicht die Ursache. Ein Backup von nach dem Befall spielt die Malware mit ein. |
| Kein sauberes Backup, überschaubare Seite | Bereinigen nach dieser Anleitung | Core, Plugins und Themes sind ersetzbar. Ihre Inhalte liegen in Uploads und Datenbank. |
| Der Befall kam nach einer früheren Bereinigung zurück | Hilfe holen | Vermutlich gibt es eine übersehene Hintertür oder die Lücke ist noch offen. |
| Shop, Kundenkonten oder personenbezogene Daten betroffen | Hilfe holen | Beweissicherung und DSGVO-Einordnung brauchen Sorgfalt. |
| Der Hoster hat gesperrt oder auf dem Hosting liegen weitere Projekte | Hoster einbinden, ggf. Hilfe holen | Ein anderes befallenes Projekt auf demselben Konto kann die Seite erneut infizieren. |
Rohdaten (CSV)
Ihre Situation;Sinnvoller Weg;Warum Sie kennen den Zeitpunkt des Befalls und haben ein Backup davor;Backup einspielen, danach trotzdem Ursache schließen, Zugänge und Salts erneuern;Das Backup beseitigt die Folgen, nicht die Ursache. Ein Backup von nach dem Befall spielt die Malware mit ein. Kein sauberes Backup, überschaubare Seite;Bereinigen nach dieser Anleitung;Core, Plugins und Themes sind ersetzbar. Ihre Inhalte liegen in Uploads und Datenbank. Der Befall kam nach einer früheren Bereinigung zurück;[Hilfe holen](https://webnotaufnahme.de/wordpress-gehackt/);Vermutlich gibt es eine übersehene Hintertür oder die Lücke ist noch offen. Shop, Kundenkonten oder personenbezogene Daten betroffen;[Hilfe holen](https://webnotaufnahme.de/wordpress-gehackt/);Beweissicherung und DSGVO-Einordnung brauchen Sorgfalt. Der Hoster hat gesperrt oder auf dem Hosting liegen weitere Projekte;Hoster einbinden, ggf. Hilfe holen;Ein anderes befallenes Projekt auf demselben Konto kann die Seite erneut infizieren.CSV herunterladen
Wo sich Schadcode in WordPress versteckt
| Ort | Typische Auffälligkeit | Prüfung |
|---|---|---|
wp-content/uploads | PHP-Dateien, wo nur Bilder und Dokumente liegen sollten | find-Befehl in Schritt 2 |
wp-admin, wp-includes | Dateien, die im Original nicht existieren, oder veränderte Core-Dateien | Prüfsummen-Vergleich |
Theme- und Plugin-Dateien (functions.php, header.php, footer.php, index.php) | verschleierter Code am Anfang oder Ende | Ordner neu laden |
.htaccess (auch in Unterordnern), wp-config.php | Weiterleitungsregeln, fremde Include-Zeilen | von Hand lesen |
wp-content/mu-plugins, Drop-ins wie object-cache.php | Dateien, die Sie nie installiert haben | von Hand prüfen |
| Datenbank | geänderte siteurl/home, eingebettete Skripte, unbekannte Administratoren, fremde geplante Aufgaben | WP-CLI oder phpMyAdmin |
Rohdaten (CSV)
Ort;Typische Auffälligkeit;Prüfung `wp-content/uploads`;PHP-Dateien, wo nur Bilder und Dokumente liegen sollten;`find`-Befehl in Schritt 2 `wp-admin`, `wp-includes`;Dateien, die im Original nicht existieren, oder veränderte Core-Dateien;Prüfsummen-Vergleich Theme- und Plugin-Dateien (`functions.php`, `header.php`, `footer.php`, `index.php`);verschleierter Code am Anfang oder Ende;Ordner neu laden `.htaccess` (auch in Unterordnern), `wp-config.php`;Weiterleitungsregeln, fremde Include-Zeilen;von Hand lesen `wp-content/mu-plugins`, Drop-ins wie `object-cache.php`;Dateien, die Sie nie installiert haben;von Hand prüfen Datenbank;geänderte `siteurl`/`home`, eingebettete Skripte, unbekannte Administratoren, fremde geplante Aufgaben;WP-CLI oder phpMyAdminCSV herunterladen
WordPress Malware entfernen: Schritt für Schritt
Die Befehle laufen per SSH im WordPress-Hauptverzeichnis. Ohne SSH gehen alle Schritte auch per SFTP und phpMyAdmin. Die Befehle in Schritt 2 ändern nichts. Alle Befehle sind nach der Dokumentation geschrieben und nicht in einer Testumgebung ausgeführt.
Schritt 1: Stand sichern und Zugänge sperren
Sichern Sie Dateien und Datenbank im jetzigen Zustand und ändern Sie von einem sauberen Gerät aus die Passwörter für Hoster, SFTP/SSH, Datenbank und alle WordPress-Administratoren. Diese Sicherung ist Beweismaterial, keine Quelle zum Wiederherstellen. Die Einzelheiten stehen in WordPress gehackt: was tun?.
Schritt 2: Prüfen, bevor Sie etwas ändern
PHP-Dateien im Upload-Ordner:
find wp-content/uploads -type f \( -iname "*.php" -o -iname "*.phtml" -o -iname "*.phar" \)Typische Verschleierung in PHP-Dateien:
grep -rIlE --include="*.php" "eval\(base64_decode|gzinflate\(base64_decode" .Core und Plugins gegen die Originale vergleichen:
wp core verify-checksums
wp plugin verify-checksums --allwp plugin verify-checksums prüft gegen die Prüfsummen von WordPress.org. Für Erweiterungen anderer Anbieter erhalten Sie dort keinen Vergleich.
Treffer sind verdächtig, aber nicht automatisch bösartig. Eine Datei, die vom Original abweicht, ersetzen Sie, statt sie zu reparieren.
Schritt 3: WordPress-Core ersetzen
Laden Sie dieselbe WordPress-Version von wordpress.org herunter und ersetzen Sie die Ordner wp-admin und wp-includes per SFTP komplett. Behalten Sie wp-config.php und wp-content. Nutzen Sie nicht die Neuinstallation im Dashboard: Sie überschreibt nur vorhandene Dateien, eingeschleuste neue Dateien blieben liegen.
Schritt 4: Plugins und Themes ersetzen
Löschen Sie jeden Plugin- und Theme-Ordner und laden Sie ihn frisch aus der Originalquelle: dem WordPress.org-Verzeichnis oder dem Kundenbereich des Herstellers. Entfernen Sie alles, was Sie nicht nutzen. Verwenden Sie keine Raubkopien („nulled“) von Premium-Erweiterungen, denn WordPress empfiehlt, Erweiterungen nur aus vertrauenswürdigen Quellen zu beziehen. Wie ernst ein manipuliertes Paket sein kann, zeigt der Fall Rank Math PRO 3.0.123: Hier waren sogar Downloads des Herstellers zeitweise verseucht, ein Update allein genügte nicht.
Schritt 5: Uploads prüfen und PHP dort sperren
Uploads lassen sich nicht neu laden. Prüfen Sie den Ordner mit dem find-Befehl aus Schritt 2 und entfernen Sie alles, was keine Mediendatei ist. Sperren Sie danach die PHP-Ausführung im Ordner. Bei Apache 2.4 geht das in wp-content/uploads/.htaccess:
<FilesMatch "(?i)\.(php|phtml|phar)$">
Require all denied
</FilesMatch>Bei nginx oder anderen Servern sieht die Regel anders aus. Fragen Sie Ihren Hoster. Prüfen Sie danach, ob die Bilder weiterhin laden.
Schritt 6: Konfigurationsdateien und Zusatzcode lesen
Lesen Sie wp-config.php und jede .htaccess (im Hauptverzeichnis und in Unterordnern) von Hand. Alles, was Sie nicht selbst eingetragen haben, ist erklärungsbedürftig. Prüfen Sie außerdem wp-content/mu-plugins und Drop-ins wie object-cache.php.
Schritt 7: Datenbank, Benutzer und geplante Aufgaben prüfen
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered
wp option get siteurl
wp option get home
wp cron event list --fields=hook,next_run_relative,recurrence
wp db search '<script' --all-tablesNotieren Sie unbekannte Administratoren, bevor Sie sie löschen. Sie helfen bei der Ursachensuche. wp db search findet auch harmlose Skripte, etwa Tracking-Snippets. Löschen Sie nur, was Sie geprüft haben.
Schritt 8: Die Ursache finden und schließen
Häufige Einfallstore sind veraltete Plugins oder Themes, gestohlene oder schwache Passwörter und ein anderes befallenes Projekt auf demselben Hosting. Die Zugriffsprotokolle Ihres Hosters zeigen oft auffällige POST-Anfragen an unbekannte PHP-Dateien. Aktualisieren Sie alles und schließen Sie die Lücke. Sonst kehrt der Befall zurück.
Schritt 9: Zugänge und Salts erneuern
Ändern Sie die Passwörter jetzt noch einmal, diesmal nach der Bereinigung. Erneuern Sie das Datenbankpasswort auch in der wp-config.php. Tauschen Sie dann die Salts aus, damit alle bestehenden Sitzungen ungültig werden:
wp config shuffle-saltsOhne WP-CLI erzeugen Sie neue Werte mit dem Schlüssel-Generator von WordPress.org und tragen sie in die wp-config.php ein.
Schritt 10: Prüfen, ob die Seite sauber ist
Wiederholen Sie die Befehle aus Schritt 2 und prüfen Sie von außen, was Besucher und Google sehen. Beobachten Sie die Seite in den folgenden Wochen: neue PHP-Dateien, neue Benutzer, auffällige Zugriffe. Kehrt der Befall zurück, ist die Ursache noch offen.
Treffer richtig lesen: Wann ist ein Fund wirklich Malware?
Funktionen wie eval(), base64_decode() oder gzinflate() kann auch legitime Software verwenden. Verdächtig wird es bei langen, unlesbaren Zeichenketten, unbekannten Dateinamen, PHP-Dateien im Upload-Ordner und Abweichungen von den Prüfsummen. Nach einem Update liegen viele geänderte Dateien im selben Zeitfenster. Engen Sie dann die Suche ein. Ein Treffer ist ein Anlass zur Prüfung, kein Urteil.
WordPress Malware entfernen ohne Plugin: wann ein Scanner trotzdem hilft
Diese Anleitung kommt ohne Sicherheits-Plugin aus. Scanner sind trotzdem nützlich. WordPress.org nennt Plugin-Scanner und externe Scanner als Ergänzung und betont, dass keine einzelne Lösung die beste ist, erst die Kombination verbessert die Chancen. Ein Scanner nimmt Ihnen das Suchen ab, nicht das Entscheiden und nicht die Ursachenanalyse.
Nach der Bereinigung: Google, Datenschutz, Absicherung
Google: Hat Google Ihre Seite markiert, beantragen Sie in der Search Console unter „Sicherheitsprobleme“ die Überprüfung. Tun Sie das erst, wenn alles sauber ist.
Datenschutz: Wenn personenbezogene Daten betroffen sein können (Kontaktformulare, Kundenkonten, Shop), kann eine Meldepflicht nach Art. 33 DSGVO bestehen, in der Regel binnen 72 Stunden nach Bekanntwerden. Lassen Sie das im Einzelfall rechtlich prüfen.
Absicherung: Halten Sie Core, Plugins und Themes aktuell, entfernen Sie Ungenutztes und aktivieren Sie die Zwei-Faktor-Anmeldung für Administratoren. Setzen Sie DISALLOW_FILE_EDIT in der wp-config.php, nutzen Sie SFTP statt FTP und halten Sie Backups an einem getrennten Ort bereit. Mehr dazu unter WordPress-Sicherheit. Ein Sicherheitscheck zeigt, wo Ihre Seite angreifbar bleibt. Updates, Backups mit Restore-Test und Überwachung übernimmt die WordPress-Wartung.
Selbst bereinigen oder bereinigen lassen? Und was kostet das?
Selbst bereinigen können Sie, wenn Sie Zugriff auf Dateien und Datenbank haben, den Stand vorher sichern und die Ursache finden. Holen Sie Hilfe, wenn die Ursache unklar bleibt, ein Shop oder personenbezogene Daten betroffen sind, der Hoster gesperrt hat oder der Befall zurückkehrt.
Bei der Web-Notaufnahme beginnt die Bereinigung ab 249 € einmalig zuzüglich MwSt., mit Ursachenanalyse und Härtung ab 549 €. Den verbindlichen Festpreis nennen wir nach einem kostenlosen Scan, bevor wir etwas ändern. Findet sich nachweislich deutlich mehr, fragen wir vorher: Sie können ablehnen und zahlen nur den bis dahin erbrachten Teil.
Fazit
Malware entfernen heißt ersetzen, prüfen und die Lücke schließen, nicht einzelne Dateien löschen. Mit dieser Reihenfolge schaffen Sie das selbst, wenn Sie Zugriff und Zeit haben.
Ihre Seite ist befallen? Wir bereinigen sie. Beschreiben Sie in zwei Minuten, was Sie sehen. Zu Geschäftszeiten (Mo–Fr 9–17 Uhr) meldet sich ein Entwickler laut Landingpage innerhalb von 60 Minuten. Zur Hack-Notfallhilfe · Telefon 0711 252 673 80
Häufige Fragen
Wie bekomme ich Malware von meiner WordPress-Seite weg?
Sichern Sie zuerst den aktuellen Stand, ändern Sie alle Zugänge und ersetzen Sie dann WordPress-Core, Plugins und Themes aus Originalquellen. Prüfen Sie danach Uploads, Konfigurationsdateien, Benutzer, geplante Aufgaben und die Datenbank und erneuern Sie die Salts in der wp-config.php. Zum Schluss schließen Sie die Lücke, durch die der Angreifer kam, sonst kehrt die Infektion zurück.
Wie kann ich testen, ob meine WordPress-Seite Malware hat?
Drei Prüfungen ergänzen sich: ein Scan von außen, ein Dateivergleich gegen die Originale (wp core verify-checksums) und die Suche nach PHP-Dateien im Upload-Ordner. Schauen Sie zusätzlich in der Google Search Console unter „Sicherheitsprobleme“ und in der Benutzerliste nach unbekannten Administratoren. Ein sauberer Scan allein beweist nicht, dass die Seite sauber ist.
Kann ich Malware selbst von meiner WordPress-Seite entfernen?
Ja, wenn Sie Zugriff auf Dateien und Datenbank haben, den Stand vorher sichern und die Ursache finden können. Das Risiko liegt in übersehenen Hintertüren. Sind ein Shop oder personenbezogene Daten betroffen oder kehrt die Infektion zurück, ist Hilfe sinnvoll.
Reicht ein Sicherheits-Plugin, um Malware zu entfernen?
Ein Scanner findet bekannte Muster, kann aber getarnte Hintertüren übersehen und erklärt nicht, wie der Angreifer hereinkam. Verlassen Sie sich nicht auf ein einzelnes Werkzeug. Kombinieren Sie Scan, Dateivergleich, Datenbankprüfung und Ursachenanalyse.
Was kostet es, WordPress-Malware entfernen zu lassen?
Bei der Web-Notaufnahme beginnt die Bereinigung ab 249 € einmalig zuzüglich MwSt., mit Ursachenanalyse und Härtung ab 549 €. Den verbindlichen Festpreis nennen wir nach einem kostenlosen Scan, bevor wir etwas ändern.
Wie erhöhe ich die Sicherheit von WordPress nach der Bereinigung?
Halten Sie Core, Plugins und Themes aktuell, löschen Sie ungenutzte Erweiterungen und aktivieren Sie die Zwei-Faktor-Anmeldung für Administratoren. Sperren Sie die Dateibearbeitung im Dashboard (DISALLOW_FILE_EDIT) und legen Sie Backups an einem getrennten Ort ab. Eine Überwachung meldet Änderungen früh.
Quellen
| Quelle | Stand | Hinweis |
|---|---|---|
| WordPress.org: FAQ My site was hacked | abgerufen 21.10.2026 | Core ersetzen, Salts, Scanner, Passwörter erneut ändern |
| WordPress Developer: Hardening WordPress | abgerufen 21.10.2026 | Vertrauenswürdige Quellen, DISALLOW_FILE_EDIT, 2FA, SFTP |
| WP-CLI: wp config shuffle-salts | abgerufen 21.10.2026 | Salts erneuern |
| WP-CLI: wp plugin verify-checksums | abgerufen 21.10.2026 | Prüfung gegen WordPress.org |
| Web-Notaufnahme: Notfallhilfe bei Hack | abgerufen 21.10.2026 | Preise, Ablauf, Reaktionszeit |