<- Todos los artículos
Migración WordPress
Por qué el search-replace es seguro para la serialización
Cómo cambiar la URL de un sitio WordPress sin corromper los datos serializados.
El problema
WordPress almacena muchas opciones en forma de datos serializados en PHP. Este formato codifica la longitud de cada cadena. Si reemplazas una URL por otra de diferente longitud con una simple búsqueda/reemplazo en SQL, la longitud declarada ya no coincide, y WordPress no puede leer el dato.
Un ejemplo concreto
Una opción siteurl serializada. El s:25 indica una cadena de 25 caracteres.
a:1:{s:7:"siteurl";s:25:"https://ancien-domaine.com";}
Reemplazo ingenuo (longitud incorrecta, dato corrupto):
a:1:{s:7:"siteurl";s:25:"https://nouveau-domaine.com";}
Seguro para la serialización (longitud recalculada):
a:1:{s:7:"siteurl";s:26:"https://nouveau-domaine.com";}
Cómo lo hace la herramienta
- Deserializa el valor si lo está.
- Recorre recursivamente arreglos, objetos y cadenas anidadas.
- Reemplaza la cadena antigua por la nueva.
- Reserializa: PHP recalcula entonces automáticamente las longitudes.
Resultado: se puede cambiar de dominio con longitudes diferentes sin romper un widget, un menú o una configuración de Elementor.
Migra un WordPress sin complicaciones
WP Migrate Toolkit mueve archivos + base por FTP, sin SSH.
Descargar el CLI Descargar el plugin