Cómo migrar WordPress de un servidor a otro sin perder datos
Migrar un sitio web de WordPress de un servidor a otro puede sonar a una tarea compleja, pero en realidad es un proceso muy estructurado que, si sigues los pasos correctos, no tiene por qué ser traumático ni provocar pérdida de datos. En esta migración WordPress guía te explicaré, paso a paso, cómo hacerlo de forma segura, ya sea que uses cPanel, Syspanel (antes HestiaCP) o cualquier otro panel de control. El objetivo es que al finalizar, tu web funcione exactamente igual que antes, pero en su nuevo hogar.
¿Qué necesitas antes de empezar la migración?
Antes de lanzarte a migrar WordPress servidor, es fundamental que tengas a mano cierta información y herramientas. Esto evitará sorpresas desagradables.
Requisitos previos imprescindibles
- Acceso al panel de control del servidor antiguo: Ya sea cPanel, Syspanel (puerto 2106), Plesk o similar.
- Acceso al panel de control del servidor nuevo: Debes tener credenciales para crear bases de datos y subir archivos.
- Cliente FTP: Como FileZilla o Cyberduck, para transferir archivos grandes.
- Acceso a phpMyAdmin: Herramienta para exportar e importar bases de datos.
- Copia de seguridad completa: Siempre realiza una copia de seguridad antes de cualquier movimiento. Nunca sabes cuándo algo puede fallar.
[WARNING] No empieces la migración si no tienes una copia de seguridad reciente de tu sitio. Un error en los pasos puede dejarte sin datos. La copia es tu red de seguridad.
¿Qué datos vas a mover?
Cuando hablamos de cambiar hosting WordPress, en realidad estás transfiriendo dos componentes principales:
- Los archivos del sitio: Temas, plugins, imágenes, uploads, etc.
- La base de datos: Contiene entradas, páginas, comentarios, configuraciones y usuarios.
Ambos deben migrarse juntos y mantener su sincronización. Si solo mueves archivos, tu web no se conectará a la base de datos. Si solo mueves la base de datos, no tendrás los archivos que la acompañan.
Paso 1: Prepara el servidor de destino
No puedes simplemente volcar los archivos en cualquier lado. Primero debes preparar el nuevo hosting para recibir tu WordPress.
Crear la base de datos en el nuevo servidor
- Accede al panel de control de tu nuevo hosting (cPanel, Syspanel en puerto 2106, etc.).
- Busca la sección Bases de datos MySQL (o similar).
- Crea una nueva base de datos. Anota el nombre, el usuario y la contraseña que asignes.
- Asigna todos los privilegios al usuario sobre esa base de datos.
[TIP] En Syspanel (HestiaCP, puerto 2106), la creación de bases de datos es muy intuitiva. Ve a "Base de datos" y haz clic en "Añadir". El sistema te generará automáticamente un usuario y contraseña seguros.
Crear el directorio para los archivos
Si tu nuevo hosting usa cPanel, normalmente ya tienes una carpeta public_html. Si tu sitio se llamará midominio.com, los archivos deben ir dentro de public_html. Si es un subdominio o una carpeta, crea la estructura necesaria.
En Syspanel, el proceso es similar: tras crear el dominio, se genera automáticamente la carpeta public_html dentro de /home/usuario/web/midominio/.
Paso 2: Exporta la base de datos del servidor antiguo
La base de datos es el corazón de WordPress. Aquí es donde muchos cometen errores que llevan a perder datos. Sigue estos pasos con cuidado.
Acceder a phpMyAdmin en el servidor antiguo
- Desde el panel de control de tu hosting antiguo, busca el acceso a phpMyAdmin.
- Selecciona la base de datos de tu WordPress (la que quieres migrar).
- Haz clic en la pestaña Exportar.
- Elige el método Rápido y formato SQL.
- Haz clic en Continuar y descarga el archivo
.sqla tu ordenador.
[INFO] Si tu base de datos es muy grande (más de 50 MB), el método rápido puede fallar. En ese caso, usa el método Personalizado y selecciona la opción "Comprimir con gzip" o "zip" para reducir el tamaño.
Alternativa: Exportar desde la línea de comandos (SSH)
Si tienes acceso SSH, puedes exportar la base de datos con un comando como este:
mysqldump -u usuario -p nombre_basedatos > respaldo.sql
Esto genera un archivo SQL que luego podrás importar.
Paso 3: Exporta los archivos del servidor antiguo
Ahora toca mover todos los archivos de WordPress. Esto incluye el núcleo, temas, plugins, uploads (imágenes, PDFs, etc.) y el archivo wp-config.php.
Usando FTP o el administrador de archivos
- Conéctate a tu servidor antiguo mediante FTP (FileZilla) o el administrador de archivos del panel.
- Navega hasta la carpeta donde está instalado WordPress (normalmente
public_htmlo una subcarpeta). - Selecciona todos los archivos y carpetas (Ctrl+A).
- Descárgalos a una carpeta local en tu ordenador.
[WARNING] Asegúrate de descargar también los archivos ocultos como
.htaccess. En FileZilla, activa "Mostrar archivos ocultos" en el menú "Servidor".
Alternativa: Copia de seguridad con plugin
Si prefieres no usar FTP, puedes instalar un plugin como UpdraftPlus o All-in-One WP Migration. Estos generan un archivo comprimido con todo (archivos + base de datos) que luego puedes descargar. Sin embargo, para transferir WordPress cPanel de forma manual, te recomiendo el método FTP, ya que tienes control total.
Paso 4: Sube los archivos al nuevo servidor
Con los archivos en tu ordenador, ahora los subirás al nuevo hosting.
Subir mediante FTP
- Conéctate al nuevo servidor con las credenciales FTP que te proporcionó tu nuevo proveedor.
- Ve a la carpeta
public_html(o la que hayas creado para tu dominio). - Arrastra todos los archivos y carpetas desde tu carpeta local a la carpeta remota.
- Espera a que termine la transferencia. Dependiendo del tamaño, puede tardar varios minutos.
[TIP] Si tienes muchos archivos pequeños (como en
wp-content/uploads), la transferencia puede ser lenta. Usa la opción de "Transferencia en cola" y no interrumpas el proceso.
Verifica que no falten archivos
Después de subir, comprueba que la estructura de carpetas sea idéntica a la original. Revisa especialmente wp-content/uploads, wp-content/themes y wp-content/plugins.
Paso 5: Importa la base de datos al nuevo servidor
Este paso es crítico. Una base de datos mal importada puede dar errores de conexión o pérdida de datos.
Usando phpMyAdmin en el nuevo servidor
- Accede a phpMyAdmin en tu nuevo hosting.
- Selecciona la base de datos que creaste en el Paso 1 (debe estar vacía).
- Haz clic en la pestaña Importar.
- Haz clic en Seleccionar archivo y elige el archivo
.sqlque descargaste. - Haz clic en Continuar y espera a que se complete la importación.
[WARNING] Si el archivo SQL es muy grande, es posible que el tiempo de ejecución se agote. En ese caso, usa la línea de comandos (SSH) o divide el archivo en partes más pequeñas.
Importar desde SSH (recomendado para grandes bases de datos)
mysql -u usuario -p nombre_basedatos < respaldo.sql
Este método es más rápido y evita los límites de tiempo de phpMyAdmin.
Paso 6: Actualiza el archivo wp-config.php
El archivo wp-config.php contiene las credenciales de conexión a la base de datos. Como ahora la base de datos está en otro servidor, debes actualizar estos datos.
Editar wp-config.php
- Usa un editor de texto (como Notepad++ o Sublime Text) para abrir el archivo
wp-config.phpque está en la carpeta de tu WordPress (en el nuevo servidor). - Busca las siguientes líneas y cámbialas por los datos de la nueva base de datos:
define('DB_NAME', 'nombre_nueva_base');
define('DB_USER', 'usuario_nuevo');
define('DB_PASSWORD', 'contraseña_nueva');
define('DB_HOST', 'localhost'); // Normalmente localhost, pero verifica con tu hosting
- Guarda el archivo y súbelo de nuevo al servidor (si lo editaste localmente) o simplemente guarda los cambios si usas un editor online.
[TIP] En la mayoría de los hostings, el host de la base de datos es
localhost. Sin embargo, algunos proveedores usan direcciones comomysql.midominio.com. Revisa la información de tu nuevo hosting.
Paso 7: Ajusta las URLs si es necesario
Si cambiaste de dominio (por ejemplo, de midominioantiguo.com a midominionuevo.com), necesitas actualizar las URLs en la base de datos. Si mantienes el mismo dominio, salta este paso.
Usar un plugin o consulta SQL
La forma más segura es usar un plugin como Better Search Replace o Velvet Blues Update URLs. Instálalo en el nuevo sitio (si puedes acceder al panel de administración) y ejecuta un reemplazo de midominioantiguo.com por midominionuevo.com.
Si no puedes acceder al panel, puedes ejecutar una consulta SQL en phpMyAdmin:
UPDATE wp_options SET option_value = replace(option_value, 'http://midominioantiguo.com', 'http://midominionuevo.com') WHERE option_name = 'home' OR option_name = 'siteurl';
[WARNING] Cambia
wp_por el prefijo de tus tablas si no es el estándar. Además, asegúrate de incluir tanto http como https si usas SSL.
Paso 8: Prueba el sitio antes de redirigir
Antes de anunciar al mundo que tu web ya está en el nuevo servidor, haz pruebas exhaustivas.
Cómo probar sin cambiar DNS
- Modifica el archivo
hostsde tu ordenador (en Windows:C:\Windows\System32\drivers\etc\hosts, en Mac/Linux:/etc/hosts). - Añade una línea como:
123.456.789.0 midominio.com(donde la IP es la del nuevo servidor). - Guarda el archivo y abre tu dominio en el navegador. Verás el sitio desde el nuevo servidor.
[TIP] También puedes usar servicios como whatsmydns.net para verificar que la propagación DNS se haya completado.
Verifica funcionalidades clave
- Páginas y entradas: ¿Se cargan correctamente?
- Imágenes y medios: ¿Se ven las imágenes?
- Plugins y temas: ¿Funcionan sin errores?
- Formularios de contacto: ¿Envían correos?
- Enlaces internos: ¿Redirigen bien?
Si todo funciona, ¡felicidades! Ya has completado la migración.
Paso 9: Actualiza los DNS y redirige el tráfico
Ahora que todo está probado, es momento de hacer el cambio oficial.
Cambiar los nameservers
- Ve al panel de tu registrador de dominios (donde compraste el dominio).
- Busca la sección de DNS o Nameservers.
- Cambia los nameservers por los que te proporcionó tu nuevo hosting (normalmente son dos o tres).
- Guarda los cambios.
La propagación DNS puede tardar entre 24 y 48 horas. Durante ese tiempo, algunos usuarios verán el sitio antiguo y otros el nuevo. No te preocupes, es normal.
Redirigir el tráfico del servidor antiguo
Mientras se propaga, puedes configurar una redirección 301 en el servidor antiguo para que los visitantes que lleguen allí sean enviados al nuevo. Esto se hace editando el .htaccess del servidor antiguo:
RewriteEngine On
RewriteRule ^(.*)$ http://midominionuevo.com/$1 [R=301,L]
[INFO] No elimines el sitio antiguo hasta que la propagación DNS haya finalizado y hayas verificado que todo funciona en el nuevo servidor.
FAQ: Preguntas frecuentes sobre migración de WordPress
¿Puedo migrar sin perder los comentarios y usuarios?
Sí, siempre que exportes e importes correctamente la base de datos. Los comentarios y usuarios se almacenan en tablas específicas de la base de datos. Si sigues los pasos de esta guía, no se perderán.
¿Qué hago si después de la migración veo un error de conexión a la base de datos?
Revisa el archivo wp-config.php y asegúrate de que los datos de la base de datos (nombre, usuario, contraseña, host) sean correctos. También verifica que la base de datos exista en el nuevo servidor y que el usuario tenga permisos.
¿Es necesario usar un plugin para migrar?
No es obligatorio, pero puede facilitar el proceso, especialmente si no te sientes cómodo con FTP y phpMyAdmin. Plugins como All-in-One WP Migration o Duplicator hacen gran parte del trabajo automáticamente. Sin embargo, para sitios grandes, el método manual suele ser más fiable.
¿Cuánto tiempo tarda la migración?
Depende del tamaño de tu sitio. Un sitio pequeño (menos de 1 GB) puede estar listo en 30 minutos. Sitios grandes (varios GB) pueden tardar horas, sobre todo en la transferencia de archivos.
¿Pierdo el SEO al cambiar de hosting?
No, si haces la migración correctamente y mantienes la misma URL (o configuras redirecciones 301 si cambias de dominio). El SEO no se ve afectado por el cambio de servidor, siempre que el sitio funcione igual de rápido y sin errores.
¿Qué hago si el nuevo hosting usa Syspanel (HestiaCP)?
Syspanel es un panel de control moderno y fácil de usar. Para migrar WordPress servidor con Syspanel, el proceso es similar al de cPanel. Accede a Syspanel por el puerto 2106 (ejemplo: https://midominio.com:2106). Allí crearás la base de datos y la carpeta del dominio. El resto de pasos (exportar, importar, configurar) son idénticos.
Conclusión: Tu web ya está en el nuevo servidor
Migrar WordPress de un servidor a otro sin perder datos es totalmente factible si sigues un orden lógico: preparar el destino, exportar archivos y base de datos, importar todo, ajustar configuraciones y probar. No olvides hacer siempre una copia de seguridad antes de empezar y tomarte el tiempo necesario para verificar cada paso.
Recuerda que, si en algún momento te sientes perdido, puedes recurrir a plugins especializados o pedir ayuda a tu nuevo proveedor de hosting. La mayoría ofrece soporte para transferir WordPress cPanel o cualquier otro panel.
Ahora que ya sabes cómo hacerlo, ¡anímate a dar el salto a un mejor hosting sin miedo a perder tu contenido!
