Cómo migrar una web de WordPress de un hosting a otro (cPanel a cPanel)
Mudarte de hosting es como cambiar de piso: al principio da un poco de pereza, pero cuando terminas, respiras tranquilo y te preguntas por qué no lo hiciste antes. Si tu web de WordPress funciona lenta, se cae a menudo o el soporte de tu proveedor actual brilla por su ausencia, es hora de plantearse un cambio de hosting WordPress.
La buena noticia es que migrar WordPress entre dos servidores que usan cPanel (el panel de control más común del mundo) es un proceso muy mecánico. No necesitas ser un hacker ni un programador. Solo necesitas paciencia, un café y seguir esta guía paso a paso.
Aquí te explico, sin tecnicismos raros y con mucho detalle, cómo hacer una migración cPanel de forma segura, sin perder ni una visita ni un comentario de tu blog.
1. Preparación: Lo que necesitas antes de empezar
Antes de tocar nada, vamos a vestirnos por los pies. Una migración exitosa se basa en la preparación. No te saltes este paso, porque aquí es donde la gente suele meter la pata.
Requisitos imprescindibles
- Acceso al cPanel antiguo (el de tu hosting actual).
- Acceso al cPanel nuevo (el del hosting de destino).
- Credenciales FTP o Administrador de Archivos de ambos.
- Acceso al panel de tu dominio (donde compraste el .com, .es, etc.) para cambiar los DNS.
- Una tarde tranquila. No lo hagas con prisa.
¿Qué es exactamente lo que vamos a mover?
Una web de WordPress no es solo un montón de archivos. Son dos cosas:
- Los archivos del núcleo: El código de WordPress, tus plugins, tus temas y las imágenes subidas.
- La base de datos (MySQL): Donde se guardan tus entradas, páginas, usuarios y configuraciones.
Si mueves solo una de las dos partes, la web se romperá. Por eso, el proceso se divide en dos frentes: Archivos y Base de Datos.
2. Paso 1: Hacer una copia de seguridad completa en el hosting antiguo
Piensa en esto como hacer una maleta. Primero, empaquetamos todo lo que tenemos en casa (el hosting antiguo) para luego llevarlo al nuevo piso.
2.1. Exportar la base de datos desde phpMyAdmin
La base de datos es el cerebro de tu WordPress. Para exportarla:
- Entra en tu cPanel antiguo y busca la sección "Bases de Datos".
- Haz clic en el icono de phpMyAdmin (suele tener un icono de una base de datos con un elefante).
- En el panel izquierdo, verás una lista de bases de datos. Haz clic en la que corresponde a tu WordPress (normalmente empieza con el prefijo de tu usuario, por ejemplo
usuariowp_basedatos). - Arriba, verás una pestaña llamada "Exportar". Haz clic en ella.
- Deja el método de exportación "Rápido" y el formato "SQL". Haz clic en "Continuar".
- Se descargará un archivo con extensión
.sql. ¡Guárdalo muy bien! Es oro puro.
[WARNING]: No edites este archivo .sql con el bloc de notas si no sabes lo que haces. Un solo carácter mal puesto puede romper toda la web. Guárdalo tal cual.
2.2. Descargar todos los archivos de WordPress
Ahora vamos a por los archivos. Hay dos formas de hacerlo: comprimiendo desde cPanel (más rápido) o usando FTP (más lento pero visual).
Opción A (Recomendada): Usar el Administrador de Archivos de cPanel
- En tu cPanel antiguo, busca la sección "Archivos" y haz clic en "Administrador de Archivos".
- Navega hasta la carpeta
public_html(owww). Ahí es donde vive tu WordPress. - Selecciona todos los archivos que hay dentro (puedes usar Ctrl+A en tu teclado).
- Con los archivos seleccionados, haz clic derecho y elige la opción "Comprimir".
- Elige el formato "Zip Archive" y dale un nombre como
mibackup.zip. Haz clic en "Comprimir Archivos". - Cuando termine, verás el archivo
mibackup.zipen la misma carpeta. Haz clic derecho sobre él y selecciona "Descargar".
[TIP]: Si tu web es muy grande (más de 2 GB), es posible que la compresión falle. En ese caso, comprime por partes (carpetas como
wp-content/uploadspor separado) o usa FTP.
Opción B: Usar un cliente FTP (FileZilla)
- Descarga e instala FileZilla (es gratis).
- Conecta usando los datos FTP que te dio tu hosting antiguo (servidor, usuario, contraseña y puerto 21).
- En el panel remoto, navega a
public_html. - Arrastra todo el contenido de
public_htmla una carpeta local de tu ordenador. - Esto puede tardar horas si tienes muchas imágenes. Ten paciencia.
3. Paso 2: Subir los archivos al nuevo hosting
Ya tenemos la maleta hecha. Ahora vamos a llevarla al piso nuevo. Primero, necesitamos preparar el terreno.
3.1. Crear la base de datos en el hosting nuevo
En el hosting de destino, el proceso es inverso. Primero creamos una base de datos vacía para luego meterle los datos antiguos.
- Entra en el cPanel nuevo.
- Busca la sección "Bases de Datos" y haz clic en "Asistente para Bases de Datos MySQL".
- Paso 1: Crea una nueva base de datos (ej:
nuevohost_wordpress). Anota el nombre completo. - Paso 2: Crea un usuario para esa base de datos (ej:
nuevohost_admin). Pon una contraseña segura. - Paso 3: Añade el usuario a la base de datos y marca TODOS LOS PRIVILEGIOS (o simplemente haz clic en "Todos los privilegios").
- Haz clic en "Finalizar".
Ya tienes la "casa" vacía preparada.
3.2. Subir el archivo ZIP y descomprimir
Ahora vamos a mover los archivos. No los subas uno a uno, sería un infierno. Sube el ZIP.
- Abre el Administrador de Archivos en tu cPanel nuevo.
- Entra en la carpeta
public_html. Si hay archivos por defecto (comoindex.htmlocgi-bin), bórralos o muévelos a una papelera. Queremos un lienzo limpio. - Haz clic en el botón "Cargar" (subir) y selecciona tu archivo
mibackup.zipdesde tu ordenador. - Espera a que termine la subida (la barra de progreso debe llegar al 100%).
- Una vez subido, verás el archivo en la lista. Haz clic derecho sobre él y selecciona "Extraer".
- En el campo de destino, asegúrate de que pone
/public_htmly haz clic en "Extraer archivos".
[INFO]: Si el hosting te da error de "memoria" al extraer, no pasa nada. Vuelve a intentarlo. A veces tarda unos minutos en procesar archivos grandes.
4. Paso 3: Importar la base de datos al nuevo servidor
Tenemos los archivos en casa, pero el "cerebro" aún está en la maleta. Vamos a meterlo dentro.
- En tu cPanel nuevo, abre phpMyAdmin.
- Selecciona la base de datos que creaste en el paso anterior (la que está vacía).
- Ve a la pestaña "Importar".
- Haz clic en "Elegir archivo" y selecciona el archivo
.sqlque descargaste del hosting antiguo. - Deja el resto de opciones por defecto y haz clic en "Continuar".
- Si no te da error, verás un mensaje verde de éxito. ¡Enhorabuena, ya tienes los datos dentro!
5. Paso 4: Conectar WordPress con la nueva base de datos
Aquí está el truco del almendruco. WordPress guarda en un archivo llamado wp-config.php los datos de conexión a la base de datos. Ahora mismo, ese archivo sigue apuntando a la base de datos del hosting antiguo, que ya no existe.
Tenemos que editar ese archivo para que apunte a la nueva.
- Ve al Administrador de Archivos en tu cPanel nuevo.
- Entra en
public_html. - Busca el archivo llamado
wp-config.php. - Haz clic derecho sobre él y selecciona "Editar" (o "Code Editor").
- Busca las líneas que dicen
DB_NAME,DB_USER,DB_PASSWORDyDB_HOST. - Modifícalas con los datos de tu nueva base de datos:
// ** Configuración de la base de datos ** //
define( 'DB_NAME', 'nuevohost_wordpress' ); // El nombre que creaste
define( 'DB_USER', 'nuevohost_admin' ); // El usuario que creaste
define( 'DB_PASSWORD', 'tu_contraseña' ); // La contraseña que pusiste
define( 'DB_HOST', 'localhost' ); // Normalmente es 'localhost', pero si no funciona, mira en el cPanel nuevo (suele ser 'localhost' en cPanel)
- Guarda el archivo (Ctrl+S) y ciérralo.
[TIP]: No toques nada más en ese archivo. Solo esas 4 líneas.
6. Paso 5: El paso crítico - Actualizar URLs en la base de datos
Este es el paso que la gente olvida y por el que luego la web se ve en blanco o te redirige al hosting antiguo.
Tu web tiene una URL (ej: www.midominio.com). Esa URL está guardada en la base de datos en miles de sitios (enlaces, imágenes, configuraciones). Si la URL no cambia, no pasa nada. Pero si cambias de dominio o de subdominio (ej: de midominio.com a midominio.es), hay que hacer un reemplazo.
¿Cómo saber si necesitas hacer esto?
- Si tu dominio sigue siendo el mismo (ej:
www.midominio.com) y solo cambias de servidor, NO necesitas hacer nada. La URL es la misma. - Si vas a usar un dominio nuevo o una URL temporal (como
www.tunuevohosting.com/~usuario), entonces SÍ necesitas reemplazar la URL.
Método seguro para reemplazar URLs (si aplica):
- Ve a phpMyAdmin en el hosting nuevo.
- Selecciona tu base de datos.
- Haz clic en la pestaña "SQL" (consulta).
- Pega este comando SQL (cámbialo con tus URLs reales):
UPDATE wp_options SET option_value = replace(option_value, 'http://www.antiguodominio.com', 'http://www.nuevodominio.com') WHERE option_name = 'home' OR option_name = 'siteurl';
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');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://www.antiguodominio.com', 'http://www.nuevodominio.com');
[WARNING]: Si ejecutas este SQL cuando la URL es la misma, no pasará nada malo, pero es una pérdida de tiempo. Solo hazlo si cambias de dominio.
7. Paso 6: Apuntar el dominio al nuevo hosting (DNS)
Ya tenemos todo listo en el nuevo servidor. Ahora hay que decirle al mundo (a los servidores DNS) que tu web ya no vive en la casa vieja, sino en la nueva.
Para ello, tienes que ir al sitio donde compraste tu dominio (GoDaddy, Namecheap, DonDominio, etc.) o al gestor de DNS de tu hosting actual.
- Entra en tu panel de gestión de dominio.
- Busca la sección "DNS" o "Servidores de nombres" (Nameservers).
- Anota los nameservers que te dio tu nuevo hosting (suelen ser algo como
ns1.nuevohosting.comyns2.nuevohosting.com). - Reemplaza los antiguos por los nuevos.
- Guarda los cambios.
[INFO]: La propagación de DNS puede tardar desde 15 minutos hasta 48 horas. No te asustes si ves la web en el hosting antiguo durante unas horas. Es normal.
8. Paso 7: La prueba de fuego y los últimos retoques
Ha llegado el momento de la verdad. Después de cambiar los DNS, espera un poco (al menos 30 minutos) y prueba tu web.
8.1. Verificaciones rápidas
- ¿Carga la web? Sí, perfecto.
- ¿Las imágenes se ven bien? Haz clic derecho en una imagen y "Abrir en una pestaña nueva". Si da error 404, es que las URLs están mal (revisa el paso 6).
- ¿Los enlaces internos funcionan? Haz clic en un par de entradas y páginas.
- ¿El panel de administración funciona? Entra en
www.tudominio.com/wp-admin. Si te deja entrar, genial.
8.2. Activar SSL (Certificado de Seguridad)
Tu nuevo hosting seguramente ofrece Let's Encrypt (gratis). Actívalo.
- En tu cPanel nuevo, busca la sección "Seguridad" y haz clic en "SSL/TLS Status".
- Busca tu dominio en la lista y haz clic en "Ejecutar AutoSSL" (o el botón equivalente).
- Espera a que termine. Ahora tu web debería cargar con
https://.
8.3. Actualizar los datos de acceso (si usas FTP)
Si usas un cliente FTP para subir archivos, asegúrate de actualizar la configuración para que apunte al nuevo servidor.
9. Preguntas Frecuentes (FAQ)
¿Qué pasa si mi web se ve en blanco (error 500) después de migrar?
Es un clásico. Suele ser por un problema de permisos de archivos o porque el wp-config.php tiene datos incorrectos. Revisa que los datos de la base de datos en el wp-config.php sean exactamente los que creaste en el hosting nuevo. Si no, borra el archivo .htaccess viejo (haz una copia antes) y vuelve a intentarlo.
¿Pierdo mis posiciones en Google al hacer un cambio de hosting?
Si mantienes el mismo dominio y la web carga rápido, no deberías perder posiciones. De hecho, si el nuevo hosting es más rápido, podrías ganar posiciones. Lo que sí debes evitar es que la web esté caída durante la migración. Por eso se recomienda hacerlo en horas de bajo tráfico.
Mi web es muy grande y la subida del ZIP falla. ¿Qué hago?
Divide la tarea. No comprimas todo public_html en un solo ZIP. Comprime por partes: primero wp-content/themes, luego wp-content/plugins, y por último wp-content/uploads (que suele ser la más pesada). Súbelas y descomprímelas una a una en sus respectivas carpetas.
¿Puedo usar un plugin para hacer la migración?
Sí, existen plugins como All-in-One WP Migration o Duplicator que hacen todo el trabajo por ti. Son muy útiles, pero a veces fallan con webs muy grandes (límite de memoria) y el método manual
