Cómo migrar un sitio WordPress desde cPanel a DirectAdmin sin perder datos
Introducción: ¿Por qué migrar WordPress de cPanel a DirectAdmin?
Migrar un sitio web es una de esas tareas que, a priori, asustan. Pero si estás leyendo esto, probablemente ya tienes clara la razón: cPanel ha subido sus precios de licencia, tu proveedor de hosting te ha ofrecido una alternativa más económica con DirectAdmin, o simplemente quieres cambiar de panel de control porque DirectAdmin consume menos recursos y es más rápido.
Lo cierto es que migrar WordPress cPanel a DirectAdmin es un proceso perfectamente documentado y, con la metodología adecuada, no tienes por qué perder ni un solo dato. En esta guía te voy a acompañar paso a paso, como si estuvieras sentado a mi lado, para que realices una migración DirectAdmin sin sustos.
Antes de empezar, quiero que respires hondo. No es un proceso complejo, pero requiere orden y paciencia. Vamos a dividirlo en fases: preparación, exportación, importación y verificación. Al final, tendrás tu WordPress funcionando en el nuevo panel con todas tus entradas, comentarios, usuarios, plugins y configuraciones intactas.
Fase 1: Preparación antes del cambio de panel WordPress
La regla de oro en cualquier migración sin pérdida datos es: haz una copia de seguridad completa primero. No una copia rápida, sino una copia exhaustiva que incluya dos elementos críticos: los archivos del sitio y la base de datos.
1.1. Inventario de tu instalación WordPress
Antes de tocar nada, abre tu panel de cPanel y anota lo siguiente:
- Versión de WordPress que tienes instalada (Escritorio > Actualizaciones).
- Lista de plugins activos (Plugins > Plugins instalados).
- Tema activo y temas inactivos que quieras conservar.
- Tamaño total del directorio
public_html(Estadísticas del sitio). - Nombre de la base de datos y el usuario asociado (sección Bases de Datos MySQL).
Este inventario te servirá para saber qué esperar después de la migración y detectar si algo falta.
1.2. Comprueba que tienes acceso SSH (opcional pero recomendado)
Si tu hosting te da acceso SSH, la migración será mucho más rápida y segura. Pero si no lo tienes, no pasa nada: el método con FTP y phpMyAdmin funciona perfectamente. Solo necesitas credenciales FTP y acceso a phpMyAdmin en ambos paneles.
1.3. Avisa a tu proveedor de hosting
Si estás migrando entre servidores distintos, es posible que necesites que tu nuevo proveedor (con DirectAdmin) cree la cuenta y la base de datos antes de empezar. Algunos proveedores ofrecen migraciones asistidas gratuitas, pero si quieres hacerlo tú, avísales para que tengan la cuenta preparada.
[INFO] No te saltes esta fase. Una migración sin copia de seguridad previa es como jugar a la ruleta rusa con los datos de tu web. Dedica al menos 30 minutos a verificar que la copia es completa y restaurable.
Fase 2: Exportar tu sitio desde cPanel
Ahora sí, vamos a sacar todo de cPanel. Trabajaremos en dos frentes: los archivos y la base de datos.
2.1. Descargar los archivos de WordPress
Tienes dos opciones principales:
Opción A: Copia de seguridad completa desde cPanel
- Entra en cPanel y busca la sección Archivos.
- Haz clic en Copia de seguridad o Backup.
- En la sección "Copia de seguridad parcial", selecciona Descargar una copia de seguridad del directorio principal.
- Espera a que el sistema genere el archivo
.tar.gzy descárgalo a tu ordenador.
Opción B: FTP (más granular y recomendado si tienes muchos archivos)
- Conéctate con FileZilla o cualquier cliente FTP a tu cuenta de cPanel.
- Navega hasta la carpeta
public_html(owwwsegún la configuración). - Selecciona todos los archivos y carpetas dentro de
public_html(pero no la carpeta en sí). - Arrastra todo a una carpeta local llamada, por ejemplo,
mi_wordpress_cpanel.
[TIP] Si tu sitio tiene un tamaño superior a 1 GB, te recomiendo usar SSH con el comando
tar -czf backup.tar.gz public_htmlpara comprimir en el servidor y luego descargar un solo archivo. Es mucho más rápido y evita cortes de conexión.
2.2. Exportar la base de datos MySQL
- En cPanel, ve a Bases de Datos MySQL y anota el nombre exacto de la base de datos.
- Abre phpMyAdmin (suele estar en la sección "Bases de datos").
- Selecciona tu base de datos en el panel izquierdo.
- Ve a la pestaña Exportar.
- Elige el método Rápido y formato SQL. Si tu base de datos es grande (más de 100 MB), marca la opción "Comprimir con gzip".
- Descarga el archivo
.sqlo.sql.gza tu ordenador.
[WARNING] No uses nunca el método "Personalizado" si no sabes lo que haces. La opción rápida exporta todo correctamente, incluyendo tablas, datos, índices y triggers.
2.3. Guarda también tu configuración de correo (si aplica)
Si tienes cuentas de correo asociadas al dominio en cPanel, exporta también los buzones. Esto no es estrictamente parte de WordPress, pero si usas el correo para confirmaciones de pedido o registro, querrás conservarlo. En cPanel, ve a Cuentas de correo y descarga los buzones en formato .mbox.
Fase 3: Preparar el entorno en DirectAdmin
DirectAdmin tiene una interfaz diferente, pero no menos intuitiva. Vamos a crear el espacio para tu WordPress.
3.1. Accede a DirectAdmin
Normalmente accedes vía https://tudominio.com:2222 o la IP de tu servidor con el puerto 2222. Si tu proveedor usa un panel alternativo basado en DirectAdmin, como Syspanel, recuerda que el puerto de acceso es el 2106.
[INFO] Syspanel es una interfaz moderna sobre DirectAdmin. Si ves que el puerto 2222 no funciona, prueba con el 2106. La lógica de las secciones es la misma, solo cambia la estética.
3.2. Crear la cuenta de hosting (si es un servidor nuevo)
Si estás migrando a un servidor nuevo, tu proveedor probablemente ya ha creado la cuenta. Si no, en DirectAdmin:
- Ve a Cuentas de Usuario > Crear Nueva Cuenta.
- Introduce el dominio, el usuario y la contraseña.
- Marca la opción de crear base de datos MySQL y anota el nombre y usuario generados (suele tener un prefijo).
- Activa el acceso FTP si es necesario.
3.3. Crear la base de datos en DirectAdmin
Si tu proveedor no la creó automáticamente:
- Entra en Gestión de MySQL.
- Crea una nueva base de datos con un nombre descriptivo (ej.
wp_miweb). - Crea un usuario y asígnale todos los privilegios sobre esa base de datos.
- Anota el nombre de la base de datos, el usuario y la contraseña. Los necesitarás para el
wp-config.php.
[WARNING] En DirectAdmin, los nombres de usuario y base de datos suelen llevar un prefijo que no puedes quitar (ej.
user_wp_miweb). Escribe el nombre exacto tal y como se muestra, sin modificarlo.
Fase 4: Importar los archivos y la base de datos
Aquí es donde ocurre la magia. Vamos a subir todo lo que descargamos al nuevo servidor.
4.1. Subir los archivos de WordPress
- Conéctate por FTP a tu nueva cuenta de DirectAdmin (host: tu dominio o IP, usuario y contraseña).
- Navega hasta la carpeta
domains>tudominio.com>public_html. - Sube todos los archivos que descargaste de cPanel. Importante: sube el contenido, no una carpeta contenedora. Es decir, sube
wp-admin,wp-content,wp-includes,wp-config.php, etc., directamente dentro depublic_html. - Si usaste el archivo
.tar.gzde cPanel, puedes subirlo y luego descomprimirlo desde el Administrador de archivos de DirectAdmin (clic derecho > Extraer).
4.2. Importar la base de datos SQL
- En DirectAdmin, ve a Gestión de MySQL y haz clic en phpMyAdmin.
- Selecciona la base de datos vacía que creaste.
- Ve a la pestaña Importar.
- Sube el archivo
.sqlo.sql.gzque exportaste de cPanel. - Ejecuta la importación. Si la base es grande, ten paciencia; puede tardar unos minutos.
[TIP] Si la importación falla por límite de tamaño (algunos phpMyAdmin limitan a 2 MB por defecto), puedes subir el archivo
.sql.gzy descomprimirlo en el servidor con SSH, o usar la herramientamysqldesde la línea de comandos. Pide a tu proveedor que suba el límite temporalmente si es necesario.
4.3. Actualizar el archivo wp-config.php
Este es el paso crítico. WordPress necesita saber cómo conectarse a la nueva base de datos.
- Abre el archivo
wp-config.phpdesde el Administrador de archivos de DirectAdmin o mediante FTP. - Localiza estas líneas y cámbialas con los datos de la nueva base:
define('DB_NAME', 'nuevo_nombre_base');
define('DB_USER', 'nuevo_usuario');
define('DB_PASSWORD', 'nueva_contraseña');
define('DB_HOST', 'localhost'); // normalmente se queda igual
- Guarda el archivo.
[WARNING] No cambies las claves de autenticación (AUTH_KEY, SECURE_AUTH_KEY, etc.) a menos que quieras que todos los usuarios tengan que volver a iniciar sesión. Si las cambias, no pasa nada grave, pero es un detalle a tener en cuenta.
Fase 5: Ajustar URLs y dominios tras el cambio de panel WordPress
A veces, cuando migras, la URL del sitio cambia temporalmente (por ejemplo, si usas una IP o un dominio temporal). WordPress guarda las URLs en la base de datos, así que hay que actualizarlas.
5.1. Comprobar la URL en wp_options
Si tu dominio ya apunta al nuevo servidor (es decir, si has cambiado los DNS), no necesitas hacer nada. Pero si estás probando antes de cambiar los DNS, tendrás que forzar la URL.
Abre wp-config.php y añade estas líneas al final (antes de la línea /* That's all, stop editing! */):
define('WP_HOME', 'http://tudominio.com');
define('WP_SITEURL', 'http://tudominio.com');
Si tu sitio usa SSL, pon https:// en lugar de http://.
5.2. Actualizar URLs en la base de datos (si cambió el dominio)
Si estás migrando a un dominio nuevo, tendrás que hacer un reemplazo en la base de datos. Puedes hacerlo desde phpMyAdmin:
- Abre phpMyAdmin en DirectAdmin.
- Selecciona tu base de datos.
- Ve a la pestaña SQL.
- Ejecuta estas consultas (reemplaza
old.compor tu dominio antiguo ynew.compor el nuevo):
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://old.com', 'http://new.com') WHERE option_name IN ('home', 'siteurl');
UPDATE wp_posts SET guid = REPLACE(guid, 'http://old.com', 'http://new.com');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://old.com', 'http://new.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://old.com', 'http://new.com');
[INFO] Estos comandos son seguros y solo afectan a las URLs. No borran ni modifican contenido. Es el método estándar para migración sin pérdida datos cuando cambia el dominio.
Fase 6: Verificación exhaustiva post-migración
Ya tienes todo en el nuevo servidor. Ahora toca comprobar que nada se ha perdido.
6.1. Acceso al panel de administración
Entra en tudominio.com/wp-admin. Deberías ver el login. Accede con tu usuario y contraseña. Si no recuerdas la contraseña, usa la opción "¿Has olvidado la contraseña?".
6.2. Revisa los elementos críticos
- Entradas y páginas: ve a Entradas > Todas las entradas. El número debe coincidir con el de tu inventario.
- Comentarios: revisa que están todos.
- Medios: Biblioteca de medios. Comprueba que las imágenes se ven correctamente.
- Plugins: actívalos uno a uno. Si alguno da error, desactívalo y busca una alternativa o actualización.
- Tema: activa tu tema. Si es un tema hijo, verifica que el padre está instalado.
- Enlaces permanentes: ve a Ajustes > Enlaces permanentes y pulsa "Guardar cambios" para regenerar las reglas de reescritura.
- Permisos de archivos: en DirectAdmin, asegúrate de que las carpetas tienen permisos 755 y los archivos 644. Si algo está en 777, cámbialo por seguridad.
6.3. Prueba funcional
- Navega por tu web como visitante.
- Haz una búsqueda en el sitio.
- Prueba un formulario de contacto.
- Verifica que las imágenes cargan.
- Si tienes tienda WooCommerce, haz un pedido de prueba.
[WARNING] No borres la copia de seguridad de cPanel hasta que hayas pasado al menos 2 semanas con el sitio funcionando perfectamente en DirectAdmin. Nunca se sabe cuándo puedes necesitar un archivo antiguo.
Fase 7: Actualizar DNS y finalizar la migración DirectAdmin
Si el dominio ya apuntaba al nuevo servidor, puedes saltarte este paso. Si no, llega el momento de cambiar los DNS.
- Ve a tu registrador de dominios (donde compraste el dominio).
- Localiza los servidores DNS actuales y sustitúyelos por los que te haya dado tu nuevo proveedor con DirectAdmin.
- Guarda los cambios.
La propagación de DNS puede tardar entre 24 y 72 horas, aunque normalmente es mucho más rápida. Durante ese tiempo, algunos visitantes verán tu web antigua y otros la nueva. No te preocupes: es normal.
Mientras tanto, puedes seguir trabajando en el nuevo servidor usando la URL con la IP o un dominio temporal si tu proveedor lo ofrece.
Preguntas Frecuentes (FAQ) sobre migrar WordPress cPanel a DirectAdmin
¿Puedo migrar sin acceso SSH?
Sí, perfectamente. El método FTP + phpMyAdmin funciona igual de bien. Solo es un poco más lento si el sitio es muy grande. Ve con paciencia.
¿Qué pasa con los correos electrónicos?
Si tienes cuentas de correo en cPanel, tendrás que recrearlas en DirectAdmin y luego importar los buzones desde la copia .mbox que exportaste. No es parte de WordPress, pero es importante para no perder correos.
¿Pierdo las estadísticas de Google Analytics o Search Console?
No. Esas estadísticas están en los servicios de Google, no en tu hosting. Solo tendrás que verificar la propiedad del dominio de nuevo si cambias los DNS, pero los datos históricos se conservan.
¿Y si algo sale mal durante la migración?
Por eso hicimos la copia de seguridad. Si algo falla, restaura la copia en cPanel (o en el nuevo servidor) y vuelve a intentarlo. No hay prisa.
¿DirectAdmin es compatible con todos los plugins de WordPress?
Sí. DirectAdmin es un panel de control, no afecta a la compatibilidad de PHP o MySQL. Lo único que debes verificar es que tu versión de PHP en DirectAdmin sea compatible con los plugins que usas. Normalmente, PHP 8.0 o superior funciona bien con WordPress actual.
¿Puedo usar Syspanel para esta migración?
Sí, **
