Mover un sitio WordPress de cPanel a otro servidor
Mover un WordPress de un servidor a otro puede parecer una tarea titánica, sobre todo si nunca lo has hecho. Sin embargo, con la guía adecuada y un poco de paciencia, es un proceso completamente manejable, incluso para quienes no son expertos en sistemas. En este artículo te voy a explicar, paso a paso y sin tecnicismos innecesarios, cómo mover WordPress cPanel de un hosting a otro de forma segura y sin perder ni un solo dato.
Vamos a dividir el proceso en dos grandes fases: la exportación (desde el servidor origen) y la importación (en el servidor destino). Aunque parezca un trabalenguas, al final verás que es como empacar una mudanza: primero guardas todo en cajas (backup), luego las llevas a la nueva casa (subes los archivos) y finalmente desempacas (importas la base de datos) y ajustas los muebles (configuras el nuevo entorno).
¿Qué necesitas antes de empezar?
Antes de lanzarte a la aventura, asegúrate de tener a mano los siguientes datos. Te ahorrarán más de un dolor de cabeza:
- Acceso al cPanel antiguo (usuario y contraseña).
- Acceso al cPanel del nuevo servidor (usuario y contraseña).
- Credenciales FTP o del Administrador de Archivos de ambos servidores.
- Acceso a phpMyAdmin en ambos servidores (normalmente está dentro de cPanel).
- El nombre de dominio que vas a usar, y acceso a su gestión de DNS (donde compraste el dominio o el panel del registrador).
[WARNING] Si tu dominio apunta al servidor antiguo, los cambios de DNS pueden tardar entre 24 y 72 horas en propagarse. No te asustes si al principio no ves el sitio en el nuevo servidor; es normal. Planifica la mudanza para un momento de bajo tráfico.
Fase 1: Empacar en el servidor antiguo (cPanel)
El primer paso para migrar WordPress es crear una copia completa de tu sitio. Esto incluye dos cosas: todos los archivos (imágenes, plugins, temas, etc.) y la base de datos (donde están tus entradas, páginas y configuraciones).
Paso 1.1: Crear un backup completo desde cPanel
La forma más sencilla y fiable es usar la herramienta de copias de seguridad integrada en cPanel.
- Inicia sesión en tu cPanel antiguo.
- Busca la sección Archivos y haz clic en Copias de seguridad o Backup.
- Verás una opción que dice Backup completo o Descargar un backup completo del directorio principal. Haz clic en ella.
- Se generará un archivo comprimido (normalmente en formato
.tar.gz) que contiene todos tus archivos del sitio web, incluyendo el WordPress, los correos y cualquier otra cosa que tengas en el hosting.
Este archivo puede ser grande (varios GB si tienes muchas imágenes). Es recomendable descargarlo directamente a tu ordenador o, si el nuevo servidor lo permite, a una carpeta temporal.
[TIP] Si tu sitio es muy grande, descargar el backup completo puede ser lento. Una alternativa es usar el Administrador de Archivos de cPanel para comprimir solo la carpeta
public_html(o el directorio donde está instalado WordPress). Es más rápido y suficiente para este proceso.
Paso 1.2: Exportar la base de datos con phpMyAdmin
WordPress guarda todo su contenido (textos, usuarios, comentarios, ajustes) en una base de datos MySQL. Necesitas exportarla por separado.
- En el cPanel antiguo, busca la sección Bases de datos y haz clic en phpMyAdmin.
- En el panel izquierdo, verás una lista de bases de datos. Haz clic en el nombre de la base de datos que usa tu WordPress (normalmente empieza con el prefijo de tu usuario de cPanel, por ejemplo
usuario_wpdb). - Una vez dentro, ve a la pestaña Exportar en la parte superior.
- Deja el método de exportación en Rápido y asegúrate de que el formato sea SQL. Haz clic en el botón Continuar o Exportar.
- Se descargará un archivo con extensión
.sql. Guárdalo en un lugar seguro junto con el backup de archivos.
[INFO] No necesitas tocar nada más en phpMyAdmin. La opción "Rápido" exporta todas las tablas y datos de forma correcta para la mayoría de los casos.
Fase 2: Desempaquetar en el servidor nuevo
Ahora viene la parte divertida. Ya tienes tu "caja de mudanza" (el backup y el .sql). Es hora de llevarlos a la nueva casa.
Paso 2.1: Crear la base de datos en el nuevo cPanel
Primero, necesitas un "lugar vacío" donde meter los datos de tu sitio. Eso es la base de datos.
- Inicia sesión en el cPanel del nuevo servidor.
- Ve a la sección Bases de datos y haz clic en Base de datos MySQL.
- Crea una nueva base de datos. Ponle un nombre que te sea fácil de recordar (ej.
nueva_wp). - En la misma página, crea un usuario para esa base de datos (ej.
nuevo_usuario) y asígnale una contraseña segura. - Una vez creados, en la sección Añadir usuario a la base de datos, selecciona el usuario y la base de datos que acabas de crear, y otórgale TODOS LOS PRIVILEGIOS. Marca la casilla "Todos los privilegios" y haz clic en "Hacer cambios".
[WARNING] Anota el nombre de la base de datos, el usuario y la contraseña. Los necesitarás en unos minutos, y es muy fácil olvidarlos.
Paso 2.2: Importar la base de datos en el nuevo servidor
Ahora vas a meter los datos que exportaste antes en la nueva base de datos.
- Ve a phpMyAdmin en el nuevo cPanel.
- En el panel izquierdo, selecciona la base de datos que acabas de crear (la que está vacía).
- Ve a la pestaña Importar.
- Haz clic en Elegir archivo y selecciona el archivo
.sqlque descargaste del servidor antiguo. - Deja el resto de opciones como están y haz clic en Continuar o Importar.
Si todo ha ido bien, verás un mensaje de éxito. Si el archivo es muy grande, puede que necesites subirlo por FTP a una carpeta y usar la opción de importación por archivo en phpMyAdmin, pero para sitios normales, la subida directa funciona perfectamente.
[TIP] Si la importación falla, es probable que el archivo
.sqlsea demasiado grande para la configuración de PHP. Puedes intentar subirlo comprimido en.zipo.gz, ya que phpMyAdmin puede descomprimirlo automáticamente.
Paso 2.3: Subir los archivos de WordPress
Ahora toca mover todos los archivos del sitio. Tienes dos opciones principales.
Opción A: Usar el Administrador de Archivos (Recomendado para principiantes)
- En el nuevo cPanel, abre el Administrador de Archivos.
- Navega a la carpeta
public_html. Vacía esta carpeta si tiene algún archivo por defecto (como unindex.htmlde bienvenida). - Haz clic en Subir y selecciona el archivo de backup que descargaste en el Paso 1.1 (el
.tar.gz). - Una vez subido, verás el archivo en la lista. Haz clic derecho sobre él y selecciona Extraer.
- Se creará una carpeta con el contenido. Selecciona todo el contenido extraído y muévelo (cortar y pegar) a
public_html. - Asegúrate de que los archivos estén directamente en
public_html, no en una subcarpeta tipopublic_html/backup/.
Opción B: Usar FTP (Más rápido para sitios grandes)
- Descarga e instala un cliente FTP como FileZilla.
- Conéctate al nuevo servidor usando las credenciales FTP que te dio tu proveedor de hosting.
- Navega a la carpeta
public_htmlen el servidor remoto. - Arrastra todos los archivos de tu WordPress desde tu ordenador (o desde la descarga del backup) a esa carpeta.
[WARNING] Si tu WordPress está instalado en una subcarpeta (ej.
public_html/blog), deberás subir los archivos a esa subcarpeta, no apublic_htmldirectamente. Revisa dónde tenías el sitio en el servidor antiguo.
Fase 3: Los últimos ajustes (Configuración)
Ya casi está. Ahora viene la parte que más dolores de cabeza causa si se hace mal. No te preocupes, es sencillo si sigues estos pasos.
Paso 3.1: Editar el archivo wp-config.php
Este archivo le dice a WordPress cómo conectarse a la base de datos. Como has creado una base nueva, debes actualizar esta información.
- En el Administrador de Archivos del nuevo cPanel, navega a
public_html. - Busca el archivo
wp-config.php. - Haz clic derecho sobre él y selecciona Editar.
- Busca las siguientes líneas y cámbialas por los datos de tu nueva base de datos:
define( 'DB_NAME', 'nombre_de_tu_nueva_base' );
define( 'DB_USER', 'nombre_de_tu_nuevo_usuario' );
define( 'DB_PASSWORD', 'tu_nueva_contraseña' );
define( 'DB_HOST', 'localhost' ); // Normalmente se deja igual.
- Guarda los cambios y cierra el editor.
[INFO] El valor de
DB_HOSTsuele serlocalhost, pero en algunos hostings puede ser diferente (ej.mysql.tudominio.com). Si no estás seguro, revisa la documentación de tu nuevo proveedor o en el cPanel nuevo, suele aparecer en la sección de "Base de datos MySQL".
Paso 3.2: Actualizar las URLs del sitio (el paso más importante)
Este es el error más común. Si tu dominio era www.midominio.com y ahora es www.otrodominio.com, WordPress tiene guardadas las URLs antiguas en la base de datos. Si no las cambias, el sitio se verá roto o te redirigirá al servidor antiguo.
Hay dos formas de hacerlo:
Opción A: Usar un plugin (La más fácil)
- Antes de nada, no entres a tu sitio web todavía.
- Ve a tu Administrador de Archivos en el nuevo cPanel.
- Navega a
public_html/wp-content/plugins/. - Crea una carpeta llamada
better-search-replace(o cualquier nombre temporal). - Descarga el plugin "Better Search Replace" desde wordpress.org, descomprímelo y sube su contenido a la carpeta que creaste. O simplemente sube el archivo
.zipdel plugin a la carpeta de plugins y descomprímelo ahí. - Ahora sí, entra a tu sitio web con tu nuevo dominio. WordPress intentará cargar, pero verás errores. Eso es normal.
- Ve a
tudominionuevo.com/wp-admine inicia sesión (usa tu usuario y contraseña de siempre). - Ve a Herramientas > Better Search Replace.
- En "Buscar", escribe
http://www.tudominioantiguo.com(ohttps, según uses). - En "Reemplazar por", escribe
http://www.tudominionuevo.com. - Selecciona Todas las tablas y desmarca la opción "Dry Run" (Simulación).
- Haz clic en Ejecutar reemplazo.
- ¡Listo! Tu sitio ahora debería funcionar correctamente.
Opción B: Editar manualmente con phpMyAdmin (Sin plugins)
Si prefieres no instalar plugins, puedes hacerlo con una consulta SQL.
- Entra a phpMyAdmin en el nuevo servidor y selecciona tu base de datos.
- Ve a la pestaña SQL.
- Ejecuta la siguiente consulta, reemplazando las URLs por las tuyas:
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');
[WARNING] Asegúrate de que el prefijo de las tablas es
wp_. Si no, cámbialo por el que uses (ej.mi_sitio_options). Puedes ver los nombres de las tablas en el panel izquierdo de phpMyAdmin.
Consejos finales y resolución de problemas
- Enlaces rotos: Después de la migración, es posible que algunas imágenes o enlaces internos sigan apuntando a la URL antigua. Puedes usar un plugin como "Velvet Blues Update URLs" para arreglar todos los enlaces en el contenido de una sola vez.
- Permalinks (Enlaces permanentes): Ve a Ajustes > Enlaces permanentes en tu wp-admin y haz clic en Guardar cambios sin modificar nada. Esto actualiza el archivo
.htaccessy evita errores 404 en las páginas internas. - SSL/HTTPS: Si tu nuevo servidor tiene un certificado SSL, asegúrate de que el sitio se carga con
https://. Puedes usar un plugin como "Really Simple SSL" para forzar la redirección. - Si usas Syspanel: Si tu nuevo servidor utiliza el panel de control Syspanel en lugar de cPanel, no te preocupes. El proceso es muy similar. La principal diferencia es que el acceso a la gestión de archivos y bases de datos se realiza a través de su interfaz, a la que accedes por el puerto 2106 (ej.
tuserver.com:2106). Busca las secciones de "Archivos" y "Bases de datos" que encontrarás en el menú principal, y el resto de los pasos (exportar, importar, editarwp-config.php) son exactamente los mismos.
Preguntas frecuentes (FAQ)
¿Cuánto tiempo tarda en propagarse el DNS?
Puede tardar desde unas pocas horas hasta 72 horas. Durante este tiempo, algunos visitantes verán el sitio antiguo y otros el nuevo. Es normal y no debes preocuparte.
¿Qué pasa si pierdo los datos del sitio durante la migración?
Si has seguido los pasos y tienes el backup del servidor antiguo, no perderás nada. Lo peor que puede pasar es que tengas que repetir algún paso. Siempre guarda una copia del backup en tu ordenador hasta que estés 100% seguro de que el sitio nuevo funciona.
¿Debo desactivar los plugins antes de migrar?
No es estrictamente necesario, pero es recomendable desactivar los plugins de caché (como W3 Total Cache o WP Super Cache) antes de hacer el backup. Esto evita que se copien archivos de caché innecesarios que podrían causar problemas.
¿Qué hago si el sitio se ve en blanco (error 500)?
Esto suele ser un problema con el archivo .htaccess. Ve al Administrador de Archivos, busca el archivo .htaccess en public_html, descárgalo a tu ordenador como respaldo, y luego elimínalo del servidor. Ve a Ajustes > Enlaces permanentes en wp-admin y guarda los cambios para generar uno nuevo.
¿Puedo mover WordPress sin usar cPanel?
Sí, puedes hacerlo usando FTP y phpMyAdmin directamente, pero el proceso es más manual y propenso a errores. cPanel y Syspanel (a través del puerto 2106) simplifican mucho las tareas, por lo que es lo que recomiendo para la mayoría de los usuarios.
