Pourquoi le search-replace serialisation-safe
Comment changer l'URL d'un site WordPress sans corrompre les donnees serialisees.
Le probleme
WordPress stocke beaucoup d'options sous forme de donnees PHP serialisees. Ce format encode la longueur de chaque chaine. Si vous remplacez une URL par une autre de longueur differente avec un simple rechercher/remplacer SQL, la longueur declaree ne correspond plus, et WordPress n'arrive plus a lire la donnee.
Un exemple concret
Une option siteurl serialisee. Le s:25 indique une chaine de 25 caracteres.
a:1:{s:7:"siteurl";s:25:"https://ancien-domaine.com";}
Remplacement naif (longueur fausse, donnee corrompue) :
a:1:{s:7:"siteurl";s:25:"https://nouveau-domaine.com";}
Serialisation-safe (longueur recalculee) :
a:1:{s:7:"siteurl";s:26:"https://nouveau-domaine.com";}
Comment l'outil s'y prend
- Il de-serialise la valeur si elle l'est.
- Il parcourt recursivement tableaux, objets et chaines imbriques.
- Il remplace l'ancienne chaine par la nouvelle.
- Il re-serialise : PHP recalcule alors automatiquement les longueurs.
Resultat : on peut changer de domaine avec des longueurs differentes sans jamais casser un widget, un menu ou un reglage Elementor.
Migrez un WordPress sans prise de tete
WP Migrate Toolkit deplace fichiers + base par FTP, sans SSH.
Telecharger le CLI Telecharger le plugin