Cómo mover PrestaShop de un hosting a otro con DirectAdmin (migración)
¿Te has quedado sin espacio en tu hosting actual? ¿Tu tienda PrestaShop va lenta y necesitas un servidor más potente? Sea cual sea el motivo, cambiar de hosting es una operación delicada, pero no imposible. Si tu nuevo panel de control es DirectAdmin, estás de suerte, porque es una herramienta muy completa que, con los pasos adecuados, te permitirá migrar PrestaShop sin perder ni un solo pedido, cliente o producto.
En esta guía extensa y paso a paso, te voy a explicar exactamente cómo mover PrestaShop de un hosting a otro con DirectAdmin. No necesitas ser un experto en sistemas, solo seguir el orden correcto y tener un poco de paciencia. Vamos a ello.
Antes de Empezar: Qué Necesitas Tener a Mano
Antes de lanzarnos a la piscina, asegurémonos de tener todas las herramientas. La migración se divide en dos grandes bloques: mover los archivos (el código de PrestaShop) y mover la base de datos (toda la información). Para ello necesitarás:
- Acceso al panel antiguo (cPanel, Plesk o el que sea): Para hacer las copias de seguridad.
- Acceso al panel nuevo (DirectAdmin): Para subir los archivos y crear la base de datos.
- Credenciales FTP/SFTP de ambos servidores (aunque con DirectAdmin podemos usar el administrador de archivos para simplificar).
- Un editor de texto plano (como el Bloc de notas o Sublime Text) para modificar un archivo de configuración. Nunca uses Word.
- Unas 2-3 horas de tiempo libre para hacerlo con calma, aunque la transferencia en sí sea más rápida.
[WARNING] No empieces la migración si tu tienda está recibiendo pedidos en ese mismo momento. Idealmente, hazlo en un horario de bajo tráfico o pon tu tienda en modo mantenimiento (PrestaShop tiene una opción nativa para esto) para evitar perder datos entre la copia y la subida.
Paso 1: Haz una Copia de Seguridad Completa en el Hosting Antiguo
Este es el paso más crítico. Necesitamos una "foto" exacta de tu tienda en este momento. No vale solo con copiar los archivos; necesitas también la base de datos.
1.1. Copia de Seguridad de los Archivos
Accede al panel de control de tu hosting antiguo y busca la sección de "Administrador de Archivos" o "Gestor de Archivos" (File Manager). Normalmente, tus archivos de PrestaShop estarán en una carpeta llamada public_html o htdocs.
- Entra en la carpeta donde está instalado PrestaShop.
- Selecciona todos los archivos y carpetas que hay dentro (Ctrl+A o Cmd+A).
- Busca el botón de "Comprimir" o "Zip". Crea un archivo comprimido llamado
prestashop_backup.zip. - Espera a que se genere. Si tu tienda es muy grande (muchas imágenes), este proceso puede tardar unos minutos.
- Una vez creado, descárgalo a tu ordenador. No te saltes este paso: es tu red de seguridad.
1.2. Copia de Seguridad de la Base de Datos
La base de datos es el "cerebro" de tu tienda. Contiene tus productos, clientes, pedidos y configuraciones. Para exportarla:
- En tu panel antiguo, busca "phpMyAdmin" (normalmente dentro de la sección de Bases de Datos).
- Selecciona la base de datos que usa tu PrestaShop (el nombre suele ser similar a
usuario_nombrebasededatos). - Haz clic en la pestaña "Exportar" en la parte superior.
- Elige el método "Rápido" y el formato "SQL". Si tu hosting te da opciones, selecciona "Completa".
- Pulsa el botón "Continuar" o "Exportar". Se descargará un archivo con extensión
.sql. Guárdalo en tu ordenador.
[INFO] Asegúrate de que la exportación sea del tipo SQL. Si tu hosting usa una versión antigua de phpMyAdmin, puede que necesites marcar la opción "Enviar" y luego "Ejecutar" para forzar la descarga.
Paso 2: Preparar el Nuevo Hosting con DirectAdmin
Ahora pasamos al nuevo hogar de tu tienda. DirectAdmin es muy visual, así que encontrarás las opciones fácilmente.
2.1. Crear la Base de Datos y el Usuario
No podemos importar la base de datos sin antes crearla. En DirectAdmin, busca la sección "MySQL Management" o "Gestión de MySQL".
- Haz clic en "Crear nueva base de datos".
- Te pedirá un nombre y un usuario. Un truco: usa el mismo nombre que tenías en el hosting antiguo para evitar líos, aunque no es obligatorio. Por ejemplo:
mishop_bd. - Crea una contraseña fuerte para el usuario (mezcla mayúsculas, minúsculas, números y símbolos). Guárdala bien, la necesitarás en el Paso 4.
- Pulsa "Crear". DirectAdmin ya te habrá asignado todos los privilegios al usuario sobre esa base de datos.
[TIP] Anota en un bloc de notas el nombre de la base de datos, el nombre de usuario y la contraseña que acabas de crear. Los necesitarás en unos minutos.
2.2. Subir los Archivos al Nuevo Servidor
Ahora vamos a subir el archivo prestashop_backup.zip que descargaste. Puedes usar el Administrador de Archivos de DirectAdmin o un cliente FTP como FileZilla. Te recomiendo el Administrador de Archivos por simplicidad.
- En DirectAdmin, entra en "File Manager" o "Administrador de Archivos".
- Navega hasta la carpeta
domains->tudominio.com->public_html. Esta es la raíz de tu sitio web. - Haz clic en el botón "Subir" (Upload) y selecciona el archivo
.zipdesde tu ordenador. - Espera a que termine la subida. Si es un archivo grande, puede tardar.
- Una vez subido, verás el archivo
.zipen la lista. Haz clic derecho sobre él y selecciona "Extraer" o "Extract". - DirectAdmin descomprimirá el archivo, creando todas las carpetas y archivos de tu PrestaShop.
- Importante: Después de extraer, borra el archivo
.zipdel servidor (selecciónalo y pulsa "Eliminar") para evitar problemas de seguridad.
Paso 3: Importar la Base de Datos en DirectAdmin
Ahora viene la parte de "cargar" la información en la nueva base de datos que creaste. Necesitamos el archivo .sql que descargaste.
- En DirectAdmin, busca de nuevo "MySQL Management".
- Junto a la base de datos que creaste, verás un enlace a "phpMyAdmin". Haz clic en él. Se abrirá una nueva pestaña.
- En phpMyAdmin, asegúrate de que en la columna de la izquierda está seleccionada tu nueva base de datos (la que creaste en el paso 2.1).
- Ve a la pestaña "Importar".
- Haz clic en "Elegir archivo" y selecciona el archivo
.sqlde tu ordenador. - Deja el resto de opciones por defecto y pulsa "Continuar" o "Importar".
- Espera a que aparezca el mensaje de éxito: "La importación ha finalizado correctamente".
[WARNING] Si obtienes un error de "duplicado" o "base de datos no seleccionada", es que no elegiste bien la base en el paso 3. Repite el proceso asegurándote de que el nombre de la base de datos aparece en la pestaña "Importar".
Paso 4: Conectar la Base de Datos con los Archivos (El Paso Clave)
Ahora viene el "secreto" de la migración. PrestaShop necesita saber cómo conectarse a su nueva base de datos. Para ello, modificaremos un archivo de configuración.
- Ve al "Administrador de Archivos" de DirectAdmin y navega a
public_html. - Busca una carpeta llamada
appy entra en ella. - Dentro de
app, busca otra carpeta llamadaconfig. - Dentro de
config, encontrarás un archivo llamadoparameters.php. Haz clic derecho sobre él y selecciona "Editar" o "Edit". - Se abrirá un editor de texto. Busca las líneas que dicen
'database_host','database_name','database_user'y'database_password'. - Ahora, modifica los valores con los datos de tu nueva base de datos que creaste en DirectAdmin:
'database_host'=> Normalmente eslocalhosto127.0.0.1. Déjalo así a menos que tu hosting te indique lo contrario.'database_name'=> Pega el nombre de tu nueva base de datos.'database_user'=> Pega el nombre de tu nuevo usuario.'database_password'=> Pega la contraseña que asignaste al usuario.
- Guarda los cambios (Ctrl+S o el botón de guardar).
[TIP] Es muy común que el nombre de la base de datos y el usuario lleven un prefijo con el nombre de tu cuenta en DirectAdmin. Asegúrate de copiarlos exactamente como te los muestra DirectAdmin, no como los escribiste tú.
Paso 5: Ajustar el Archivo de Entorno (Opcional pero Recomendado)
En versiones modernas de PrestaShop (1.7 y 8.x), hay otro archivo llamado .env (o .env.example) en la raíz de tu instalación.
- En el Administrador de Archivos, en
public_html, activa la opción de "Mostrar archivos ocultos" (suele ser un botón con un icono de engranaje o una casilla de verificación). - Busca el archivo
.env(sin la extensión.example). Si no existe, no te preocupes, a veces no es necesario. - Si existe, edítalo y busca las mismas variables de base de datos (
DB_NAME,DB_USER,DB_PASS,DB_HOST) y actualízalas con los mismos datos que usaste enparameters.php.
Paso 6: Probar la Tienda y Corregir Errores Comunes
Este es el momento de la verdad. Abre tu dominio en el navegador (ej: www.tudominio.com).
- Si todo ha ido bien: Verás tu tienda tal y como estaba. ¡Enhorabuena!
- Si ves un error de conexión a la base de datos: Revisa el Paso 4. Lo más probable es que hayas escrito mal la contraseña o el nombre de la base de datos.
- Si ves un error de "archivo no encontrado" o un listado de carpetas: Significa que el archivo
.htaccessno se ha subido o está dañado. No te asustes. Ve apublic_htmly asegúrate de que el archivo.htaccessexiste. Si no, puedes generar uno temporalmente yendo aConfiguración->Parámetros avanzados->Rendimientoen el back-office de PrestaShop (si puedes acceder) y pulsando "Regenerar .htaccess".
6.1. Acceder al Back-Office (Panel de Administración)
Para entrar a tu administrador, ve a www.tudominio.com/adminXXXX (donde adminXXXX es la carpeta de administración que tenías antes). Si no la recuerdas, búscala en el Administrador de Archivos de DirectAdmin.
[WARNING] Es posible que al entrar en el back-office te pida que actives la tienda (si la pusiste en modo mantenimiento) o que te dé un error de "URL no válida". Esto es normal. Ve a
Parámetros avanzados->Configuración avanzada->URLsy asegúrate de que la "URL de la tienda" es la correcta (con o sinwww). Guarda y listo.
Paso 7: Actualizar el DNS (Redirigir el Tráfico)
Tu tienda ya está funcionando en el nuevo hosting, pero el mundo aún no lo sabe. Necesitas decirle a tu dominio que "viva" en el nuevo servidor. Esto se hace cambiando los servidores DNS.
- Ve a la empresa donde compraste tu dominio (tu registrador de dominios, como GoDaddy, Namecheap, etc.).
- Busca la sección de "Gestión de DNS" o "Name Servers".
- Sustituye los servidores DNS actuales por los que te ha proporcionado tu nuevo hosting con DirectAdmin (normalmente son dos o tres, como
ns1.tunuevohosting.comyns2.tunuevohosting.com). - Guarda los cambios.
[INFO] El cambio de DNS puede tardar entre 24 y 72 horas en propagarse por todo el mundo. Durante ese tiempo, algunos usuarios verán la tienda en el hosting antiguo y otros en el nuevo. Es un proceso normal e inevitable.
Paso 8: Verificaciones Finales y Limpieza
Una vez que el DNS se ha propagado (puedes usar herramientas online como dnschecker.org para comprobarlo), es hora de la recta final:
- Haz un pedido de prueba en tu tienda para asegurarte de que el proceso de compra, el envío de emails y la pasarela de pago funcionan correctamente.
- Revisa las URLs de tus productos y categorías. Si usas URLs amigables, ve a
Parámetros avanzados->Rendimientoy pulsa "Regenerar enlaces" o "Limpiar caché" para que se actualicen. - Comprueba que los emails de confirmación de pedido se envían. Ve a
Parámetros avanzados->E-maily envía un email de prueba. - Cancela la cuenta en el hosting antiguo solo cuando estés 100% seguro de que todo funciona. Si te equivocas, aún tienes tiempo de volver atrás.
Preguntas Frecuentes (FAQ) sobre Migrar PrestaShop con DirectAdmin
¿Puedo cambiar de hosting sin perder mi posición en Google?
Sí, si mantienes la misma estructura de URLs y la tienda no está caída durante mucho tiempo. El cambio de DNS no debería afectar a tu SEO si todo se hace correctamente. Es recomendable tener la tienda en modo mantenimiento durante la migración para evitar errores 404.
¿Qué pasa si mi base de datos es muy grande y no puedo importarla?
Si tu hosting tiene un límite de tamaño para importar en phpMyAdmin, puedes dividir el archivo .sql en partes más pequeñas usando herramientas como BigDump o un editor de texto. También puedes usar la línea de comandos (SSH) si tu plan de hosting lo permite, pero eso ya es más avanzado.
¿Necesito contratar a un profesional para hacer la migración?
No necesariamente. Si sigues esta guía, puedes hacerlo tú mismo. Sin embargo, si no te sientes cómodo manejando archivos y bases de datos, o si tu tienda es muy compleja (con muchos módulos y personalizaciones), puede ser una inversión segura contratar a un experto en PrestaShop para que lo haga por ti.
¿Qué es DirectAdmin y por qué es diferente a cPanel?
Es simplemente otro panel de control para gestionar tu servidor. Las funciones son las mismas (gestionar archivos, bases de datos, correos), pero la interfaz es diferente. Esta guía está adaptada específicamente a la interfaz de DirectAdmin, que es conocida por ser más ligera y rápida.
¿Y si mi hosting antiguo usa otro panel, como Syspanel (antes HestiaCP)?
No te preocupes, el proceso es el mismo. La clave
