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.

The change

Read this before you run anything

WordPress stores many options as PHP-serialized strings, and a serialized string records its own byte length — s:19:"http://old-site.com". A plain SQL replace changes the text but not the length, so PHP can no longer unserialize the row. It does not error. The value just silently becomes empty.

What you lose: widget configuration, theme mods, and most plugin settings. Usually you do not notice until days later, and by then the backup you would have restored is gone too.

This is why the queries below deliberately do not touch wp_options.

What are you moving?
search-replace.sql

Take a database backup first. Not 'consider taking one' — take one. There is no undo for an UPDATE.

Ü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.