Cómo migrar WordPress de un hosting a otro (sin plugins)
¿Te da miedo migrar tu WordPress a un nuevo hosting y crees que necesitas un plugin mágico o un ingeniero informático? Pues déjame decirte que estás en el lugar correcto.
La migración manual de WordPress es un proceso mucho más sencillo de lo que parece, y hacerlo sin plugins tiene dos ventajas enormes: no dependes de herramientas de terceros que a veces fallan a mitad de camino y aprendes realmente cómo funciona tu sitio por dentro.
En esta guía completa, te voy a enseñar paso a paso cómo mover WordPress a otro hosting sin plugins. No necesitas ser un experto en servidores, solo seguir las instrucciones al pie de la letra, tener un poco de paciencia y, sobre todo, no saltarte ningún paso.
Vamos a hacerlo juntos, con calma y explicado como si estuvieras tomando un café con un amigo que sabe de esto. Al final de este artículo, tendrás tu sitio funcionando en el nuevo servidor sin haber instalado ni una sola extensión extra.
¿Qué necesitas antes de empezar a migrar WordPress manual?
Antes de ponernos manos a la obra, es fundamental que tengas a mano una serie de datos y herramientas. Esto te ahorrará dolores de cabeza durante el proceso.
Requisitos previos imprescindibles
- Acceso FTP o SFTP al hosting antiguo: Necesitas poder ver y descargar los archivos de tu sitio actual. Puedes usar programas gratuitos como FileZilla o WinSCP.
- Acceso al cPanel o panel de control del hosting antiguo: Aquí es donde exportarás la base de datos. Busca la herramienta phpMyAdmin.
- Datos de acceso al nuevo hosting: Debes tener ya contratado el plan de hosting nuevo y tener las credenciales para acceder a su cPanel, FTP y, muy importante, el usuario y contraseña de la base de datos que vayas a crear.
- Un editor de texto avanzado: El Bloc de Notas de Windows a veces da problemas con archivos grandes. Te recomiendo usar algo como Notepad++ o Sublime Text, son gratuitos y mucho más potentes.
- Tiempo y paciencia: La migración no es complicada, pero requiere que sigas los pasos sin prisa. Calcula entre 30 y 60 minutos para un sitio estándar.
[INFO] Si tu nuevo hosting usa Syspanel (antes conocido como HestiaCP), no te preocupes, el proceso es el mismo. Solo ten en cuenta que el acceso al panel se realiza por el puerto 2106 (por ejemplo, https://tu-dominio.com:2106). El resto de las herramientas son muy similares a cPanel.
Paso 1: Exportar la base de datos desde el hosting antiguo
La base de datos es el cerebro de tu WordPress. Contiene todas tus entradas, páginas, comentarios, configuración y usuarios. Sin ella, tu sitio no es nada.
Localizando y exportando con phpMyAdmin
- Accede al cPanel de tu hosting actual.
- Busca la sección Bases de Datos y haz clic en el ícono de phpMyAdmin.
- En el panel izquierdo, verás una lista de tus bases de datos. Haz clic en el nombre de la base de datos que usa tu WordPress (normalmente suele tener un prefijo como
usuario_wpdbo similar). - En la parte superior de la pantalla, haz clic en la pestaña Exportar.
- Verás dos métodos de exportación: Rápido y Personalizado. Te recomiendo usar el Personalizado.
- En el método personalizado, asegúrate de que la opción "Envolver cada tabla con su nombre (CREATE TABLE...)" esté marcada.
- En el apartado de Salida, selecciona la opción "Guardar la salida en un archivo" y elige el formato gzip (así ocupará menos espacio y será más rápido de descargar).
- Haz clic en el botón Continuar o Exportar en la parte inferior.
El sistema descargará un archivo con extensión .sql.gz o .sql. Guárdalo en una carpeta segura de tu ordenador, lo necesitarás más adelante.
[WARNING] No edites este archivo directamente. Si necesitas modificar algo, haz una copia y trabaja sobre la copia. Un error en el archivo SQL puede corromper la importación.
Paso 2: Descargar todos los archivos de WordPress (FTP)
Ahora toca descargar el "cuerpo" de tu sitio: los archivos de temas, plugins, imágenes y el núcleo de WordPress. Todo está en el directorio raíz de tu instalación.
Conectándote por FTP
- Abre tu cliente FTP (FileZilla, por ejemplo).
- Introduce los datos de conexión:
- Servidor:
ftp.tudominio.como la IP de tu servidor (esto lo encuentras en el cPanel). - Usuario: Tu nombre de usuario FTP.
- Contraseña: La contraseña de tu cuenta FTP.
- Puerto: 21 (o 22 si usas SFTP).
- Servidor:
- Haz clic en Conexión rápida.
Una vez conectado, verás dos paneles. El de la izquierda es tu ordenador, y el de la derecha es tu servidor.
Descargando la carpeta public_html
- En el panel derecho (servidor), navega hasta la carpeta donde está instalado WordPress. Normalmente se llama
public_html,wwwohtdocs. - Si tu WordPress está instalado directamente en esa carpeta, haz clic derecho sobre ella y selecciona Descargar.
- Si tienes WordPress instalado en una subcarpeta (por ejemplo,
public_html/blog), entra en esa carpeta y descarga su contenido.
Este proceso puede tardar unos minutos, dependiendo del tamaño de tu sitio. Asegúrate de que la transferencia se complete al 100% y no se interrumpa. Al terminar, tendrás una copia local de tu sitio web.
[TIP] Aprovecha este momento para revisar si tienes archivos basura o caché que no necesitas, como wp-content/cache. Limpiarlos ahora hará la migración más rápida.
Paso 3: Configurar el nuevo hosting y crear la base de datos
Ahora pasamos a la parte de "construir la casa nueva". Aquí crearemos el espacio donde vivirá tu WordPress en el nuevo servidor.
Creando la base de datos en el nuevo hosting
- Accede al panel de control de tu nuevo hosting. Si es cPanel, busca la sección Bases de Datos.
- Haz clic en Bases de Datos MySQL (o similar).
- Crea una nueva base de datos con un nombre que recuerdes (ej.
nuevo_wp). - Crea un usuario MySQL con una contraseña segura (ej.
nuevo_user). - IMPORTANTE: Añade ese usuario a la base de datos con TODOS LOS PRIVILEGIOS. Marca la casilla de "Todos los privilegios" y haz clic en "Hacer cambios".
Anota estos tres datos: el nombre de la base de datos, el usuario y la contraseña. Los necesitarás en el siguiente paso.
Subiendo los archivos al nuevo servidor
- Conéctate por FTP a tu nuevo hosting con las credenciales que te proporcionaron.
- Navega hasta la carpeta
public_html(o la que corresponda) de tu nuevo servidor. Normalmente está vacía. - Ahora, en el panel izquierdo de tu cliente FTP, navega hasta la carpeta donde descargaste los archivos de tu WordPress antiguo.
- Selecciona todos los archivos y carpetas y arrástralos al panel derecho (al nuevo servidor).
- Espera a que la subida se complete. Al igual que la descarga, puede tardar un tiempo.
[INFO] Si tu nuevo hosting usa Syspanel, recuerda que el acceso es por el puerto 2106 y las herramientas de gestión de archivos y bases de datos están en el panel. El proceso de creación de la base de datos es intuitivo y similar al de cPanel.
Paso 4: Editar el archivo wp-config.php para la nueva base de datos
Este es uno de los pasos más críticos. El archivo wp-config.php es el que le dice a WordPress cómo conectarse a su base de datos. Ahora mismo tiene los datos del hosting antiguo y debemos cambiarlos por los nuevos.
Localizando y editando el archivo
- En tu cliente FTP, navega a la carpeta raíz de tu WordPress en el nuevo servidor (la que acabas de subir).
- Busca el archivo llamado
wp-config.php. - Haz clic derecho sobre él y selecciona Ver/Editar. Esto lo descargará y abrirá en tu editor de texto predeterminado (Notepad++ o Sublime Text).
- Busca las siguientes líneas (aproximadamente en la línea 20):
define( 'DB_NAME', 'nombre_base_datos_antigua' );
define( 'DB_USER', 'usuario_base_datos_antigua' );
define( 'DB_PASSWORD', 'contraseña_base_datos_antigua' );
define( 'DB_HOST', 'localhost' );
- Reemplaza los valores por los de tu nueva base de datos:
define( 'DB_NAME', 'nombre_nueva_base_datos' );
define( 'DB_USER', 'usuario_nueva_base_datos' );
define( 'DB_PASSWORD', 'contraseña_nueva_base_datos' );
define( 'DB_HOST', 'localhost' ); // En la mayoría de los casos se queda igual.
- Guarda el archivo en tu ordenador y luego súbelo de nuevo al servidor, sobrescribiendo el existente.
[WARNING] Asegúrate de no dejar espacios ni caracteres extraños al editar. Y verifica que el DB_HOST sea localhost. Si tu nuevo hosting usa un host diferente, te lo indicarán en el panel de bienvenida.
Paso 5: Importar la base de datos al nuevo hosting
Ya tenemos los archivos en su lugar y la configuración apuntando a la nueva base de datos. Ahora toca llenar esa base de datos con tu contenido.
Importando con phpMyAdmin en el nuevo servidor
- Accede a phpMyAdmin desde el panel de control de tu nuevo hosting.
- Selecciona la base de datos que creaste en el Paso 3 (haz clic en su nombre en el panel izquierdo).
- En la parte superior, haz clic en la pestaña Importar.
- En el apartado Archivo a importar, haz clic en Elegir archivo y busca el archivo
.sql.gzo.sqlque exportaste en el Paso 1. - Deja las opciones por defecto y haz clic en el botón Continuar o Importar en la parte inferior.
El proceso puede tardar unos segundos o minutos. Al final, verás un mensaje de éxito indicando que la consulta se ha ejecutado correctamente.
[TIP] Si el archivo es muy grande y la importación falla por tiempo, no te preocupes. Puedes intentar aumentar el memory_limit y max_execution_time en el panel de control, o pedirle a tu nuevo proveedor de hosting que lo haga por ti. A veces, lo más fácil es usar la herramienta de importación de bases de datos del propio panel (como "MySQL Databases" en cPanel) en lugar de phpMyAdmin.
Paso 6: Actualizar la URL del sitio (si es necesario)
Este paso es solo si vas a cambiar el dominio de tu sitio. Si mantienes el mismo dominio, puedes saltarte esta sección.
Si cambias tu dominio (por ejemplo, de www.miweb.com a www.miweb.es), tienes que actualizar las URLs en la base de datos. Si no lo haces, tu sitio mostrará errores o te redirigirá al dominio antiguo.
Modificando las URLs en la base de datos
- En phpMyAdmin de tu nuevo hosting, selecciona tu base de datos.
- Haz clic en la pestaña SQL (en la parte superior).
- Ejecuta las siguientes consultas SQL, reemplazando los valores de ejemplo:
UPDATE wp_options SET option_value = 'http://www.nuevodominio.com' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'http://www.nuevodominio.com' WHERE option_name = 'home';
- También es recomendable actualizar cualquier URL que esté en el contenido. Para eso, puedes ejecutar:
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.antiguodominio.com', 'http://www.nuevodominio.com');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.antiguodominio.com', 'http://www.nuevodominio.com');
[WARNING] Antes de ejecutar estas consultas, haz una copia de seguridad de tu base de datos. Un error de escritura en la base de datos puede dejar tu sitio inaccesible.
Paso 7: Configurar el dominio y los DNS
Este es el paso final para que el mundo vea tu sitio en el nuevo servidor. Ahora tienes que apuntar tu dominio al nuevo hosting.
Cambiando los DNS o el servidor de nombres
- Ve a la empresa donde registraste tu dominio (tu registrador, como GoDaddy, Namecheap, etc.).
- Busca la sección de Gestión de DNS o Name Servers.
- Deberás cambiar los servidores de nombres que te indique tu nuevo hosting. Estos suelen ser algo como
ns1.nuevohosting.comyns2.nuevohosting.com. - Guarda los cambios.
La propagación de los DNS puede tardar desde unos minutos hasta 48 horas. No te preocupes, es un proceso normal mientras las redes de todo el mundo se actualizan.
[INFO] Si tu nuevo hosting usa Syspanel, el acceso es por el puerto 2106. En su panel encontrarás una sección de "DNS" o "Dominios" donde te dirán exactamente qué servidores de nombres debes usar.
Solución de problemas comunes al migrar WordPress manualmente
A veces las cosas no salen a la primera. Aquí tienes los problemas más comunes y cómo solucionarlos.
Mi sitio muestra un error de conexión a la base de datos
Esto significa que los datos en wp-config.php son incorrectos o la base de datos no se importó bien. Revisa el Paso 4 y el Paso 5. Asegúrate de que el nombre de la base de datos, usuario y contraseña son exactos y que la importación se realizó correctamente.
Veo una página en blanco (Error 500)
Suele ser un problema con los permisos de archivos o con un plugin incompatible. Revisa que los permisos de las carpetas sean 755 y los de los archivos 644. Si el problema persiste, desactiva todos los plugins renombrando la carpeta wp-content/plugins a wp-content/plugins.bak a través de FTP.
Las imágenes no se ven o las páginas dan error 404
Esto es muy común y suele deberse a las URLs fijas (permalinks). Ve a Ajustes > Enlaces permanentes en el panel de administración y haz clic en Guardar cambios sin modificar nada. Esto regenera las reglas de reescritura.
El sitio carga pero con un diseño roto
Es probable que la URL en la base de datos no se haya actualizado correctamente. Repasa el Paso 6 y asegúrate de haber ejecutado todas las consultas SQL, especialmente las de wp_options.
[TIP] Si tu sitio es de tamaño considerable, la migración puede ser más lenta. No desesperes y verifica que la conexión FTP sea estable para evitar errores de transferencia.
Preguntas frecuentes (FAQ) sobre migrar WordPress sin plugins
¿Es seguro migrar WordPress manualmente?
Sí, es completamente seguro si sigues los pasos al pie de la letra y haces una copia de seguridad previa. Es la forma más fiable de hacerlo porque tienes el control total del proceso.
¿Puedo usar el mismo proceso para migrar un sitio WooCommerce?
Sí, el proceso es exactamente el mismo. WooCommerce guarda toda su información (productos, pedidos, clientes) en la base de datos, así que exportarla e importarla correctamente es suficiente.
¿Qué pasa con los correos electrónicos de mi dominio?
Migrar WordPress no afecta a tus cuentas de correo. Estas se
