Migrar WordPress de cPanel a otro servidor: guía completa
Migrar un sitio web de WordPress de un servidor con cPanel a otro puede parecer una tarea compleja, pero con la guía adecuada, es un proceso bastante manejable. Esta guía completa te llevará paso a paso, explicando cada concepto de forma sencilla, para que puedas transferir WordPress sin estrés y sin perder datos.
El objetivo es que, al finalizar, tu sitio funcione exactamente igual en el nuevo hosting, con todos los plugins, temas, imágenes y, sobre todo, el contenido intacto. Vamos a dividir la tarea en dos grandes fases: la exportación desde el servidor origen (con cPanel) y la importación al servidor destino (que podría ser otro cPanel, un panel como Syspanel, o incluso un servidor manual).
Fase 1: Preparación y Recopilación de Datos desde cPanel
Antes de tocar nada, es fundamental tener a mano toda la información de tu sitio actual. Esto te evitará dolores de cabeza.
1.1. Accede a tu cPanel y Localiza las Herramientas Clave
Lo primero es iniciar sesión en el cPanel de tu hosting actual. Una vez dentro, busca las siguientes secciones, que son las que usaremos:
- Archivos: Busca el icono de "Administrador de Archivos".
- Bases de Datos: Busca "phpMyAdmin" y "Bases de Datos MySQL".
- Dominios: Busca "Zonas de Edición" o "DNS Zone Editor".
[TIP] Anota en un bloc de notas el nombre de tu base de datos, el usuario y la contraseña. Los encontrarás en el archivo
wp-config.phpde tu instalación de WordPress, pero también puedes verlos desde la sección "Bases de Datos MySQL" de cPanel.
1.2. Exportar los Archivos de WordPress (La Carpeta public_html)
WordPress se compone de dos partes: los archivos (código, temas, plugins, imágenes) y la base de datos (contenido, configuraciones, usuarios). Vamos a empezar con los archivos.
- En el Administrador de Archivos de cPanel, navega hasta la carpeta
public_html(ohtdocs). Normalmente, ahí está tu sitio web principal. - Una vez dentro, selecciona todos los archivos y carpetas (puedes usar Ctrl+A o el botón "Seleccionar todo").
- En el menú superior, haz clic en "Comprimir" y elige "Zip Archive". Dale un nombre claro, como
mipagina-web.zip. - cPanel generará un archivo comprimido. Una vez listo, descárgalo a tu computadora. Este archivo contiene todo tu sitio: temas, plugins, subidas (uploads), etc.
[WARNING] No olvides incluir la carpeta
wp-content. Ahí están tus imágenes, plugins y temas. Si solo copias el resto, tu sitio se verá en blanco.
1.3. Exportar la Base de Datos de WordPress
Ahora vamos a sacar la base de datos, que es donde está todo tu contenido: entradas, páginas, comentarios, usuarios y configuraciones del sitio.
- En cPanel, busca y haz clic en phpMyAdmin.
- En la pantalla que se abre, a la izquierda verás una lista de bases de datos. Haz clic en la que corresponde a tu WordPress (el nombre suele ser algo como
usuario_wpo similar). - Una vez dentro de la base de datos, verás una pestaña en la parte superior llamada "Exportar". Haz clic en ella.
- Se abrirán dos opciones: "Rápida" y "Personalizada". Te recomiendo usar "Personalizada" y luego:
- Asegúrate de que el método sea "SQL".
- Marca la opción "Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT" (esto asegura que al importar no haya conflictos con tablas antiguas).
- En "Formato de texto", deja "NONE".
- Haz clic en "Continuar" o "Exportar". Se descargará un archivo con extensión
.sql. Guárdalo en tu computadora con un nombre comomipagina-db.sql.
[INFO] La opción "DROP TABLE" es segura. Significa que al importar en el nuevo servidor, primero se borrarán las tablas existentes (si las hay) y luego se crearán las nuevas. Así evitas errores de duplicados.
1.4. (Opcional pero Recomendado) Anota la Configuración DNS
Para que tu dominio apunte al nuevo servidor, necesitarás cambiar los DNS. Anota los nameservers actuales (suelen ser algo como ns1.tuhosting.com y ns2.tuhosting.com) o, si tienes acceso a la zona DNS, anota los registros A y CNAME principales. Esto te servirá más adelante.
Fase 2: Migración al Nuevo Servidor (Proceso de Importación)
Ya tienes los dos archivos clave: el ZIP con los archivos y el SQL con la base de datos. Ahora vamos a colocarlos en el nuevo hosting.
2.1. Crear la Base de Datos en el Nuevo Servidor
El nuevo servidor no tiene una base de datos para tu WordPress. Debes crearla.
- Si tu nuevo hosting tiene cPanel: Ve a "Bases de Datos MySQL", crea una nueva base de datos, un nuevo usuario (con contraseña segura) y asigna todos los privilegios a ese usuario sobre esa base de datos. Anota el nombre de la base de datos, el usuario y la contraseña.
- Si tu nuevo hosting tiene Syspanel (antes HestiaCP):
- Accede a Syspanel a través del puerto 2106 (ejemplo:
https://tudominio.com:2106). - Ve a la sección "Base de datos" o "Databases".
- Crea una nueva base de datos. Normalmente, Syspanel te genera automáticamente el nombre de la base de datos, el usuario y la contraseña. Guarda estos datos.
- Accede a Syspanel a través del puerto 2106 (ejemplo:
[TIP] En Syspanel, la base de datos suele llamarse
nombreusuario_nombrebasededatos. Es importante que uses exactamente esos datos en el siguiente paso.
2.2. Subir los Archivos de WordPress al Nuevo Servidor
Ahora vamos a colocar los archivos de tu sitio en el nuevo hosting.
- Accede al panel de control de tu nuevo hosting (cPanel, Syspanel, etc.).
- Busca la herramienta "Administrador de Archivos".
- Navega a la carpeta
public_html(ohtdocs). Bórrala o vacíala si tiene contenido de prueba (por ejemplo, la página "Welcome to Syspanel" o similar). Si está vacía, perfecto. - Sube el archivo ZIP que descargaste (
mipagina-web.zip) a la carpetapublic_html. - Una vez subido, haz clic derecho sobre el archivo ZIP y selecciona "Extraer" o "Descomprimir".
- Después de extraer, verás que aparecen todas las carpetas (
wp-admin,wp-content,wp-includes, etc.). Verifica que estén directamente enpublic_html, no dentro de una subcarpeta.
[WARNING] Si al extraer se crea una carpeta llamada
mipagina-webdentro depublic_html, tu sitio no cargará. En ese caso, mueve todo el contenido de esa subcarpeta apublic_htmly luego elimina la subcarpeta vacía.
2.3. Importar la Base de Datos al Nuevo Servidor
Ahora vamos a meter los datos en la base de datos que creaste.
- En tu nuevo panel, abre phpMyAdmin (o la herramienta de gestión de bases de datos que tenga, como "Adminer" en Syspanel).
- Selecciona la base de datos que creaste (debe aparecer en la lista de la izquierda).
- Haz clic en la pestaña "Importar".
- Haz clic en "Seleccionar archivo" y elige el archivo
mipagina-db.sqlque descargaste. - Deja las opciones por defecto (formato SQL) y haz clic en "Continuar" o "Importar".
- phpMyAdmin procesará el archivo. Si no hay errores, verás un mensaje de éxito. ¡Tu base de datos ya está en el nuevo servidor!
2.4. Configurar el Archivo wp-config.php para Conectar con la Nueva Base de Datos
Este es el paso más importante. El archivo wp-config.php le dice a WordPress dónde está la base de datos. Como cambiamos de servidor, debemos actualizar los datos de conexión.
-
En el Administrador de Archivos de tu nuevo hosting, navega a
public_html. -
Busca el archivo
wp-config.phpy haz clic derecho sobre él. Selecciona "Editar" o "Code Editor". -
Busca las siguientes líneas y cámbialas por los datos de la base de datos que creaste en el paso 2.1:
define('DB_NAME', 'nombre_de_tu_nueva_base_de_datos'); define('DB_USER', 'nombre_de_tu_nuevo_usuario'); define('DB_PASSWORD', 'contraseña_de_tu_nuevo_usuario'); define('DB_HOST', 'localhost'); // Casi siempre es 'localhost', pero verifica si tu hosting te da otro valor -
Guarda los cambios.
[INFO] Si tu nuevo hosting usa Syspanel, el
DB_HOSTsuele serlocalhost. Si no funciona, consulta el panel de Syspanel, a veces muestran el host de la base de datos (puede ser algo como127.0.0.1o una IP interna).
2.5. (Paso Crucial) Actualizar las URLs en la Base de Datos
Este es el error más común. Si tu sitio usaba una URL como miviejo-dominio.com y ahora vas a usar el mismo dominio (pero apuntando al nuevo servidor), no necesitas hacer nada. Pero si cambiaste de dominio (por ejemplo, de miviejo-dominio.com a minuevo-dominio.com), debes actualizar las URLs en la base de datos.
-
En phpMyAdmin de tu nuevo servidor, selecciona la base de datos importada.
-
Haz clic en la pestaña "SQL" (para ejecutar consultas).
-
Ejecuta las siguientes consultas, reemplazando
miviejo-dominio.comyminuevo-dominio.compor tus URLs reales:UPDATE wp_options SET option_value = 'https://minuevo-dominio.com' WHERE option_name = 'siteurl'; UPDATE wp_options SET option_value = 'https://minuevo-dominio.com' WHERE option_name = 'home';También es recomendable actualizar las URLs en el contenido de las entradas y páginas (por ejemplo, enlaces internos). Puedes usar un plugin como "Better Search Replace" o ejecutar esta consulta SQL:
UPDATE wp_posts SET post_content = REPLACE(post_content, 'miviejo-dominio.com', 'minuevo-dominio.com');
[WARNING] Si no actualizas las URLs, al entrar a tu sitio te redirigirá al dominio antiguo o verás una página en blanco. Este paso es obligatorio si cambias de dominio.
Fase 3: Comprobación y Últimos Ajustes
Una vez que todo está en su lugar, es hora de verificar que funcione.
3.1. Probar el Sitio Localmente (Usando el Archivo Hosts)
Antes de cambiar los DNS (lo que puede tardar horas en propagarse), puedes probar el sitio en el nuevo servidor editando el archivo hosts de tu computadora. Esto hará que tu PC "vea" el nuevo servidor cuando escribas tu dominio.
- En Windows, abre el Bloc de notas como Administrador y luego abre
C:\Windows\System32\drivers\etc\hosts. - En Mac/Linux, abre una terminal y escribe
sudo nano /etc/hosts. - Añade una línea al final con la IP de tu nuevo servidor y tu dominio. Por ejemplo:
192.168.1.100 tudominio.com - Guarda el archivo.
- Ahora, abre tu navegador y escribe
tudominio.com. Deberías ver tu sitio funcionando. Si ves errores, revisa los pasos anteriores.
[TIP] Una vez que verifiques que todo funciona, borra esa línea del archivo hosts para que tu computadora vuelva a usar los DNS reales.
3.2. Cambiar los DNS (Nameservers) para que el Sitio Sea Público
Si todo funciona bien en la prueba local, es momento de hacer el cambio público.
- Ve a la web donde compraste tu dominio (tu registrador, como GoDaddy, Namecheap, etc.).
- Busca la sección de "DNS" o "Nameservers".
- Cambia los nameservers actuales por los que te proporcionó tu nuevo hosting (suelen ser algo como
ns1.nuevohosting.comyns2.nuevohosting.com). - Guarda los cambios. La propagación DNS puede tardar entre 1 y 48 horas. Durante ese tiempo, algunos usuarios verán el sitio antiguo y otros el nuevo.
[INFO] No te preocupes si durante unas horas ves el sitio antiguo. Una vez que la propagación termine, todos verán la versión nueva. No borres los archivos del servidor antiguo hasta que estés 100% seguro de que la migración fue exitosa.
Preguntas Frecuentes (FAQ)
¿Puedo hacer la migración sin usar phpMyAdmin?
Sí, existen plugins como Duplicator, All-in-One WP Migration o UpdraftPlus que automatizan todo el proceso. Te recomiendo Duplicator porque genera un "paquete" que incluye archivos y base de datos, y luego solo tienes que subir un instalador. Es muy útil para principiantes.
¿Qué hago si después de la migración veo un error de "Error establishing a database connection"?
Esto significa que los datos en wp-config.php son incorrectos. Revisa que el nombre de la base de datos, el usuario y la contraseña sean exactamente los que creaste en el nuevo servidor. También verifica que el DB_HOST sea correcto (casi siempre es localhost).
¿Necesito cambiar algo en los plugins o temas después de la migración?
Normalmente no. Los plugins y temas se almacenan en la carpeta wp-content, que ya copiaste. Sin embargo, si usabas algún plugin que tuviera configuraciones de servidor (como caché o seguridad), puede que necesites reconfigurarlo. También es recomendable regenerar las reglas de reescritura (permalink) yendo a Ajustes > Enlaces permanentes en el panel de WordPress y haciendo clic en "Guardar cambios".
¿La migración afecta mi SEO?
Si lo haces correctamente, no. Lo importante es que las URLs se mantengan iguales (si no cambias de dominio) y que no haya tiempos de inactividad prolongados. Si cambias de dominio, debes configurar redirecciones 301 desde el dominio antiguo al nuevo para no perder posicionamiento. Un plugin como "Redirection" te puede ayudar.
¿Qué pasa con el correo electrónico si cambio de hosting?
Si tu correo estaba asociado al hosting antiguo (por ejemplo, tucorreo@tudominio.com), al cambiar los DNS, el correo también se migrará al nuevo servidor. Asegúrate de que tu nuevo hosting tenga servicio de correo y de crear las mismas cuentas de correo que tenías antes. Si usabas un servicio externo como Google Workspace, no necesitas hacer nada, solo asegúrate de que los registros MX sigan apuntando a Google.
¿Puedo migrar un WordPress con mucho tráfico sin que se caiga?
Sí, pero requiere más planificación. Puedes usar una técnica llamada "migración en caliente" donde configuras el nuevo servidor como réplica del antiguo y luego cambias los DNS. Plugins como Duplicator Pro o herramientas de staging pueden ayudarte. Si no te sientes seguro, contrata a
