Ihre Besucher landen auf einer Gewinnspielseite, einer Online-Apotheke oder bei einem falschen Support, und bei Ihnen sieht die Website ganz normal aus. Das ist das Kennzeichen einer eingeschleusten Weiterleitung, meist einer bedingten. Dieser Leitfaden zeigt, wie Sie sie nachstellen, in den Dateien oder der Datenbank finden und den Zugang schließen, über den sie gesetzt wurde.
wp-config.php..htaccess, die PHP-Dateien, die Datenbank, die Adresseinstellungen der Website.wp-content/uploads, Plugins, die neu zu installieren oder zu löschen sind.Eine bei einem Hack gesetzte Weiterleitung wählt aus, wen sie trifft. Meist verschont sie die Person, die die Website betreut, damit sie möglichst lange bestehen bleibt. Die häufigsten Bedingungen:
Referer der Anfrage.User-Agent.Eine Kundennachricht wie „Ihre Website schickt mich woandershin“ verdient also volle Aufmerksamkeit, auch wenn bei Ihnen alles korrekt angezeigt wird.
Versetzen Sie sich in die Lage des Besuchers, den sie trifft:
Wenn Sie Zugang zu einem Terminal haben, ruft dieser Befehl Ihre Startseite ab und gibt sich dabei als iPhone aus, das von Google kommt:
curl -s -i -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)" -e "https://www.google.com/" https://www.ihre-website.com/
Lesen Sie die ersten Zeilen der Antwort. Ein Statuscode 301 oder 302, gefolgt von einer Zeile Location: zu einer unbekannten Adresse, bedeutet eine Weiterleitung durch den Server: sie steckt in .htaccess oder in einer PHP-Datei. Ein Statuscode 200, obwohl der Browser weitergeleitet wird, bedeutet eine Weiterleitung in der Seite, per JavaScript: sie steckt meist in der Datenbank oder in einer Theme-Datei.
wp-config.php eintragen, Konstante DB_PASSWORD), dann jedes WordPress-Administratorkonto.AUTH_KEY bis NONCE_SALT in wp-config.php durch einen neuen Satz, erzeugt unter https://api.wordpress.org/secret-key/1.1/salt/. Alle offenen Sitzungen werden beendet, auch die des Eindringlings.wp config shuffle-salts
Im Stammverzeichnis der Website, manchmal auch in einem Unterordner, kann .htaccess Rewrite-Regeln enthalten, die der Eindringling hinzugefügt hat. Der Block, den WordPress selbst schreibt, ist kurz und steht zwischen # BEGIN WordPress und # END WordPress:
# BEGIN WordPress
# Die Direktiven (Zeilen) zwischen „BEGIN WordPress“ und „END WordPress“ sind
# dynamisch generiert und sollten nur über WordPress-Filter geändert werden.
# Alle Änderungen an den Direktiven zwischen diesen Markierungen werden überschrieben.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Eine RewriteCond, die %{HTTP_REFERER} (google, bing, facebook) oder %{HTTP_USER_AGENT} (android, iphone, mobile) prüft, gefolgt von einer RewriteRule zu einer externen Adresse, ist die Weiterleitung. Cache- und Sicherheits-Plugins schreiben ebenfalls eigene Blöcke, mit ihrem Namen gekennzeichnet: gleichen Sie jeden Block mit der Liste Ihrer Plugins ab, bevor Sie ihn entfernen.
WP-CLI vergleicht die Dateien des WordPress-Kerns und der Plugins mit den Prüfsummen, die WordPress.org veröffentlicht, und listet jede geänderte oder hinzugefügte Datei auf:
wp core verify-checksums
wp plugin verify-checksums --all
Der zweite Befehl deckt die Plugins ab, die über das Verzeichnis von WordPress.org verteilt werden. Ein beim Hersteller gekauftes Plugin vergleichen Sie mit einer frischen Kopie aus Ihrem Kundenkonto dort. Dieser Fall ist häufig: von den 540 WordPress-Websites von KMU aus unserer Erhebung vom 1. September 2026 tragen 66 % mindestens ein Plugin, das nicht im öffentlichen Verzeichnis steht.
Ohne WP-CLI liefern zwei Suchen eine erste Auswahl:
find . -name "*.php" -mtime -30
find wp-content/uploads -name "*.php"
Die erste listet die PHP-Dateien, die in den letzten 30 Tagen geändert wurden, die zweite die PHP-Dateien im Medienordner, wo sie grundsätzlich verdächtig sind (manche Plugins legen dort eine leere index.php ab, das ist in Ordnung). Ein Änderungsdatum lässt sich fälschen: eine alte Datei am falschen Ort verdient trotzdem einen Blick.
Öffnen Sie zuerst wp-config.php, die index.php im Stammverzeichnis, functions.php und header.php des aktiven Themes und den Ordner wp-content/mu-plugins: die Plugins darin werden automatisch geladen und lassen sich im Dashboard nicht deaktivieren. Achten Sie auf eval(, base64_decode(, gzinflate(, str_rot13(, lange unlesbare Zeichenketten oder window.location, gefolgt von einer Adresse, die Sie nicht kennen.
Eine JavaScript-Weiterleitung wird gern in Seiteninhalte oder Einstellungen geschrieben, wo keine Datei sie zeigt. WP-CLI durchsucht alle WordPress-Tabellen nach einer Zeichenkette:
wp db search "<script"
wp db search "fromCharCode"
Ohne WP-CLI starten Sie dieselben Suchen in phpMyAdmin, im Reiter SQL:
SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%<script%';
SELECT option_name FROM wp_options WHERE option_value LIKE '%<script%';
Manche Treffer sind legitim: ein Statistik-Werkzeug, ein Cookie-Banner oder ein Widget, das Sie selbst eingebunden haben. Was zu nichts passt, das Sie installiert haben, verdient eine genauere Prüfung, besonders ein Skript, das eine Adresse aus Zeichencodes zusammensetzt.
Unter Einstellungen > Allgemein müssen „WordPress-Adresse (URL)“ und „Website-Adresse (URL)“ Ihre eigene Domain zeigen. Dieselben Werte können in wp-config.php mit den Konstanten WP_HOME und WP_SITEURL festgelegt sein: prüfen Sie beide Stellen.
wp option get home
wp option get siteurl
wp user list --role=administrator
Sind die Konstanten definiert, geben die ersten beiden Befehle deren Wert zurück. Der letzte listet die Administratoren mit ihrem Registrierungsdatum auf; im Dashboard erhalten Sie dieselbe Liste über das Menü Benutzer, gefiltert nach der Rolle Administrator. Ein Konto, das keiner zuordnen kann, wird gelöscht, und seine Inhalte werden einem legitimen Konto zugewiesen.
Die Zeile zu löschen, die weiterleitet, beendet das Symptom. Der Zugang des Eindringlings bleibt offen, solange er nicht gefunden ist, und die Weiterleitung kehrt in den folgenden Tagen zurück. Die Reihenfolge, die sich bewährt:
wp-admin und wp-includes und führen Sie dann wp core download --skip-content --force aus, das den Kern neu schreibt, ohne Ihre Plugins, Themes und Medien anzufassen. Der Befehl überschreibt vorhandene Dateien, löscht aber keine hinzugefügte Datei: deshalb werden die beiden Ordner zuerst gelöscht, und deshalb entfernen Sie unbekannte PHP-Dateien im Stammverzeichnis von Hand.wp-content/uploads, die hinzugefügten Regeln aus .htaccess und die in der Datenbank gefundenen Skripte.wp cron event list: eine Aufgabe mit unbekanntem Namen kann den Code wieder einsetzen.Speichert die Website personenbezogene Daten (Formulare, Kundenkonten, Bestellungen), notieren Sie die Uhrzeit, zu der Sie den Hack festgestellt haben. In der Europäischen Union sieht die DSGVO vor, eine Verletzung des Schutzes personenbezogener Daten unverzüglich und möglichst binnen 72 Stunden, nachdem sie bekannt wurde, der Aufsichtsbehörde zu melden, es sei denn, sie führt voraussichtlich zu keinem Risiko für die Rechte und Freiheiten der betroffenen Personen.
Erkennt Google die Weiterleitung, kann Chrome vor dem Öffnen der Website eine rote Seite „Gefährliche Website“ anzeigen, und Google kann unter Ihrem Suchergebnis „Diese Website wurde möglicherweise gehackt“ einblenden. Der Bericht Sicherheitsprobleme in der Google Search Console zeigt, was festgestellt wurde und unter welchen Adressen. Ist die Website bereinigt, startet Überprüfung anfordern die Kontrolle.
Ist die Weiterleitung entfernt, bleibt eine Frage: Wer kümmert sich künftig um die Website? Simafri übernimmt Ihre WordPress-Website, stellt sie auf einer Basis wieder online, die wir hosten, sichern und aktuell halten, und kümmert sich danach Monat für Monat darum. Sie behalten Ihren Domainnamen und Ihre Inhalte.
Der eingeschleuste Code liest den User-Agent des Browsers und leitet nur Smartphones weiter. Wer die Website betreut, meist am Computer, sieht nichts davon. Testen Sie mit einem Smartphone über mobile Daten oder mit curl und der Kennung eines mobilen Browsers.
Eine Neuinstallation des Kerns schreibt die WordPress-Dateien neu, ohne die Dateien zu löschen, die ein Eindringling hinzugefügt hat. Datenbank, Theme, Plugins und Medienordner bleiben, wie sie sind, und genau dort stecken die Weiterleitung und der Zugang des Eindringlings meistens. Der frische Kern ist ein Schritt der Bereinigung, zusammen mit Datenbank, Plugins, Konten und Passwörtern.
Weil der Zugang, über den sie gesetzt wurde, noch besteht: ein hinzugefügtes Administratorkonto, eine in den Medien versteckte PHP-Datei, eine geplante Aufgabe, ein verwundbares Plugin. Jeder davon erlaubt es, den Code nach der Bereinigung wieder einzusetzen. Prüfen Sie die Konten, den Ordner wp-content/uploads, die geplanten Aufgaben und die Plugin-Versionen, und ändern Sie danach die Passwörter erneut.
Öffnen Sie die Google Search Console und dort den Bericht Sicherheitsprobleme: er listet die erkannten Probleme und Beispiel-URLs auf. Ist die Website noch nicht in der Search Console bestätigt, deckt die Bestätigung per DNS-Eintrag die gesamte Domain ab.
Simafri
Sprechen wir über Ihr Vorhaben
Sagen Sie uns in wenigen Worten, was Sie brauchen: Wir melden uns schnell bei Ihnen.
Vielen Dank! Ihre Anfrage wurde gesendet. Wir melden uns in Kürze bei Ihnen.
Sie schreiben lieber eine E-Mail? Schreiben Sie uns an support@simafri.com.