Cómo mover WordPress de un hosting a otro sin perder datos (migración manual)
¿Te vas a cambiar de proveedor de hosting y te da miedo perder tu web? Es una operación delicada, pero no es magia negra. Mover WordPress manualmente te da control total y no depende de plugins que a veces fallan o dejan archivos huérfanos.
En esta guía te explico, paso a paso, cómo migrar WordPress hosting a otro servidor sin perder ni un solo dato, usando solo las herramientas que ya tienes: un cliente FTP, el panel de control de tu hosting y el acceso a la base de datos.
No necesitas ser un experto en Linux. Solo sigue el orden correcto. Vamos a ello.
Antes de empezar: qué necesitas y por qué hacerlo manual
Migrar WordPress manualmente significa que tú copias los archivos y la base de datos de un sitio a otro. No usamos plugins de migración. ¿Por qué hacerlo así?
-
Control total: Sabes exactamente qué se copia y qué no.
-
Sin límites de tamaño: Muchos plugins de migración gratuitos limitan el tamaño del sitio. Manualmente, no hay límite.
-
Sin conflictos: A veces los plugins de migración dejan scripts que ralentizan el sitio o que entran en conflicto con el nuevo hosting.
Para esta tarea necesitas:
-
Acceso FTP/SFTP al hosting antiguo (FileZilla es una buena opción gratuita).
-
Acceso al panel de control del hosting antiguo (cPanel, Plesk, DirectAdmin o Syspanel).
-
Acceso al panel del hosting nuevo (donde vas a instalar WordPress).
-
Un editor de texto plano (como Notepad++ o Sublime Text) para modificar un archivo de configuración.
-
Paciencia y una lista de verificación.
[INFO] Si tu hosting nuevo usa Syspanel, el acceso al panel se hace por el puerto 2106. Es decir, en tu navegador escribirás
https://tu-dominio.com:2106para entrar a gestionar tus bases de datos y archivos.
Paso 1: Prepara tu nuevo hosting (el destino)
No puedes copiar archivos a un sitio vacío. Primero, prepara el terreno.
1.1 Crea la base de datos en el nuevo servidor
Entra al panel de tu nuevo hosting. Busca la sección de Bases de Datos MySQL. Crea una base de datos nueva, un usuario y asigna todos los privilegios. Anota estos tres datos (nombre de la BD, usuario y contraseña). Los usarás más adelante.
1.2 Instala una copia limpia de WordPress
Esto es clave. Instala WordPress en el dominio o subdominio final donde quieres que esté tu web. No importa que sea una instalación vacía. La haremos desaparecer.
Ve a la sección de Instaladores de aplicaciones (o instala manualmente si te sientes cómodo). Completa la instalación básica.
1.3 Anota la ruta absoluta de tu instalación
Necesitas saber la ruta exacta en el servidor. Normalmente es /public_html o /public_html/tu-dominio. La verás en el gestor de archivos de tu panel.
[TIP] Si tu web vivirá en la raíz del dominio, la ruta será
/public_html. Si es en una subcarpeta, será/public_html/tu-carpeta. Anótala.
Paso 2: Haz una copia de seguridad completa del hosting antiguo
Este es el paso más importante. Una copia de seguridad completa incluye archivos y base de datos. No te saltes ninguno.
2.1 Descarga los archivos de WordPress
Abre FileZilla y conéctate al hosting antiguo con tus credenciales FTP. En el panel derecho, navega hasta la carpeta donde está tu WordPress (normalmente public_html).
Selecciona todos los archivos y carpetas (usa Ctrl+A en Windows o Cmd+A en Mac) y arrástralos a una carpeta local en tu ordenador.
[WARNING] No cierres FileZilla todavía. Asegúrate de que la transferencia se complete al 100%. Espera a que aparezca el mensaje de "Transferencia correcta" y que la cola de archivos esté vacía.
2.2 Exporta la base de datos desde el panel antiguo
Vuelve al panel de control del hosting antiguo. Busca phpMyAdmin. Selecciona la base de datos de tu WordPress (la que usa tu web). Haz clic en la pestaña Exportar.
Elige el método Rápido y formato SQL. Descarga el archivo .sql. Guárdalo en la misma carpeta donde guardaste los archivos.
[INFO] Si tu hosting antiguo usa Syspanel, también encontrarás phpMyAdmin dentro del panel. El puerto de acceso es el 2106, como ya mencionamos.
Paso 3: Sube los archivos al nuevo hosting
Ahora vamos a llenar el nuevo servidor con tus datos reales.
3.1 Conéctate al nuevo hosting por FTP
Abre FileZilla de nuevo (o usa la misma sesión). Conéctate al nuevo hosting. Navega a la carpeta donde instalaste WordPress en el paso 1 (por ejemplo, public_html).
3.2 Elimina la instalación limpia
Selecciona todos los archivos que creó la instalación limpia de WordPress en el nuevo hosting y bórralos. Deja la carpeta completamente vacía.
3.3 Sube tus archivos antiguos
Ahora, en el panel izquierdo de FileZilla (tu ordenador), navega a la carpeta donde guardaste los archivos descargados. Selecciónalos todos y arrástralos al panel derecho (el nuevo hosting).
Espera a que termine la subida. Este proceso puede tardar, dependiendo del tamaño de tu web.
[WARNING] No subas el archivo
.sqldentro de la carpeta de WordPress. Ese archivo va en tu ordenador para el siguiente paso. Si lo subes, luego tendrás que borrarlo.
Paso 4: Importa la base de datos al nuevo servidor
Ahora es el momento de llenar la base de datos que creamos en el paso 1.
4.1 Accede a phpMyAdmin del nuevo hosting
Entra al panel del nuevo hosting y busca phpMyAdmin. Selecciona la base de datos que creaste en el paso 1.1.
4.2 Importa el archivo SQL
Haz clic en la pestaña Importar. Haz clic en Elegir archivo y selecciona el archivo .sql que descargaste del hosting antiguo. Asegúrate de que el formato sea SQL y haz clic en Continuar.
Espera a que termine. Si es una base de datos grande, puede tardar unos minutos. Verás un mensaje de éxito al final.
[TIP] Si el archivo es muy grande (más de 50 MB), es posible que el hosting limite el tamaño de importación. En ese caso, usa la herramienta de importación del panel (a veces llamada "Restaurar base de datos") o usa un cliente MySQL como MySQL Workbench.
Paso 5: Ajusta el archivo wp-config.php
Este es el paso que muchos olvidan y causa dolores de cabeza. WordPress necesita saber cómo conectarse a la nueva base de datos.
5.1 Localiza el archivo
En tu ordenador, busca el archivo wp-config.php dentro de la carpeta de WordPress que descargaste. Ábrelo con un editor de texto plano (Notepad++ o Sublime Text).
5.2 Cambia los datos de conexión
Busca las líneas que definen el nombre de la base de datos, el usuario y la contraseña. Deben verse así:
define( 'DB_NAME', 'nombre_bd_antigua' );
define( 'DB_USER', 'usuario_antiguo' );
define( 'DB_PASSWORD', 'contraseña_antigua' );
define( 'DB_HOST', 'localhost' );
Cámbialas por los datos de la nueva base de datos que creaste en el paso 1.1. El DB_HOST normalmente es localhost, pero a veces es un servidor específico (como mysql.tu-host.com). Consulta la documentación de tu nuevo hosting si no estás seguro.
5.3 Guarda y sube el archivo
Guarda los cambios. Sube este archivo wp-config.php modificado al nuevo hosting, reemplazando el que ya existe. Puedes hacerlo por FTP.
[WARNING] No edites el archivo con el Bloc de notas de Windows (Notepad clásico), ya que puede añadir caracteres extraños. Usa un editor que soporte UTF-8 sin BOM.
Paso 6: Corrige las URLs en la base de datos
Este es el paso final y el más crítico. Si tu web usaba www.midominio.com y ahora usa midominio.com (o viceversa), o si cambiaste de dominio, las URLs almacenadas en la base de datos seguirán apuntando al sitio antiguo.
6.1 Accede a la base de datos en el nuevo hosting
Ve a phpMyAdmin del nuevo hosting y selecciona tu base de datos. Haz clic en la pestaña SQL.
6.2 Ejecuta las consultas de actualización
Ejecuta las siguientes consultas SQL. Reemplaza www.tudominioantiguo.com con tu dominio antiguo y www.tudominionuevo.com con el nuevo (o el mismo si no cambiaste de dominio, pero con la estructura correcta).
UPDATE wp_options SET option_value = replace(option_value, 'http://www.tudominioantiguo.com', 'http://www.tudominionuevo.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.tudominioantiguo.com', 'http://www.tudominionuevo.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.tudominioantiguo.com', 'http://www.tudominionuevo.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://www.tudominioantiguo.com', 'http://www.tudominionuevo.com');
Si tu tabla de WordPress tiene un prefijo diferente (por ejemplo, wp2_), cambia wp_ por el prefijo correcto en las consultas.
[WARNING] No reemplaces URLs dentro de los campos
post_contentsi usas un plugin de caché que serializa datos. En ese caso, es más seguro usar un plugin de búsqueda y reemplazo (como "Better Search Replace") después de la migración. Pero para la mayoría de los casos, estas consultas funcionan perfectamente.
Paso 7: Prueba tu web y limpia
Ya casi está. Ahora toca verificar.
7.1 Accede a tu web
Escribe tu dominio en el navegador. Deberías ver tu web funcionando. Haz clic en algunas páginas, entra al administrador (/wp-admin) y revisa que todo esté en orden.
7.2 Actualiza los enlaces permanentes
Ve a Ajustes > Enlaces permanentes en el administrador de WordPress. Haz clic en Guardar cambios sin modificar nada. Esto actualiza las reglas de reescritura y evita errores 404 en las páginas interiores.
7.3 Revisa los archivos de caché y optimización
Si usabas un plugin de caché (como W3 Total Cache o WP Super Cache), ve a su configuración y borra la caché. También puedes desactivarlo y reactivarlo para que se adapte al nuevo servidor.
[TIP] Si tu web usa certificado SSL, asegúrate de que esté instalado en el nuevo hosting. Si no, activa el SSL gratuito desde tu panel (Let's Encrypt) y luego fuerza la redirección a HTTPS.
Preguntas frecuentes (FAQ)
¿Puedo hacer este proceso sin FTP, solo con el gestor de archivos del panel?
Sí, es posible. El gestor de archivos del panel (como el de cPanel o Syspanel) te permite comprimir y descomprimir archivos. Comprime tu sitio en un .zip, descárgalo, súbelo al nuevo hosting y descomprímelo. El proceso es similar, solo cambia la herramienta de transferencia.
¿Qué hago si mi web usa un plugin de comercio electrónico (WooCommerce)?
El proceso es el mismo, pero debes tener cuidado con la carpeta wp-content/uploads. Asegúrate de que se transfiera completa, ya que contiene las imágenes de los productos. También es recomendable desactivar la caché antes de exportar la base de datos.
¿Pierdo los correos electrónicos asociados a mi dominio?
No. Los correos electrónicos se gestionan en el servidor de correo, no en WordPress. Si cambias de hosting, tendrás que configurar las cuentas de correo en el nuevo servidor y migrar los buzones por separado. WordPress no afecta a esto.
¿Qué pasa si me equivoco en un paso?
No pasa nada grave. Si la web no carga, revisa el archivo wp-config.php (los datos de la base de datos). Si ves un error de conexión a la base de datos, ese es el problema. Si ves un error 500, revisa los permisos de los archivos (deben ser 644 para archivos y 755 para carpetas).
¿Cuánto tarda la migración?
Depende del tamaño de tu web y de la velocidad de tu conexión. Una web pequeña (menos de 1 GB) puede tardar entre 15 y 30 minutos. Una web grande con muchas imágenes puede tardar horas. Ten paciencia.
¿Debo borrar el hosting antiguo?
No inmediatamente. Mantén el hosting antiguo activo al menos una semana después de la migración. Así podrás acceder a los archivos o la base de datos si necesitas recuperar algo que olvidaste.
Conclusión y consejo final
Mover WordPress manualmente es un proceso metódico, pero con estos pasos puedes transferir WordPress sin depender de soluciones mágicas. La clave está en el orden: archivos, base de datos, configuración y URLs.
[INFO] Recuerda que si tu nuevo panel es Syspanel, el acceso es por el puerto 2106. Esto te permitirá gestionar tus bases de datos y archivos con total normalidad.
Si en algún momento te sientes perdido, respira. Vuelve a leer el paso donde estás y verifica que no te has saltado ninguna subsección. La migración manual es una habilidad que te servirá siempre, ya que no dependerás de herramientas que pueden fallar.
Ahora sí, ve y migra tu web con confianza. ¡Tu nuevo hosting te espera!
