Trasladar WordPress a otro dominio sin romper los datos
La primera vez que trasladé un WordPress entre dominios fue para Brave Heart CAC. Cambiar home y siteurl era sencillo; el problema estaba en las URLs guardadas dentro de entradas, widgets y opciones.
La receta inicial de este artículo utilizaba REPLACE() en SQL. La he sustituido porque un reemplazo de texto directo puede romper los valores serializados de WordPress.
Antes del cambio
Prepara una copia de archivos y base de datos, comprueba que el nuevo dominio tiene HTTPS y anota el prefijo de tablas. Ejecuta WP-CLI desde la instalación correcta, con el usuario del sitio.
Simular el reemplazo
wp search-replace 'https://antiguo.example' 'https://nuevo.example' \
--all-tables-with-prefix --skip-columns=guid --dry-run
Revisa las tablas y cantidades del informe. El comando conserva las estructuras serializadas y excluye guid, que identifica contenido y no debe tratarse como un enlace de navegación.
Si la simulación corresponde al sitio que quieres migrar, repite la operación sin --dry-run:
wp search-replace 'https://antiguo.example' 'https://nuevo.example' \
--all-tables-with-prefix --skip-columns=guid
Es una receta para una instalación individual; una red multisitio necesita revisar también su configuración de dominios. Si WP_HOME o WP_SITEURL están definidos en configuración, revisa esos valores aparte.
Lo que comprobaría al terminar
- Inicio, login, imágenes y enlaces permanentes.
- Formularios y servicios que dependan del dominio.
- Canonical, sitemap y redirecciones del dominio anterior.
- Cachés del sitio, servidor y CDN.
Conserva el dominio anterior durante la transición y redirige cada URL a su equivalente. La referencia del comando está en WP-CLI: search-replace.
0 comentarios
Sé concreto, añade contexto (versión, distro, stack) y si puedes pega logs en bloque de código. Menos drama, más señales.