La migración de mi WordPress ha fallado: ¿qué hago?

¿La migración de su WordPress ha fallado o ha dejado el sitio a medio trasladar? Descubra qué puede haber salido mal, qué comprobaciones son seguras y por qué no debe borrar todavía el sitio antiguo.

Abrir un ticket de soporte

Una migración de WordPress consiste en trasladar una web a un servidor nuevo, a un nuevo proveedor de hosting o a un dominio nuevo. Cuando falla, la web puede quedarse en un punto intermedio incómodo: en parte en el servidor antiguo, en parte en el nuevo, y sin funcionar del todo en ninguno de los dos.

Puede que note que:

  • la web nueva muestra errores o una página en blanco
  • las páginas cargan, pero faltan imágenes
  • los enlaces o la página de acceso le devuelven al dominio antiguo
  • el navegador muestra una advertencia de "no seguro"
  • algunos visitantes ven la web antigua y otros la nueva
  • la importación de la base de datos se ha detenido con un error
  • no se puede acceder al escritorio

Una migración fallida puede ser estresante, sobre todo si la web forma parte de su negocio. Sin embargo, mientras sigan existiendo la web original y una copia de seguridad, la situación casi siempre tiene arreglo.

La regla más importante es sencilla: no elimine la web antigua hasta haber revisado por completo la nueva.

Esta guía explica qué suele salir mal durante una migración, qué puede comprobar sin riesgo, qué debe evitar y cuándo es mejor pedir soporte técnico.

¿Qué suele significar una migración fallida?

Una web WordPress se compone de dos partes principales:

  • los archivos: el propio WordPress, los temas, los plugins y los archivos multimedia subidos
  • la base de datos: páginas, entradas, ajustes, usuarios, pedidos y mucho más

Una migración copia ambas partes a la nueva ubicación, las conecta y después apunta el dominio al nuevo servidor.

Una migración falla cuando uno de estos pasos está incompleto o es incorrecto. Por ejemplo:

  • no se han copiado algunos archivos
  • la base de datos solo se ha importado en parte
  • los ajustes de la web siguen haciendo referencia a la dirección antigua
  • el dominio sigue apuntando al servidor antiguo
  • el nuevo servidor está configurado de otra manera

La buena noticia es que cada uno de estos problemas se puede comprobar por separado.

¿Qué puede haber salido mal?

El sitio solo se ha migrado a medias

En las webs grandes, la transferencia puede agotar el tiempo de espera. Un plugin de migración o una subida manual pueden detenerse sin un error claro y dejar atrás algunos archivos o tablas de la base de datos.

Las señales típicas son imágenes que faltan, plugins que faltan, un tema que se ve roto o páginas que no existen en el sitio nuevo.

Los enlaces y las imágenes apuntan al dominio antiguo

WordPress guarda la dirección de la web en sus ajustes y dentro del contenido: en enlaces, en rutas de imágenes y en algunos ajustes de plugins. Si el dominio ha cambiado y estas referencias no se han actualizado, el sitio nuevo puede cargar imágenes desde el servidor antiguo o enviar a los visitantes de vuelta a él.

Puede que todo parezca correcto mientras el sitio antiguo siga en línea, y que se rompa en cuanto se apague.

Advertencias de contenido mixto

Si el sitio nuevo usa HTTPS pero parte del contenido se sigue cargando por HTTP, los navegadores pueden mostrar una advertencia de "no seguro" o bloquear partes de la página. Suele ocurrir después de pasar a un dominio nuevo o de activar un certificado SSL durante la migración.

El DNS todavía no se ha propagado

Cuando el dominio se apunta a un servidor nuevo, el cambio no se ve en todas partes a la vez. Durante un tiempo, algunos visitantes pueden llegar al servidor antiguo y otros al nuevo. Es normal, pero puede resultar confuso durante las pruebas.

El sitio antiguo sigue en línea y recibiendo pedidos

Este es el riesgo más importante para las webs de ecommerce y de membresía.

Si los clientes siguen haciendo pedidos, registrándose o enviando formularios en el sitio antiguo después de copiar la base de datos, esos datos nuevos existen solo en el servidor antiguo. Si después se elimina el sitio antiguo, los datos pueden perderse. Si ambos sitios siguen en línea, sus datos acaban repartidos entre dos lugares.

Errores al importar la base de datos

La importación de la base de datos puede fallar porque:

  • el archivo supera el límite de subida
  • la importación agota el tiempo de espera
  • el nuevo servidor de base de datos usa una versión distinta
  • un juego de caracteres o una intercalación (collation) no son compatibles
  • el prefijo de tablas no coincide con wp-config.php

Una base de datos importada a medias puede producir errores, contenido que falta o el mensaje "Error al establecer una conexión con la base de datos".

Permisos de archivos y configuración del servidor

En el nuevo servidor, los archivos pueden pertenecer al usuario equivocado o tener permisos incorrectos. Esto puede impedir que WordPress suba archivos multimedia, instale actualizaciones o incluso cargue. Las diferencias en la versión de PHP o en las reglas del servidor también pueden provocar errores que antes no existían.

No elimine la web antigua

Hasta que el sitio nuevo se haya probado por completo, la web antigua es su red de seguridad.

Conserve:

  • la cuenta de hosting antigua activa
  • los archivos y la base de datos antiguos
  • una copia de seguridad completa hecha antes de empezar la migración

Si el sitio antiguo sigue recibiendo pedidos o registros, pregunte a un desarrollador cómo gestionarlo. Según la situación, puede ser mejor ponerlo en modo mantenimiento, redirigirlo o planificar una sincronización final de los datos. Evite tomar esta decisión con prisas, porque determina dónde acaban sus datos.

Primero, entienda dónde se detuvo la migración

Intente responder a estas preguntas:

  • ¿Qué método se usó: un plugin de migración, una herramienta del hosting, una copia manual?
  • ¿Cambió el dominio o solo el servidor?
  • ¿El dominio ya apuntaba al nuevo servidor?
  • ¿El proceso mostró algún mensaje de error?
  • ¿Cuándo se copió la base de datos?
  • ¿Alguien ha hecho pedidos o ha editado contenido desde entonces?
  • ¿La web antigua sigue en línea?

Anote lo que sepa. Incluso una cronología parcial es muy útil.

¿Qué puede comprobar sin riesgo?

Compruebe qué servidor está viendo realmente

Debido a la propagación del DNS y a la caché, puede que esté viendo el sitio antiguo sin darse cuenta. Pregunte a su proveedor de hosting cómo previsualizar el sitio nuevo, o compruebe adónde apunta el dominio (consulte la sección para usuarios con conocimientos técnicos).

Compare el sitio antiguo y el nuevo

Abra las mismas páginas en ambas versiones y compare:

  • la página de inicio y algunas páginas internas
  • las imágenes y las descargas
  • los formularios y la búsqueda
  • la página de acceso y el escritorio
  • la tienda, el carrito y el checkout, si los tiene

Anote qué páginas son distintas o están rotas.

Revise los ajustes de la dirección de la web

Si puede acceder al escritorio en el sitio nuevo, vaya a Settings > General (Ajustes > Generales) y revise la WordPress Address (Dirección de WordPress) y la Site Address (Dirección del sitio). Deben mostrar la dirección nueva.

No las cambie a menos que esté seguro, porque un valor incorrecto puede dejarle sin acceso al escritorio.

Contacte con el proveedor de hosting

El nuevo proveedor de hosting a menudo puede confirmar si los archivos y la base de datos se han importado por completo, facilitar registros de errores y revisar los permisos o los ajustes de PHP. Muchos proveedores también ofrecen ayuda con las migraciones.

¿Qué debe evitar?

Evite:

  • eliminar el sitio antiguo, su base de datos o su cuenta de hosting
  • volver a ejecutar la migración sobre un sitio que funciona a medias sin una copia de seguridad
  • hacer un buscar y reemplazar en la base de datos con un editor de texto o una consulta SQL simple
  • cambiar el DNS una y otra vez
  • dejar abiertos a los pedidos tanto el sitio antiguo como el nuevo
  • poner los permisos de archivos en el ajuste más abierto para "que funcione"
  • editar wp-config.php sin guardar una copia del original

El buscar y reemplazar simple es especialmente arriesgado. Algunos datos de WordPress se guardan en formato serializado, que registra la longitud de cada texto. Cambiar el texto sin actualizar la longitud puede romper los ajustes de plugins, los widgets y las opciones del tema. Las herramientas diseñadas para WordPress gestionan esto correctamente.

¿Cuándo debe pedir soporte técnico?

Se recomienda pedir soporte técnico cuando:

  • la web es una tienda online, un sitio de membresía o un sistema de reservas
  • puede que se hayan hecho pedidos o registros en el sitio antiguo después de la copia
  • la importación de la base de datos ha fallado o no está seguro de que esté completa
  • el dominio ha cambiado y los enlaces siguen apuntando al antiguo
  • no puede acceder al escritorio en el sitio nuevo
  • el sitio antiguo ya se ha eliminado
  • no tiene una copia de seguridad verificada
  • la migración la hizo alguien que ya no está disponible

No necesita entender exactamente dónde falló la migración. Para empezar, basta con describir lo que ve en el sitio antiguo y en el nuevo.

¿Qué información debe recopilar?

Estos datos son útiles:

  • el dominio antiguo y el nuevo, si son distintos
  • el proveedor de hosting antiguo y el nuevo
  • el método o el plugin de migración utilizado
  • la fecha y la hora de la migración
  • cualquier mensaje de error, con capturas de pantalla
  • si el dominio ya se ha apuntado al nuevo servidor
  • si el sitio antiguo sigue en línea
  • si se añadieron pedidos, usuarios o contenidos nuevos después de la copia
  • dónde se guardan las copias de seguridad y cuándo se hicieron

No envíe contraseñas ni credenciales del hosting por correo electrónico normal. D4Hub puede explicarle cómo compartir los accesos de forma segura.

Cómo puede ayudarle D4Hub

El objetivo es terminar el traslado sin perder datos y asegurarse de que la web nueva funcione tan bien como la antigua.

Según la situación, D4Hub puede ayudarle a:

  • comprobar si los archivos y la base de datos se copiaron por completo
  • corregir errores de importación de la base de datos
  • actualizar de forma segura las direcciones antiguas, incluidos los datos serializados
  • resolver problemas de contenido mixto y de SSL
  • revisar los registros DNS y planificar el cambio
  • proteger los pedidos y registros recibidos en el sitio antiguo durante el traslado
  • corregir los permisos de archivos y la configuración del servidor
  • comparar el sitio antiguo y el nuevo página por página
  • coordinarse con el proveedor de hosting antiguo y con el nuevo
  • probar los formularios, el acceso, el checkout y otras funciones importantes
  • decidir cuándo es seguro retirar el sitio antiguo

Puede pedir ayuda en cualquier fase del proceso.

Por ejemplo, D4Hub puede:

  • revisar el plan antes de que lo vuelva a intentar
  • hacerse cargo de una migración que se ha quedado a medias
  • completar todo el traslado y las pruebas
  • revisar el sitio nuevo cuando usted haya terminado
Abrir un ticket de soporte

Para usuarios con conocimientos técnicos: comprobaciones técnicas tras una migración fallida

Las siguientes comprobaciones están pensadas para usuarios que se manejan con un terminal, SFTP y WP-CLI.

Antes de cambiar nada, haga una copia de seguridad nueva de los archivos y de la base de datos del sitio nuevo, y asegúrese de que el sitio antiguo y su copia de seguridad siguen disponibles. Cambie una sola cosa cada vez.

En los ejemplos, sustituya example.com, old-domain.com y new-domain.com por sus propios dominios.

Compruebe adónde apunta el dominio

dig example.com A +short
dig www.example.com +short

Compare el resultado con la dirección IP del servidor antiguo y del nuevo. Para ver lo que devuelve en este momento un resolvedor DNS público, puede consultarlo directamente:

dig @1.1.1.1 example.com A +short
dig @8.8.8.8 example.com A +short

Si distintos resolvedores devuelven direcciones distintas, el cambio todavía se está propagando. Si usa una CDN con el proxy activado, verá las direcciones de la CDN en lugar de las de su servidor.

Compruebe la dirección que usa WordPress

En el nuevo servidor, desde la carpeta de WordPress:

wp option get siteurl
wp option get home

Ambos deben mostrar la dirección nueva, incluido https:// si el sitio usa SSL. Si WP_HOME o WP_SITEURL están definidos en wp-config.php, prevalecen sobre los valores de la base de datos, así que revise también ese archivo.

Sustituya el dominio antiguo de forma segura

Primero, haga una copia de seguridad de la base de datos:

wp db export before-search-replace.sql

Después, haga una ejecución de prueba. Muestra cuántas sustituciones se harían, sin cambiar nada:

wp search-replace 'https://old-domain.com' 'https://new-domain.com' --dry-run

wp search-replace gestiona correctamente los datos serializados, algo que una sustitución SQL simple no hace. Revise el resultado con atención: compruebe que el valor antiguo es exacto, incluidos https:// y www si se usan, para no sustituir texto que no tenga relación.

Muchos desarrolladores añaden --skip-columns=guid, para que no se modifiquen los identificadores internos de las entradas. Ejecute el comando sin --dry-run solo cuando esté conforme con la vista previa y tenga la copia de seguridad.

Después de la sustitución, vacíe cualquier caché y revise algunas páginas e imágenes.

Busque contenido mixto

Abra una página en el navegador, abra las herramientas para desarrolladores y revise la pestaña Console. Las advertencias de contenido mixto enumeran los recursos cargados mediante http://. Suelen proceder de direcciones antiguas en el contenido, en los ajustes del tema o en los datos del constructor de páginas.

Compare el número de archivos y de tablas

Tanto en el servidor antiguo como en el nuevo, cuente los archivos de wp-content:

find wp-content -type f | wc -l

Y las tablas de la base de datos:

wp db tables --all-tables | wc -l

No es necesario que las cifras coincidan exactamente, por ejemplo por los archivos de caché, pero una gran diferencia indica una copia incompleta. También puede comparar el tamaño de la carpeta de subidas:

du -sh wp-content/uploads

Compruebe además que el valor de $table_prefix en wp-config.php coincide con el prefijo de las tablas importadas.

Revise la base de datos

wp db check

Este comando revisa las tablas en busca de errores. Si la importación falló con un error de intercalación o de juego de caracteres, puede que el nuevo servidor de base de datos sea más antiguo o esté configurado de otra forma. Pregunte al proveedor de hosting qué versiones se usan antes de volver a intentarlo.

Revise los permisos de archivos

Una configuración habitual es 755 para las carpetas y 644 para los archivos, con wp-config.php a menudo más restringido. Los valores correctos y el propietario de los archivos dependen del servidor, así que consúltelo con su proveedor de hosting antes de cambiarlos. No ponga nunca archivos ni carpetas en 777.

D4Hub puede ayudarle a interpretar los resultados y a planificar el siguiente paso seguro.

Preguntas frecuentes

¿Ha desaparecido mi web antigua?

No, si no se ha eliminado. La mayoría de las migraciones copian los datos en lugar de trasladarlos, así que el sitio original normalmente permanece en el servidor antiguo hasta que alguien lo elimina. Consérvelo hasta haber revisado por completo el sitio nuevo.

¿Cuánto tarda en propagarse el DNS?

Depende de la configuración del DNS y de cuánto tiempo conserven los resolvedores la información antigua. Puede ser rápido o tardar más. Durante ese tiempo, algunos visitantes pueden seguir llegando al servidor antiguo, así que planifique el cambio teniéndolo en cuenta.

¿Puedo simplemente volver a ejecutar la migración?

A veces sí, pero primero asegúrese de entender por qué falló y haga una copia de seguridad del sitio nuevo en su estado actual. Repetir el mismo proceso puede toparse con el mismo problema o sobrescribir los cambios hechos desde el primer intento.

Han entrado pedidos en el sitio antiguo después de la migración. ¿Y ahora qué?

No elimine el sitio antiguo. Esos pedidos solo existen en la base de datos antigua y hay que trasladarlos o registrarlos a mano. Es un trabajo delicado, sobre todo en tiendas con gestión de stock y suscripciones, y es un buen momento para pedir ayuda.

¿Por qué las imágenes siguen cargándose desde el dominio antiguo?

Las direcciones de las imágenes se guardan en el contenido y en algunos ajustes. Si el dominio ha cambiado, hay que actualizarlas con una herramienta que gestione los datos serializados de WordPress, como wp search-replace. Puede que ahora funcionen solo porque el sitio antiguo sigue en línea.

¿Puede ayudarme D4Hub si la migración la hizo otra persona?

Sí. Comparta lo que sepa sobre cómo se hizo la migración y lo que ve ahora. D4Hub puede revisar ambos sitios y encontrar la forma más segura de completar el traslado.