Cómo mover WordPress de un servidor a otro con cPanel
Mover tu sitio web puede sonar a algo complicado, pero con esta guía paso a paso lo harás sin sustos. Si estás leyendo esto, es porque necesitas migrar wordpress cpanel de un hosting a otro. Ya sea porque buscas mejor rendimiento, más espacio o simplemente un mejor precio, el proceso es más sencillo de lo que piensas.
Vamos a desglosar el proceso de mover wordpress servidor en dos grandes bloques: primero, preparar el destino y hacer una copia del origen; y segundo, transferir los archivos y la base de datos. Al final, también te doy trucos para que todo salga perfecto a la primera.
¿Qué necesitas antes de empezar?
Antes de ponernos manos a la obra, reúne estos datos. Te harán la vida mucho más fácil:
- Acceso al cPanel del hosting actual (donde está tu web ahora).
- Acceso al cPanel del hosting nuevo (a donde vas a moverla).
- Las credenciales de FTP o, mejor aún, el acceso al Administrador de Archivos de ambos cPanels.
- El nombre de la base de datos y el usuario de tu WordPress actual (lo verás en el archivo
wp-config.php). - Un gestor de contraseñas o un bloc de notas para anotar todo.
[INFO] Si tu nuevo hosting usa un panel tipo Syspanel (antes conocido como HestiaCP), no te preocupes. Aunque la interfaz cambia un poco, los conceptos son los mismos. Accede a través del puerto 2106 (por ejemplo,
https://tu-dominio.com:2106) y busca las secciones de "Archivos" y "Bases de Datos".
Paso 1: Prepara el terreno en tu nuevo hosting
Este es el paso que muchos se saltan y luego vienen los problemas. No lo hagas.
Crea la base de datos y el usuario en el destino
Tu WordPress necesita una base de datos nueva en el servidor de destino. Aquí no vamos a copiar la información todavía, solo vamos a crear el "cascarón" vacío.
- Entra al cPanel de tu nuevo hosting.
- Busca la sección "Bases de Datos MySQL" y haz clic.
- Crea una nueva base de datos. Anota el nombre exacto. Normalmente tendrá un prefijo como
nuevo_usuario_basededatos. - Dentro de esa misma sección, crea un nuevo usuario para la base de datos. Elige una contraseña segura.
- Ahora, en la sección de "Añadir Usuario a la Base de Datos", selecciona el usuario y la base de datos que acabas de crear.
- Marca TODOS LOS PRIVILEGIOS (o "ALL PRIVILEGES") y haz clic en "Añadir".
[WARNING] Es crucial que el usuario tenga todos los privilegios, no solo de lectura. Si no, WordPress no podrá guardar nada (ni comentarios, ni entradas, ni configuraciones).
Crea un directorio temporal para los archivos
Aunque luego lo subiremos todo a la raíz, es buena práctica subir los archivos a una carpeta temporal. Esto evita conflictos si ya hay algo instalado.
- Ve a la sección "Administrador de Archivos" en tu cPanel nuevo.
- Entra en la carpeta
public_html(ohtdocs). - Crea una carpeta nueva llamada
migracion_temp. La borraremos al final.
Paso 2: Haz una copia de seguridad de tu WordPress actual
Ahora pasamos a la parte de extraer la información. Vamos a hacer una copia de seguridad completa, que incluye archivos y base de datos.
Exporta la base de datos desde el cPanel antiguo
- Entra al cPanel de tu hosting actual.
- Busca la sección "phpMyAdmin" y haz clic.
- En el panel izquierdo, selecciona la base de datos de tu WordPress (la que aparece en tu
wp-config.php). - Haz clic en la pestaña "Exportar" en la parte superior.
- Deja el método en "Rápido" y el formato en "SQL".
- Haz clic en "Continuar". Se descargará un archivo
.sql. Guárdalo en tu ordenador.
[INFO] Si tu base de datos es muy grande (más de 100 MB), puede que el exportador dé problemas. En ese caso, usa la opción "Personalizado" y comprime el archivo con "gzip" o "zip". Si aún así falla, contacta con tu soporte de hosting actual, ellos pueden hacerte un volcado manual.
Descarga todos los archivos de tu WordPress
Ahora vamos con los archivos. Tienes dos opciones: usar el Administrador de Archivos o un cliente FTP (como FileZilla). Yo te recomiendo el Administrador de Archivos para sitios pequeños, es más visual.
- En el cPanel antiguo, ve a "Administrador de Archivos".
- Entra en
public_html. - Selecciona TODOS los archivos y carpetas que veas dentro. Puedes usar "Seleccionar todo" en la esquina superior derecha.
- Haz clic en "Comprimir" y elige "Zip Archive".
- Se creará un archivo
archive.zip. Descárgalo a tu ordenador.
[WARNING] No comprimas la carpeta
public_htmlentera, solo su contenido. Si comprimes la carpeta, luego tendrás que extraerla dentro de la raíz y la estructura de rutas se duplicará, dando errores de 404.
Paso 3: Sube los archivos al nuevo servidor
Ya tenemos la caja con las piezas. Ahora toca llevarla a la nueva casa.
Sube y descomprime la copia
- Ve al cPanel nuevo y abre el "Administrador de Archivos".
- Entra en la carpeta
public_htmly luego en la carpetamigracion_tempque creamos antes. - Haz clic en "Cargar" y sube el archivo
archive.zip. - Una vez subido, haz clic derecho sobre el archivo y selecciona "Extraer" (o "Extract").
- Se descomprimirá todo el contenido dentro de
migracion_temp.
[TIP] Si tu web es enorme (varios GB), el Administrador de Archivos puede agotar el tiempo de espera. En ese caso, usa un cliente FTP como FileZilla. Conéctate a tu hosting nuevo y sube los archivos directamente a
public_html. Es más rápido y fiable para archivos pesados.
Mueve los archivos a la raíz
Ahora tenemos los archivos dentro de public_html/migracion_temp. Necesitamos que estén directamente en public_html.
- En el Administrador de Archivos, entra en
migracion_temp. - Selecciona todos los archivos que se han extraído.
- Haz clic en "Mover".
- En la ruta de destino, escribe
/public_html/(o la ruta absoluta que te muestre el sistema). - Haz clic en "Mover". Espera a que se complete.
- Borra la carpeta
migracion_tempque ya no necesitamos.
[WARNING] Si en el nuevo hosting ya había archivos dentro de
public_html(por ejemplo, un index.html de bienvenida), la subida los sobrescribirá o los mezclará. Asegúrate de que la carpeta esté limpia o haz una copia de seguridad previa de esos archivos.
Paso 4: Importa la base de datos al nuevo servidor
Ahora viene la parte más delicada. Vamos a meter los datos en el "cascarón" vacío que creamos en el Paso 1.
- En el cPanel nuevo, abre "phpMyAdmin".
- Selecciona la base de datos vacía que creaste al principio.
- Haz clic en la pestaña "Importar".
- Haz clic en "Elegir archivo" y selecciona el archivo
.sqlque exportaste del hosting antiguo. - Deja las opciones por defecto y haz clic en "Continuar".
[INFO] Si el archivo
.sqles muy grande, puede que el importador falle. Si esto ocurre, contacta con tu nuevo proveedor de hosting. Muchos ofrecen la opción de importar bases de datos grandes de forma manual por SSH o por un script especial.
Paso 5: Conecta la base de datos a WordPress
Ahora tenemos los archivos y la base de datos, pero están desconectados. Necesitamos decirle a WordPress con qué base de datos tiene que hablar. Esto se hace editando el archivo wp-config.php.
- En el cPanel nuevo, abre el "Administrador de Archivos".
- Ve a
public_htmly busca el archivowp-config.php. - Haz clic derecho sobre él y selecciona "Editar" (o "Edit").
- Busca las siguientes líneas y cámbialas por los datos de tu nueva base de datos:
define( 'DB_NAME', 'nuevo_nombre_base_datos' );
define( 'DB_USER', 'nuevo_usuario_base_datos' );
define( 'DB_PASSWORD', 'nueva_contraseña_usuario' );
define( 'DB_HOST', 'localhost' ); // Normalmente se deja igual
- Guarda los cambios y cierra el editor.
[WARNING] El
DB_HOSTcasi siempre eslocalhost, pero en algunos hostings puede serlocalhost:3306o una dirección IP. Si tu web da error de "Error al conectar con la base de datos", revisa este valor en tu hosting nuevo o contacta con su soporte.
Paso 6: Actualiza la URL del sitio (si es necesario)
Si estás migrar wordpress cpanel a un dominio nuevo, tienes que actualizar las URLs. Si mueves el sitio al mismo dominio, este paso no es necesario.
Si cambias de dominio, la forma más segura es hacerlo directamente en la base de datos.
- En el cPanel nuevo, abre "phpMyAdmin".
- Selecciona tu base de datos importada.
- Haz clic en la pestaña "SQL".
- Ejecuta la siguiente consulta SQL, reemplazando
tudominioantiguo.comytudominionuevo.compor tus dominios reales:
UPDATE wp_options SET option_value = REPLACE(option_value, 'https://tudominioantiguo.com', 'https://tudominionuevo.com') WHERE option_name IN ('siteurl', 'home');
[INFO] Si tu web usa una URL con
www(por ejemplo,https://www.midominio.com), asegúrate de usar la URL exacta en la consulta. Si no lo haces, la web cargará pero los recursos internos (imágenes, CSS) se romperán.
Arregla los enlaces internos (opcional pero recomendado)
La consulta anterior solo cambia la URL principal. Si tienes enlaces internos que apuntan al dominio antiguo (por ejemplo, dentro de entradas o menús), es mejor hacer un cambio global.
- En la misma pestaña "SQL", ejecuta:
UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://tudominioantiguo.com', 'https://tudominionuevo.com');
Paso 7: Configura el dominio (DNS)
Este paso es fundamental y se hace fuera de cPanel. Tienes que apuntar tu dominio al nuevo servidor.
- Ve a tu registrador de dominios (donde compraste el dominio, como GoDaddy, Namecheap, etc.).
- Busca la sección de "DNS" o "Name Servers".
- Cambia los name servers a los que te haya proporcionado tu nuevo hosting (normalmente algo como
ns1.nuevohosting.comyns2.nuevohosting.com). - Guarda los cambios.
[WARNING] La propagación de DNS puede tardar desde 1 hora hasta 48 horas. No te asustes si no ves tu web de inmediato. Durante ese tiempo, puedes seguir trabajando en tu web accediendo a través de una IP o modificando el archivo
hostsde tu ordenador.
Paso 8: Verifica y soluciona problemas comunes
Una vez que el DNS se propague, entra a tu web. Si algo falla, aquí tienes los problemas más habituales y sus soluciones.
Error de conexión a la base de datos
- Causa: Los datos en
wp-config.phpson incorrectos. - Solución: Revisa el nombre de la base de datos, el usuario y la contraseña. Asegúrate de que no hay espacios en blanco.
Página en blanco (error 500)
- Causa: Archivos corruptos o permisos incorrectos.
- Solución: Revisa los permisos de archivos y carpetas. Las carpetas deben estar en
755y los archivos en644. Puedes cambiarlos desde el Administrador de Archivos, seleccionando todos y haciendo clic en "Permisos".
Enlaces rotos o imágenes que no cargan
- Causa: La URL en la base de datos sigue siendo la antigua.
- Solución: Ejecuta las consultas SQL del Paso 6 de nuevo. Si el problema persiste, instala un plugin como "Better Search Replace" para hacer un cambio más profundo.
La web carga pero el panel de administración da error
- Causa: Puede ser un problema de caché o de
.htaccess. - Solución: Borra la caché del navegador. Si sigue fallando, entra a
public_htmly renombra el archivo.htaccessa.htaccess_old. Luego entra a/wp-admin/y ve a Ajustes > Enlaces Permanentes. Haz clic en "Guardar cambios" para regenerar el archivo.
Preguntas Frecuentes (FAQ)
Aquí tienes las dudas que más nos llegan al soporte sobre transferir wordpress cpanel.
¿Puedo usar un plugin para la migración?
Sí, plugins como Duplicator o All-in-One WP Migration son excelentes y pueden automatizar gran parte del proceso. Sin embargo, entender el método manual te da control total y es útil si los plugins fallan por límites de memoria o tamaño de archivo.
¿Qué pasa con mi correo electrónico?
El correo electrónico es un servicio separado del hosting web. Si tu correo está en el hosting antiguo, tendrás que crear las cuentas de correo en el nuevo hosting y migrar los correos existentes (si los necesitas). Esto no lo hace WordPress. Es un proceso aparte.
¿Perderé mi posicionamiento SEO al mover el sitio?
No, si lo haces bien. La clave está en mantener la misma estructura de URLs y en configurar correctamente las redirecciones 301 si cambias alguna URL. Si cambias de dominio, las redirecciones son obligatorias para no perder el ranking en Google.
¿Debo desactivar la caché antes de migrar?
Sí, totalmente recomendable. Tanto en el hosting antiguo como en el nuevo (si ya tienes algún plugin de caché instalado). La caché puede guardar archivos antiguos y dar problemas con la visualización de la web tras la migración.
¿Cuánto tarda una migración de WordPress?
La parte de transferencia de archivos y base de datos puede tardar desde 15 minutos hasta un par de horas, dependiendo del tamaño de tu web. La parte que más tarda es la propagación de DNS, que es un proceso externo y no depende de ti.
¿Y si me equivoco en algo? ¿Puedo volver atrás?
¡Sí! Por eso es crucial que no canceles tu hosting antiguo hasta que estés 100% seguro de que todo funciona en el nuevo. Mientras tanto, tu web seguirá activa en el servidor antiguo como respaldo.
[TIP] Antes de cancelar el hosting antiguo, haz una copia de seguridad final de la base de datos y los archivos. Así, si en el futuro necesitas recuperar algo, lo tendrás a mano.
Conclusión
Mover wordpress servidor es una tarea que, con método y paciencia, está al alcance de cualquiera. Siguiendo estos pasos, habrás **transferido
