WordPress Datenbank anpassen mit Search and Replace PHP Skript anpassen und Einträge verändern

Wer professionell mit WordPress arbeitet, kommt um gelegentliche Änderungen an der MySQL-Datenbank nicht herum. Damit der Laie aber nicht wahllos via SQL in den DB-Tables herumfuchtelt und mehr Schaden als Nutzen stiftet, setzen wir (Profis) für etwaige Änderungen ein simples aber mächtiges Tool ein: Database Search and Replace Skript für WordPress. Dieses Skript kann sehr einfach alle Einträge in den DB-Tables verändern und umgeht so eine manchmal umständliche Nutzung der SQL Anfragesprache, die nicht jeder perfekt beherrscht. Und selbst bei perfekter Anwendungsfähigkeit kostet die manuelle SQL-Abfrage in einigen Fällen deutlich mehr Zeit, als bei der Nutzung von Tools wie Search and Replace anfällt, das du übrigens direkt über den Entwickler interconnect/it herunterladen kannst.

Wichtiger Hinweis: Das Search and Replace Tool arbeitet direkt in der Datenbank. Bei unsachgemäßer Anwendung kann das Tool den Shutdown deiner gesamten Webseite zur Folge haben und/oder weitere Schäden verursachen. Beachte also zwingend die Anwendungsinformationen des Entwicklers interconnect/it. Sollte dein technisches Verständnis für eine fehlerfreie Umsetzung der Schritte nicht ausreichen, suche dir eine kompetente Hilfe in der Nachbarschaft, im Freundeskreis, im Supermarkt oder bei unserem WordPress Service. Ein Backup der Datenbank sollte zudem vor jeder weitreichenden Änderung erfolgen. Sicher ist sicher.

Database Search and Replace installieren

Nach dem Download entpackst du das ZIP und gibst dem Ordner einen willkürlichen Namen, z.B. den Nachnamen deines Nachbarn oder den Vornamen deiner Schwiegermutter. Ein nicht-generischer Name ist besonders wichtig, weil Search and Replace falsch angewendet ein absolut folgenschweres Sicherheitsrisiko für deine Webseite darstellt. Warum?

Das Verzeichnis, das wir gleich auf den Webserver hochladen, ist über einen einfachen Pfad direkt im Root-Verzeichnis der WordPress Webseite aufrufbar. Das bedeutet aber auch, dass in dieser Zeit (theoretisch) fast jeder Dritte Zugriff auf das Tool erlangen kann und damit auch die Daten der Datenbank verändern oder auslesen kann. Dass das absolut unpässlich ist, muss ich dir wohl nicht erklären.

Auch wenn das Risiko eher durch Skripte als durch böswillige Webseiten-Besucher ausgenutzt wird, stellt es unabhängig davon eine große Gefahr für die Sicherheit der Webseite dar. An dieser Stelle sei ausnahmsweise erwähnt, dass die Arbeit mit der SQL Anfragesprache direkt in der Datenbank in der Theorie die sicherere Methode darstellt. Vorausgesetzt, du weißt, was du da tust.

Bei sachgemäßem Umgang verringerst du das Risiko aber auf ein zu vernachlässigendes Minimum. Mehr zum Thema Sicherheit bei WordPress findest du in unserem Security Guide.

Gut, weiter im Programm. Nach der Umbenennung des Ordners lädst du den gesamten Ordner in das Hauptverzeichnis der WordPress Installation via FTP-Client (z.B. FileZilla) hoch. Das Hauptverzeichnis (auch root-Verzeichnis) ist das Verzeichnis, in dem sich alle wichtigen Primärdateien und Unterverzeichnisse von WordPress befinden (wp-admin, wp-content etc.).

Dieser Schritt ist besonders wichtig, weil das Search and Replace Skript darauf ausgelegt ist, aus dem root-Verzeichnis heraus zu arbeiten. Eine andere Positionierung innerhalb der Ordnerstruktur macht das Tool funktionsunfähig und kann sogar Schaden verursachen. Also: Halt dich an’s Handbuch!

Search and Replace in das Rootverzeichnis von WordPress hochladen.

Das Search and Replace Script muss im WP-Rootverzeichnis liegen, damit es funktioniert.

 

Spätestens jetzt solltest du noch einmal sicherstellen, dass du ein aktuelles Backup deiner MySQL-Datenbank angelegt hast, das im Worst Case eine zerstörte Datenbank wiederherstellen kann. Nach dem Upload navigierst du via Browser zu dem directory. Das könnte dann in etwa wie folgt aussehen: www.website.com/searchreplacefoldername.

Der folgende Screenshot zeigt die Benutzeroberfläche des Tools:

Das Search and Replace Tool bietet ein übersichtliches GUI für die einfache Benutzung

In der GUI wird im „replace“ Feld der zu ersetzende Datenbankeintrag eingetragen, der durch das „with“ dann restlos ersetzt wird. Wenn du das Tool richtig installiert hast, zieht es sich die Datenbankinformationen selbständig aus der Installation heraus. Vorsichtshalber sollten diese Informationen aber noch einmal kontrolliert werden, damit der Schuss nicht versehentlich nach hinten losgeht. Vertrauen ist gut, Kontrolle ist…

Die Option „regex“ (regular expressions) muss nicht aktiviert werden, solange keine regulären Ausdrücke für die Selektion von Datenbankinhalten verwendet werden. Die „all tables“ Option sollte allerdings in Abhängigkeit zur geplanten Änderung aktiv sein. Werden Hauptverzeichnisse bzw. Primär-Tabellen verändert, ist diese Funktion unumgänglich.

Nach dem Setup der Informationen sollte ein kurzer „dry run“ ausgeführt werden, der dann alle potentiellen Änderungen in der Datenbank auflistet (changes). Wenn hier alles glatt läuft und keine Fehlermeldung auftritt, kann der „live run“ gestartet werden, der schließlich alle Transaktionen in der Datenbank verändert und persistent macht.

Wichtig: Nach dem erfolgreichen Abschluss des Prozesses sollte die „delete me“ Funktion genutzt werden, um das gesamte Search and Replace directory vom Webspace zu entfernen. Etwaige Dateireste können auch manuell via FTP entfernt werden, indem der entsprechende Ordner manuell vom Webserver gelöscht wird. Hier ist absolute Sorgfalt geboten, damit das Tool nicht unbemerkt zum Sicherheitsrisiko wird.