Zum Inhalt springen
Tools

Suchen & Ersetzen per SQL

Ändere deine Website-URL, ohne serialisierte Daten zu beschädigen

Läuft in deinem Browser. Nichts wird hochgeladen.

Die Änderung

Lies das, bevor du irgendetwas ausführst

WordPress speichert viele Optionen als PHP-serialized Strings, und ein serialisierter String speichert seine eigene Byte-Länge — s:19:"http://old-site.com". Ein einfaches SQL-Replace ändert den Text, aber nicht die Länge, sodass PHP die Zeile nicht mehr deserialisieren kann. Es wird kein Fehler ausgelöst. Der Wert wird einfach stillschweigend leer.

Was du verlierst: Widget-Konfiguration, Theme-Anpassungen und die meisten Plugin-Einstellungen. Meist merkst du es erst Tage später, und bis dahin ist auch das Backup weg, das du hättest zurückspielen können.

Deshalb rühren die untenstehenden Abfragen wp_options bewusst nicht an.

Was verschiebst du?
search-replace.sql

Erstelle zuerst ein Datenbank-Backup. Nicht „überleg dir, eins zu machen" — mach eins. Für ein UPDATE gibt es kein Rückgängig.

Über das Suchen & Ersetzen per SQL

Ein naives Suchen und Ersetzen per SQL in einer WordPress-Datenbank zerstört jede serialisierte Option, die es berührt, weil die gespeicherte String-Länge nicht mehr passt. Dieses Tool generiert die Abfragen, die sicher sind, und erklärt genau, welche es nicht sind.

FAQ

Fragen

Kann ich meine WordPress-Site-URL mit einem SQL-Suchen-und-Ersetzen ändern?

Nicht sicher, und das ist der meistgeteilte schlechte Rat im WordPress-Umfeld. Viele Optionen sind als PHP-serialisierte Strings gespeichert, die ihre eigene Bytelänge festhalten. Ein einfaches SQL-Replace ändert den Text, aber nicht die Länge, sodass PHP die Zeile still nicht deserialisieren kann und der Wert einfach verschwindet – und nimmt Widget-Einstellungen, Theme-Mods und Plugin-Konfiguration mit.

Was sollte ich stattdessen verwenden?

WP-CLI: erst „wp search-replace old new --all-tables --dry-run“, dann ohne --dry-run. Es versteht Serialisierung und schreibt die Längenpräfixe korrekt neu. Wenn du keinen CLI-Zugang hast, macht das Plugin Better Search Replace dasselbe aus dem Admin heraus.

Sollte ich die GUID-Spalte aktualisieren?

Nein. Die GUID ist eine dauerhafte eindeutige Kennung für einen Beitrag, kein Link, und Feed-Reader orientieren sich daran. Sie umzuschreiben führt dazu, dass jeder Abonnent jeden alten Beitrag als brandneu sieht. Die WordPress-Dokumentation sagt ausdrücklich, sie nicht zu ändern.