Warum search-replace serialisation-safe
Wie man die URL einer WordPress-Website ändert, ohne die serialisierten Daten zu beschädigen.
Das Problem
WordPress speichert viele Optionen in Form von PHP-serialisierten Daten. Dieses Format kodiert die Länge jeder Zeichenkette. Wenn Sie eine URL durch eine andere mit unterschiedlicher Länge mit einem einfachen SQL-Suchen/Ersetzen ersetzen, stimmt die angegebene Länge nicht mehr überein, und WordPress kann die Daten nicht mehr lesen.
Ein konkretes Beispiel
Eine serialisierte siteurl-Option. Das s:25 gibt eine Zeichenkette von 25 Zeichen an.
a:1:{s:7:"siteurl";s:25:"https://ancien-domaine.com";}
Naiver Ersatz (falsche Länge, Daten beschädigt):
a:1:{s:7:"siteurl";s:25:"https://nouveau-domaine.com";}
Serialisation-safe (Länge neu berechnet):
a:1:{s:7:"siteurl";s:26:"https://nouveau-domaine.com";}
Wie das Tool vorgeht
- Es deserialisiert den Wert, falls er serialisiert ist.
- Es durchläuft rekursiv verschachtelte Arrays, Objekte und Zeichenketten.
- Es ersetzt die alte Zeichenkette durch die neue.
- Es serialisiert neu: PHP berechnet dann automatisch die Längen neu.
Ergebnis: Man kann die Domain mit unterschiedlichen Längen ändern, ohne jemals ein Widget, ein Menü oder eine Elementor-Einstellung zu zerstören.
Migriere eine WordPress-Site ohne Stress
WP Migrate Toolkit verschiebt Dateien + Datenbank per FTP, ohne SSH.
CLI herunterladen Plugin herunterladen