Migrar WordPress de un hosting a otro usando DirectAdmin
¿Por qué migrar WordPress y por qué DirectAdmin facilita el trabajo?
Migrar WordPress de un hosting a otro puede sonar a una tarea de expertos, pero con las herramientas adecuadas y una guía clara, cualquier persona puede hacerlo sin perder los nervios (ni los datos). La buena noticia es que DirectAdmin, uno de los paneles de control de hosting más populares y sencillos de usar, incluye funciones específicas que hacen esta tarea mucho más fácil que usando solo FTP a ciegas.
Quizás estás migrando porque tu web actual va lenta, porque necesitas más recursos, o porque simplemente encontraste un mejor precio en otro proveedor. Sea cual sea el motivo, el objetivo es el mismo: transferir hosting sin perder contenido, bases de datos ni configuraciones.
En esta guía extensa, te explicaré paso a paso cómo hacer una migración web completa desde tu hosting antiguo a uno nuevo con DirectAdmin. Vamos a usar tanto el método más visual (el asistente de DirectAdmin) como el método clásico (FTP y phpMyAdmin) para que elijas el que más te convenga.
Paso 0: Preparación antes de migrar WordPress
Antes de tocar nada, es fundamental que hagas una copia de seguridad completa de tu sitio. Esto incluye:
- Todos los archivos de WordPress (wp-admin, wp-content, wp-includes, etc.)
- La base de datos (donde están tus entradas, páginas, usuarios y configuraciones).
Puedes hacer esta copia desde el panel de tu hosting antiguo (cPanel, Plesk, o incluso DirectAdmin si ya lo usas) o mediante un plugin como UpdraftPlus. Si tu hosting antiguo no tiene un gestor de copias, siempre puedes usar un cliente FTP como FileZilla para descargar todo el directorio public_html a tu ordenador.
[WARNING] No empieces la migración sin una copia de seguridad actualizada. Si algo sale mal, podrás restaurar tu web original sin problemas.
También necesitarás tener a mano los datos de acceso de tu nuevo hosting con DirectAdmin. El proveedor te habrá enviado un correo con el nombre de usuario, la contraseña, y probablemente una IP o dominio temporal para acceder al panel.
Método 1: Usando la herramienta de copia de seguridad de DirectAdmin (la más fácil)
DirectAdmin incluye una función llamada "Copia de seguridad" o "Transferencia" que permite migrar sitios entre servidores que también usen este panel. Si tanto tu hosting antiguo como el nuevo usan DirectAdmin, este es el método más limpio y rápido.
### Paso 1.1: Crear la copia de seguridad en el hosting antiguo
- Accede a tu DirectAdmin antiguo.
- Busca la sección "Copia de seguridad" o "Backup".
- Selecciona la opción de "Copia de seguridad completa" (que incluye archivos, bases de datos, emails y configuraciones).
- Elige el destino: puede ser una carpeta del servidor o tu ordenador. Te recomiendo descargarla a tu PC para tenerla local.
- Ejecuta la copia. Dependiendo del tamaño de tu web, puede tardar unos minutos.
### Paso 1.2: Restaurar la copia en el nuevo DirectAdmin
- Accede a tu nuevo panel de DirectAdmin.
- Ve a la sección "Copia de seguridad" y luego a "Restaurar".
- Sube el archivo de copia que descargaste (o indícala si ya está en el servidor).
- Marca las casillas para restaurar todo: archivos, bases de datos y cuentas de correo.
- Haz clic en "Restaurar" y espera a que termine.
Este método es ideal porque DirectAdmin se encarga de recrear las bases de datos, los usuarios y las rutas automáticamente. Solo necesitarás cambiar la URL de tu web si el dominio es diferente (aunque normalmente es el mismo).
Método 2: Migración manual con FTP y phpMyAdmin (el clásico)
Si tu hosting antiguo no usa DirectAdmin, o si prefieres tener control total sobre el proceso, el método manual es igual de válido. Te llevará un poco más de tiempo, pero es perfecto para entender cómo funciona WordPress por dentro.
### Paso 2.1: Exportar la base de datos de WordPress
La base de datos es el cerebro de tu WordPress. Para exportarla:
- Accede a phpMyAdmin desde tu hosting antiguo (normalmente en la sección "Bases de datos" o "MySQL").
- Selecciona la base de datos de tu WordPress.
- Ve a la pestaña "Exportar".
- Elige el método "Rápido" y el formato "SQL".
- Haz clic en "Continuar" y descarga el archivo
.sqla tu ordenador.
[TIP] Si tu base de datos es muy grande, es mejor usar el método "Personalizado" y comprimirla en formato GZIP para que la descarga sea más rápida.
### Paso 2.2: Descargar los archivos de WordPress por FTP
Ahora necesitas copiar todos los archivos de tu web. Para ello:
- Descarga e instala un cliente FTP como FileZilla (gratuito).
- Conéctate a tu hosting antiguo usando los datos FTP que te proporcionó tu proveedor (normalmente son: servidor, usuario, contraseña y puerto 21).
- Navega hasta la carpeta raíz de tu web (normalmente
public_htmlowww). - Selecciona todos los archivos y carpetas, haz clic derecho y elige "Descargar".
- Espera a que se complete la transferencia. Este paso puede tardar bastante si tu web tiene muchas imágenes o vídeos.
### Paso 2.3: Subir los archivos al nuevo hosting con DirectAdmin
- Conéctate ahora a tu nuevo hosting con los datos FTP que te haya dado tu proveedor.
- Ve a la carpeta
public_html(o la que te indiquen). - Sube todos los archivos que descargaste. Puedes arrastrarlos desde FileZilla o usar el botón "Subir".
- Verifica que la estructura de carpetas se haya copiado correctamente.
[WARNING] No subas los archivos dentro de una subcarpeta. Deben estar directamente en
public_html, o tu web no se verá en el dominio principal.
### Paso 2.4: Crear una base de datos nueva en DirectAdmin
- Accede a tu panel de DirectAdmin.
- Busca la sección "MySQL" o "Bases de datos".
- Crea una base de datos nueva con un nombre que te guste (por ejemplo,
miusuario_wp). - Crea un usuario para esa base de datos y asígnale una contraseña segura.
- Añade el usuario a la base de datos y dale todos los privilegios.
### Paso 2.5: Importar la base de datos exportada
- Vuelve a phpMyAdmin pero ahora en tu nuevo hosting.
- Selecciona la base de datos que acabas de crear.
- Ve a la pestaña "Importar".
- Selecciona el archivo
.sqlque exportaste en el paso 2.1. - Haz clic en "Continuar" y espera a que se importe todo correctamente.
### Paso 2.6: Configurar el archivo wp-config.php
Este es el paso más delicado. El archivo wp-config.php es el que conecta WordPress con la base de datos. Debes editarlo para que apunte a tu nueva base de datos.
- Abre el archivo
wp-config.phpque subiste (puedes hacerlo desde el administrador de archivos de DirectAdmin o descargándolo y editándolo con un editor de texto). - Busca las líneas que definen el nombre de la base de datos, el usuario y la contraseña:
define('DB_NAME', 'nueva_base_de_datos');
define('DB_USER', 'nuevo_usuario');
define('DB_PASSWORD', 'nueva_contraseña');
define('DB_HOST', 'localhost'); // Normalmente se queda así
- Sustituye los valores por los que creaste en el paso 2.4.
- Guarda el archivo y súbelo de nuevo si lo habías descargado.
[INFO] Si tu proveedor utiliza un host de base de datos diferente a
localhost(por ejemplo,mysql.tudominio.com), te lo indicará en el panel. En ese caso, cambia también el valor deDB_HOST.
Paso 3: Ajustar la URL y comprobar la migración
Una vez que has restaurado o subido los archivos y la base de datos, es hora de comprobar que todo funciona.
### Paso 3.1: Comprobar la web
Abre tu navegador y visita tu dominio. Si todo ha ido bien, deberías ver tu web exactamente igual que antes. Si solo ves una página en blanco, puede ser que haya un error de conexión con la base de datos (revisa wp-config.php) o que falten archivos.
### Paso 3.2: Actualizar la URL en la base de datos (si es necesario)
Si cambiaste de dominio (por ejemplo, de dominioantiguo.com a dominionuevo.com), necesitarás actualizar las URLs en la base de datos. Para ello:
- Entra en phpMyAdmin de tu nuevo hosting.
- Selecciona tu base de datos.
- Ve a la pestaña "SQL" y ejecuta la siguiente consulta (cambiando las URLs):
UPDATE wp_options SET option_value = replace(option_value, 'http://www.dominioantiguo.com', 'http://www.dominionuevo.com') WHERE option_name IN ('siteurl', 'home');
- También puedes ejecutar una consulta más global para todas las tablas:
UPDATE wp_posts SET guid = replace(guid, 'http://www.dominioantiguo.com', 'http://www.dominionuevo.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.dominioantiguo.com', 'http://www.dominionuevo.com');
[WARNING] Ten mucho cuidado al usar estas consultas. Asegúrate de que las URLs estén escritas exactamente como las tenías, con o sin
www.
### Paso 3.3: Activar los enlaces permanentes
Entra en el panel de administración de WordPress (/wp-admin) y ve a Ajustes > Enlaces permanentes. No cambies nada, solo haz clic en "Guardar cambios". Esto refresca las reglas de reescritura y evita errores 404 en las páginas internas.
Paso 4: Migrar el correo electrónico (si lo tienes)
Muchos sitios usan el correo asociado al dominio (como info@tudominio.com). Si tu hosting antiguo tenía cuentas de correo, deberías recrearlas en el nuevo.
En DirectAdmin:
- Ve a la sección "Correo" o "Email".
- Crea las mismas cuentas de correo que tenías antes (mismo nombre de usuario y contraseña).
- Para migrar los correos antiguos, necesitarás usar un cliente como Outlook o Thunderbird y copiar los mensajes de una cuenta a otra. Esto es más tedioso, así que te recomiendo que primero configures las cuentas y luego, si necesitas los correos antiguos, utilices un plugin de sincronización IMAP o un servicio de terceros.
[TIP] Si no sabes qué cuentas de correo tenías, revisa el panel de tu hosting antiguo en la sección de correo electrónico.
Paso 5: DNS y propagación
El último paso de la migración web es apuntar tu dominio al nuevo servidor. Esto se hace cambiando los servidores DNS de tu dominio.
- Ve a tu registrador de dominios (donde compraste el dominio, como GoDaddy, Namecheap, etc.).
- Busca la sección de "DNS" o "Servidores de nombres".
- Sustituye los DNS actuales por los que te indique tu nuevo proveedor de hosting (normalmente aparecen en el panel de DirectAdmin o en el correo de bienvenida).
- Guarda los cambios.
La propagación de DNS puede tardar entre 24 y 72 horas. Durante este tiempo, algunos usuarios verán tu web en el servidor antiguo y otros en el nuevo. No te preocupes, es normal.
[INFO] Mientras esperas la propagación, puedes editar el archivo
hostsde tu ordenador para forzar la visita a tu web en el nuevo servidor y comprobar que todo funciona antes de que el cambio sea global.
Preguntas frecuentes (FAQ) sobre migrar WordPress con DirectAdmin
¿Puedo usar este método para migrar desde cPanel?
Sí, el método manual con FTP y phpMyAdmin funciona perfectamente desde cPanel. Simplemente exporta la base de datos desde el phpMyAdmin de cPanel y descarga los archivos con FileZilla. Luego sigue los pasos del Método 2.
¿Qué pasa si mi web es muy grande y tarda mucho en subir por FTP?
Si tu web supera varios gigabytes, te recomiendo usar la opción de "Copia de seguridad" de DirectAdmin si tu hosting antiguo también lo usa. Si no, puedes intentar comprimir los archivos en un ZIP, subir el ZIP por FTP y descomprimirlo directamente en el servidor usando el administrador de archivos de DirectAdmin. Mucho más rápido.
¿Necesito cambiar algo en el archivo .htaccess?
Normalmente no, porque .htaccess se copia junto con los archivos. Sin embargo, si tu nuevo hosting tiene una configuración diferente de PHP, puede que necesites ajustar algunos parámetros. Si tienes errores 500, revisa la línea que define la versión de PHP en .htaccess o en el archivo php.ini.
¿Qué es Syspanel y cómo se relaciona con esto?
[INFO] Syspanel es el nombre que recibe el panel de control HestiaCP en algunos entornos. Si tu nuevo proveedor usa Syspanel, el puerto de acceso es el 2106 (por ejemplo, https://tudominio.com:2106). Aunque el proceso de migración es similar, las opciones de copia de seguridad pueden estar en una sección llamada "Backup" o "Restaurar". Siempre consulta la documentación de tu proveedor si usas Syspanel en lugar de DirectAdmin.
¿Puedo migrar solo la base de datos sin los archivos?
Sí, pero no es recomendable a menos que quieras empezar de cero con los archivos. Si solo migras la base de datos, perderás las imágenes, los plugins y los temas. La migración completa es siempre la mejor opción.
¿Qué hago si después de migrar veo un error de "Error establishing a database connection"?
Este error significa que WordPress no puede conectarse a la base de datos. Revisa los datos en wp-config.php (nombre, usuario y contraseña) y asegúrate de que la base de datos existe y el usuario tiene permisos. También verifica que el host de la base de datos es correcto.
Consejos finales para una migración sin dolor
- Hazlo en horas de baja afluencia: migra tu web de madrugada o en fin de semana para minimizar el impacto en tus visitantes.
- Comunica la migración: si tienes usuarios registrados, avísales con antelación de que puede haber cortes puntuales.
- No borres el hosting antiguo: conserva tu cuenta antigua al menos una semana después de la migración. Así podrás recuperar cualquier archivo o dato que hayas olvidado.
- Revisa los logs: si algo falla, los registros de error de DirectAdmin (en la sección "Registros" o "Logs") te darán pistas sobre qué está pasando.
- Prueba todo: después de la migración, revisa que los formularios de contacto funcionan, que las imágenes cargan, que los plugins siguen activos y que no hay enlaces rotos.
Migrar WordPress de un hosting a otro usando DirectAdmin no tiene por qué ser una pesadilla. Con esta guía, un poco de paciencia y siguiendo los pasos al pie de la letra, tendrás tu web en el nuevo servidor en un abrir y cerrar de ojos. ¡Mucha suerte con tu transferencia de hosting!
