Cómo mover WordPress a un nuevo dominio o servidor en cPanel
Mudarse de casa es emocionante, pero también un poco caótico. Pues bien, migrar una página web es exactamente lo mismo: es la oportunidad perfecta para estrenar un servidor más rápido o un dominio más profesional, pero si no se hace con cuidado, puedes perder el contenido, el diseño o, lo más importante, el posicionamiento en Google que tanto te ha costado conseguir.
No te preocupes. No necesitas ser un genio de la programación para lograrlo. En esta guía completa, paso a paso y en un español claro, te voy a enseñar a migrar WordPress cPanel sin despeinarte. Vamos a por ello.
Antes de empezar: Prepara el equipaje (Requisitos previos)
Piensa en esta migración como una mudanza física. No empiezas a meter cosas en cajas sin tener cajas, pegamento y un plan. Aquí tu plan es la organización y tus cajas son los archivos y la base de datos.
¿Qué necesitas tener a mano?
- Acceso al cPanel antiguo: El panel de control de tu hosting actual (donde está tu web ahora mismo).
- Acceso al cPanel nuevo: El panel de control del hosting al que te vas a mudar (o donde está el nuevo dominio).
- Credenciales FTP: Usuario y contraseña para subir archivos (aunque cPanel suele tener un administrador de archivos integrado que es más fácil).
- Gestor de bases de datos: Acceso a phpMyAdmin en ambos cPanels.
- Un bloc de notas: Sí, en serio. Lo usarás para pegar textos importantes (como el contenido del archivo
wp-config.php).
[WARNING] NO EMPIECES SIN ESTO: Antes de tocar nada, haz una copia de seguridad completa de tu sitio actual. Tanto de los archivos como de la base de datos. Si algo sale mal (que no saldrá, pero por si acaso), podrás volver atrás en 5 minutos. En cPanel, busca la herramienta "Backup" o "Copias de seguridad" y descarga todo a tu ordenador.
Paso 1: Haz la maleta (Copia de seguridad de tu WordPress)
Primero, vamos a empaquetar todos los archivos de tu web. Esto incluye el núcleo de WordPress, tus plugins, tus temas y, crucialmente, las imágenes y archivos subidos (la carpeta wp-content).
1.1. Comprimir los archivos desde cPanel
- Entra en el cPanel de tu hosting actual.
- Busca la sección Archivos y haz clic en Administrador de archivos.
- Entra en la carpeta
public_html(owww, dependiendo del hosting). Si tu web está en una subcarpeta, entra en esa. - En la parte superior, verás un botón llamado Seleccionar todo. Haz clic en él.
- Con todo seleccionado, haz clic en el botón Comprimir (suele tener un icono de un archivo con una cremallera).
- Elige el tipo Zip y en el campo "Archivo de destino" escribe algo como
mipagina_completa.zip. - Haz clic en Comprimir Archivos. Verás que se genera un archivo
.zipen la misma carpeta. - Descarga ese archivo .zip a tu ordenador. Es tu caja de archivos.
[TIP] ¿Dónde está mi web? Si no estás seguro de si tu web está en
public_htmlo en una subcarpeta, mira la columna "Ruta" en el Administrador de archivos. Suele serpublic_htmlopublic_html/miweb.
1.2. Exportar la base de datos (El cerebro de tu web)
Tu web no son solo archivos; también es una base de datos donde se guardan tus entradas, páginas, comentarios y configuraciones. Vamos a extraerla.
- En el mismo cPanel, busca la sección Bases de datos y haz clic en phpMyAdmin.
- En la columna de la izquierda, verás una lista de bases de datos. Haz clic en el nombre de la base de datos de tu WordPress (suele tener un prefijo como
tuusuario_wp). - Una vez dentro, haz clic en la pestaña Exportar en el menú superior.
- Elige el método de exportación Rápido y formato SQL.
- Haz clic en el botón Continuar o Exportar. Se descargará un archivo
.sqla tu ordenador. Ya tienes tu cerebro en una caja.
[INFO] ¿Qué es una base de datos? Imagina que tu web es un coche. Los archivos son la carrocería, las ruedas y el motor. La base de datos es la computadora central que le dice al coche cómo funcionar. Necesitas ambas cosas para que arranque.
Paso 2: Prepara la nueva casa (Configura el servidor y dominio)
Ahora toca preparar el destino. Dependiendo de si vas a cambiar de dominio o solo de servidor, los pasos varían un poco.
2.1. Si vas a cambiar de servidor con el mismo dominio
- En el cPanel nuevo, busca la sección Dominios y haz clic en Dominios adicionales o Addon Domains.
- Añade tu dominio (ej.
mipagina.com) y asegúrate de que apunte a la carpetapublic_html. - Importante: No instales WordPress desde cero aquí. Solo necesitas que la carpeta
public_htmlexista y esté vacía.
2.2. Si vas a cambiar de dominio (ej. de mipagina.com a mipaginanueva.com)
- Actualiza los servidores DNS: Ve a tu registrador de dominios (donde compraste el dominio nuevo) y asegúrate de que los servidores DNS apunten a tu nuevo hosting. Esto puede tardar de 1 a 24 horas en propagarse.
- En el cPanel nuevo, ve a la sección Dominios y añade tu nuevo dominio como dominio principal o adicional.
[WARNING] No borres nada del servidor antiguo todavía. Espera a que la migración esté 100% completa y verificada antes de cancelar el servicio antiguo. La propagación de DNS puede tardar, y si borras los archivos antes de tiempo, tu web estará caída.
Paso 3: Desembala los archivos (Sube la copia al nuevo servidor)
Ahora sí, vamos a llevar nuestras cajas a la nueva casa.
3.1. Subir el archivo ZIP
- Entra en el cPanel del nuevo servidor.
- Ve al Administrador de archivos y navega hasta
public_html. - Haz clic en el botón Subir en la parte superior.
- Selecciona el archivo
mipagina_completa.zipque descargaste antes y súbelo. Dependiendo del tamaño de tu web, puede tardar unos minutos. - Cuando termine la subida, verás el archivo
.zipen la carpetapublic_html.
3.2. Descomprimir el archivo
- Haz clic derecho sobre el archivo
.zipy selecciona Extraer o Extract. - En la ventana que aparece, deja la ruta de destino vacía (o asegúrate de que diga
/public_html). Esto hará que los archivos se extraigan directamente en esa carpeta. - Haz clic en Extraer archivos.
- Verás que aparece una carpeta con el nombre de tu web (o los archivos sueltos). Importante: Si se crea una subcarpeta, tendrás que mover todos los archivos de dentro de esa subcarpeta a
public_html.
[TIP] ¿Todo desordenado? Si al extraer te aparece una carpeta llamada
mipaginadentro depublic_html, entra en ella, selecciona todo (Ctrl+A), haz clic en Mover y en el campo de destino escribe/home/tuusuario/public_html/. Así de simple.
Paso 4: Crea la nueva base de datos (El cerebro nuevo)
El nuevo servidor no tiene tu información. Tenemos que crear una base de datos nueva y meterle los datos que exportamos.
4.1. Crear la base de datos y el usuario
- En el cPanel nuevo, busca la sección Bases de datos MySQL.
- Crea una nueva base de datos (ej.
nuevousuario_miweb). - Crea un nuevo usuario para esa base de datos (ej.
nuevousuario_admin). Ponle una contraseña segura y guárdala en tu bloc de notas. - Ahora, en la misma página, busca la sección Añadir usuario a la base de datos. Selecciona tu usuario y tu base de datos, y asígnale TODOS LOS PRIVILEGIOS. Haz clic en "Añadir".
4.2. Importar los datos antiguos
- Ve a phpMyAdmin en el nuevo cPanel.
- Haz clic en tu nueva base de datos (la que acabas de crear) en la columna de la izquierda.
- Haz clic en la pestaña Importar.
- Haz clic en Elegir archivo y selecciona el archivo
.sqlque descargaste del servidor antiguo. - Haz clic en el botón Continuar.
- Verás un mensaje de éxito. La base de datos está importada.
Paso 5: Conecta el cerebro con el cuerpo (Editar wp-config.php)
Este es el paso más delicado. Ahora tienes los archivos en el nuevo sitio y la base de datos importada, pero los archivos no saben cómo conectarse a la nueva base de datos. Hay que decirles las nuevas credenciales.
- Ve al Administrador de archivos del nuevo cPanel.
- Navega a
public_htmly busca el archivowp-config.php. - Haz clic derecho sobre él y selecciona Editar (o Edit).
- Busca las líneas que dicen algo así:
define( 'DB_NAME', 'base_de_datos_vieja' );
define( 'DB_USER', 'usuario_viejo' );
define( 'DB_PASSWORD', 'contraseña_vieja' );
define( 'DB_HOST', 'localhost' );
- Reemplaza los valores entre comillas con los datos de tu nueva base de datos que creaste en el Paso 4.
DB_NAME: El nombre de tu nueva base de datos.DB_USER: El nuevo usuario que creaste.DB_PASSWORD: La contraseña que le pusiste a ese usuario.DB_HOST: Normalmente eslocalhost, pero si tu hosting usa otro, lo verás en el cPanel (suele serlocalhostomysql.tudominio.com).
- Guarda el archivo.
[WARNING] ¡Ojo con los espacios! No dejes espacios en blanco antes de
<?phpal inicio del archivo ni después de?>al final. Esto rompe la web y te mostrará un error de "headers already sent".
Paso 6: El truco del mago (Arreglar las URLs)
Este es el paso que todo el mundo olvida y el que causa más dolores de cabeza. Tu base de datos todavía recuerda la URL antigua (ej. mipagina.com). Si ahora tu web se llama mipaginanueva.com, todo estará roto: los enlaces, las imágenes, los estilos...
Tenemos que hacer un "find & replace" (buscar y reemplazar) en la base de datos. No lo hagas con un editor de texto normal, porque romperías las URLs serializadas. Usa una herramienta específica.
6.1. Usando el plugin "Better Search Replace" (La forma más fácil)
- Ve a tu panel de administración de WordPress. ¿Cómo? Escribe en tu navegador
tudominio.com/wp-admin. Es posible que la web se vea rara o te dé un error, pero el panel debería cargar. - Ve a Plugins → Añadir nuevo.
- Busca Better Search Replace e instálalo y actívalo.
- Ve a Herramientas → Better Search Replace.
- En "Buscar" escribe la URL antigua (ej.
https://mipagina.com). - En "Reemplazar por" escribe la URL nueva (ej.
https://mipaginanueva.com). - Selecciona todas las tablas de la base de datos (haz clic en "Seleccionar todo").
- Marca la casilla "Dry Run" (Simulación) y haz clic en "Buscar/Reemplazar". Esto te mostrará cuántos cambios hará sin aplicarlos.
- Si ves que el número de cambios es lógico, desmarca la casilla "Dry Run" y haz clic en "Run" (Ejecutar).
- ¡Listo! Las URLs están actualizadas.
[TIP] ¿No puedes entrar al panel? Si al intentar entrar a
wp-adminte da un error, no pasa nada. Puedes usar la herramienta WP-CLI si tu hosting la soporta, o editar el archivowp-config.phppara forzar las URLs. Al final del archivo, antes de/* That's all, stop editing! */, añade estas líneas:define('WP_HOME','http://tudominionuevo.com'); define('WP_SITEURL','http://tudominionuevo.com');
Paso 7: El momento de la verdad (Verificación final)
Ya has hecho todo el trabajo duro. Ahora toca comprobar que todo funciona.
7.1. Comprobaciones rápidas de salud
- Abre tu web en una ventana de incógnito (para evitar caché). Haz clic en un par de enlaces internos. ¿Se ven las imágenes? ¿La página de inicio carga bien?
- Entra al panel de administración (
tudominio.com/wp-admin). Comprueba que puedes ver tus entradas y páginas. - Revisa los permalinks: Ve a Ajustes → Enlaces permanentes y haz clic en "Guardar cambios" sin cambiar nada. Esto refresca las reglas de reescritura y arregla posibles errores 404 en páginas internas.
- Activa un tema por defecto (si tenías uno muy personalizado) temporalmente para ver si el problema es del tema o de la migración. Si funciona, reactiva tu tema.
[WARNING] Errores comunes: Si ves un "Error al conectar con la base de datos", revisa el archivo
wp-config.phpde nuevo. Si ves un error 500, es un problema de permisos de archivos o de un plugin incompatible. A menudo, basta con renombrar la carpetapluginsaplugins_inactivospara desactivarlos todos y luego ir activándolos uno a uno.
Preguntas Frecuentes (FAQ)
¿Cuánto tiempo tarda la propagación de DNS?
La propagación de DNS puede tardar desde unos minutos hasta 24-48 horas. Durante este tiempo, algunos usuarios verán tu web en el servidor antiguo y otros en el nuevo. No te preocupes, es normal. Puedes acelerar el proceso usando herramientas como "What's My DNS" para monitorizar el estado.
¿Necesito usar FTP para subir los archivos?
No es obligatorio. El Administrador de archivos de cPanel es más que suficiente y más intuitivo para principiantes. FTP es útil si tu web es gigante y necesitas reanudar descargas, pero para la mayoría de los casos, el Administrador de archivos funciona perfecto.
¿Qué hago si mi web se ve horrible (sin estilos) después de migrar?
Esto es casi siempre un problema de URLs. Significa que el navegador está buscando los archivos CSS y JavaScript en la URL antigua. Vuelve al Paso 6 y asegúrate de haber ejecutado el "Better Search Replace" correctamente. Si lo hiciste, prueba a limpiar la caché del navegador y del plugin de caché de WordPress.
¿Puedo migrar solo el dominio y no el servidor?
Sí. Si te quedas en el mismo hosting pero cambias el dominio, el proceso es idéntico, pero en lugar de mover archivos entre cPanels, solo tendrás que copiar la web a la nueva
