Estrategias avanzadas de implementación
Conoce más sobre la migración de sitios web a Astro y Next.js en WPPoland.
Cambiar el dominio de un sitio WordPress parece simple en teoria: solo reemplaza la URL vieja con la nueva en la base de datos. En la práctica, un enfoque ingenuo puede destruir tu sitio completamente. Esta guía explica por que y como hacerlo correctamente.
El problema: Serializacion PHP
WordPress almacena muchas configuraciónes como datos serializados en la base de datos. La serializacion PHP incluye la longitud de cada cadena de texto:
s:26:"https://viejo-dominio.com";
El s:26 significa “cadena de 26 caracteres”. Si simplemente haces un REPLACE SQL para cambiar la URL:
-- PELIGRO: NUNCA hagas esto!
UPDATE wp_options SET option_value = REPLACE(option_value, 'viejo-dominio.com', 'nuevo-dominio.com');
La longitud de la cadena cambia pero el prefijo s:26 no se actualiza. WordPress no puede leer los datos corruptos y el resultado es:
- Tema restablecido al predeterminado
- Widgets desaparecidos de todas las barras laterales
- Opciones del Customizer perdidas
- Configuraciónes de plugins rotas
- Menús de navegación destruidos
La solución: Herramientas conscientes de serializacion
Las herramientas correctas deserializan los datos, hacen el reemplazo, recalculan la longitud de la cadena y vuelven a serializar. Esto preserva la integridad de los datos.
Método 1: WP-CLI (Recomendado)
WP-CLI es la herramienta de linea de comandos oficial de WordPress. Su comando search-replace es consciente de la serializacion por defecto.
Paso 1: Backup pre-vuelo
# Exportar base de datos completa
mysqldump -u usuario -p nombre_bd > backup-$(date +%Y%m%d).sql
# O usar WP-CLI para el backup
wp db export backup-pre-migración.sql
Paso 2: Dry run (simulacion)
Siempre ejecuta primero un dry run para ver que se cambiaria:
wp search-replace 'https://viejo-dominio.com' 'https://nuevo-dominio.com' --all-tables --precise --dry-run
La salida te mostrara cuantos reemplazos se harian en cada tabla:
+-------------------+---------+---------+
| Table | Column | Replace |
+-------------------+---------+---------+
| wp_options | 43 | 43 |
| wp_posts | 156 | 156 |
| wp_postmeta | 89 | 89 |
| wp_comments | 12 | 12 |
+-------------------+---------+---------+
Paso 3: Ejecutar el reemplazo
Si el dry run se ve correcto:
wp search-replace 'https://viejo-dominio.com' 'https://nuevo-dominio.com' --all-tables --precise
Paso 4: No olvides HTTP vs HTTPS
Si también estas cambiando de HTTP a HTTPS, necesitas un segundo paso:
wp search-replace 'http://viejo-dominio.com' 'https://nuevo-dominio.com' --all-tables --precise
Paso 5: Limpieza post-migración
# Regenerar permalinks
wp rewrite flush
# Limpiar cache
wp cache flush
# Verificar que el sitio carga correctamente
wp option get siteurl
wp option get home
Método 2: Better Search Replace (Plugin)
Si no tienes acceso SSH o WP-CLI, el plugin “Better Search Replace” hace lo mismo desde el panel de WordPress.
- Instala y activa el plugin
- Ve a Herramientas > Better Search Replace
- Ingresa la URL vieja en “Buscar”
- Ingresa la URL nueva en “Reemplazar con”
- Selecciona TODAS las tablas
- Marca “Ejecutar como simulacion” primero
- Revisa los resultados
- Desmarca “Ejecutar como simulacion” y ejecuta
Ventajas de Better Search Replace
- No requiere acceso SSH
- Interfaz visual fácil de usar
- Soporta serializacion
- Modo de simulacion integrado
Desventajas
- Mas lento para bases de datos grandes
- Puede causar timeout en servidores con limites estrictos
- Requiere acceso al panel de WordPress (que puede no funcionar si las URLs estan rotas)
Método 3: Interconnect/it Search Replace DB
Para emergencias cuando ni WP-CLI ni el panel de WordPress estan disponibles:
- Descarga el script desde interconnectit.com
- Subelo a la raiz de tu sitio WordPress via FTP
- Accede via navegador:
https://tusitio.com/Search-Replace-DB-master/ - Ingresa la URL vieja y la nueva
- Ejecuta el dry run, luego el reemplazo real
- ELIMINA EL SCRIPT INMEDIATAMENTE despues de usarlo (es un riesgo de seguridad crítico)
Configuración temporal de wp-config.php
Si tu sitio no carga despues de mover la base de datos al nuevo servidor (porque las URLs todavia apuntan al dominio viejo), agrega estas lineas a wp-config.php temporalmente:
define( 'WP_HOME', 'https://nuevo-dominio.com' );
define( 'WP_SITEURL', 'https://nuevo-dominio.com' );
Esto te permite acceder al panel para ejecutar el search-replace. Despues de completar el reemplazo, elimina estas lineas para que WordPress use los valores de la base de datos.
Checklist completa de migración
Antes de la migración
- Backup completo de la base de datos
- Backup de todos los archivos (wp-content completo)
- Documentar todas las URLs actuales
- Verificar que el nuevo dominio tiene SSL
- Informar a los motores de búsqueda del cambio (GSC)
Durante la migración
- Importar base de datos en el nuevo servidor
- Actualizar wp-config.php con nuevas credenciales
- Ejecutar WP-CLI search-replace (con dry-run primero)
- Verificar HTTP y HTTPS por separado
- Comprobar que el sitio carga correctamente
Despues de la migración
- Regenerar permalinks (Ajustes > Enlaces permanentes > Guardar)
- Limpiar todo el cache
- Verificar que robots.txt no bloquea la indexacion
- Configurar redirecciones 301 del dominio viejo al nuevo
- Actualizar la propiedad en Google Search Console
- Actualizar sitemaps
- Verificar que todos los formularios funcionan
- Comprobar que las imágenes cargan correctamente
- Probar el checkout si tienes WooCommerce
- Monitorear GSC durante 30 dias para errores
Errores comunes que debes evitar
- Usar SQL REPLACE directamente: Corrompe datos serializados.
- Olvidar HTTP vs HTTPS: URLs mixtas causan contenido no seguro.
- No hacer backup: Sin red de seguridad si algo sale mal.
- Dejar el script Search-Replace-DB: Cualquiera puede acceder y modificar tu base de datos.
- No actualizar wp-config.php: Credenciales viejas impiden la conexión.
- Olvidar las redirecciones 301: Pierdes todo el SEO acumulado en el dominio viejo.
- No verificar media uploads: Las rutas de imágenes pueden necesitar actualización adicional.
Migración y SEO
Cambiar de dominio es una de las operaciones más riesgosas para el SEO. Para minimizar el impacto:
- Redirecciones 301: Cada URL del dominio viejo debe redirigir a su equivalente en el nuevo dominio.
- Google Search Console: Usa la herramienta de “Cambio de dirección” para informar a Google.
- Sitemaps: Envia los nuevos sitemaps inmediatamente despues de la migración.
- Monitoreo: Vigila de cerca el tráfico organico durante 30-60 dias post-migración.
Necesitas ayuda con la migración de tu sitio WordPress? Nuestro equipo de desarrollo WordPress tiene amplia experiencia en migraciones seguras. Contactanos.


