~/cuaderno / 2020 / entrada-719.md

Trasladar WordPress a otro dominio sin romper los datos

Publicado 20 agosto 2020 2 min de lectura Revisado 14 septiembre 2026
Wordpress / cambio de dominio. Una sustitución que respeta los datos serializados

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.

Compartir: X / Twitter LinkedIn Reddit Email
Siguiente comando: volver al archivo o pulsa Ctrl + K

0 comentarios

TIP RÁPIDO

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.

nginx plesk mariadb logs

Deja una respuesta

NormaRespeto, claridad, y cero spam. El email no se publica.

Consejo: usa bloques de código para logs. Ej: ```log ... ```

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.