Cómo migrar PrestaShop de un hosting a otro (DirectAdmin)
Antes de Empezar: ¿Qué Necesitas para Migrar PrestaShop?
Migrar una tienda online puede sonar aterrador, pero con la guía adecuada es un proceso mecánico. Antes de tocar nada, asegúrate de tener a mano lo siguiente:
- Acceso al panel de control antiguo (cPanel, Plesk, Syspanel, etc.) y sus credenciales FTP o administrador de archivos.
- Acceso al nuevo hosting con DirectAdmin (usuario, contraseña y puerto SSH si lo usarás).
- Datos de la base de datos MySQL del hosting actual (nombre, usuario y contraseña).
- Un gestor de FTP como FileZilla (gratuito) o el administrador de archivos de DirectAdmin.
- Tiempo suficiente (entre 30 y 90 minutos) y paciencia. No lo hagas con prisas.
[INFO] Si tu hosting actual usa Syspanel (antes conocido como HestiaCP), el acceso se realiza a través del puerto 2106 (ejemplo:
https://tudominio.com:2106). El proceso de exportación es idéntico al de cPanel, pero la ruta de archivos puede variar ligeramente.
Paso 1: Haz una Copia de Seguridad Completa de tu PrestaShop
No puedes migrar prestashop sin antes tener una copia exacta de todo. Esto incluye tanto los archivos del sistema como la base de datos. Olvidar uno de los dos es el error más común y provoca tiendas rotas.
1.1. Exporta la Base de Datos desde el Hosting Antiguo
La base de datos contiene productos, pedidos, clientes y configuración. Para exportarla:
- Entra a phpMyAdmin desde el panel de tu hosting actual (normalmente en "Bases de Datos" o "MySQL").
- Selecciona la base de datos que usa tu PrestaShop (la encontrarás en el archivo
config/settings.inc.phpo enapp/config/parameters.phpsi es versión 1.7+). - Haz clic en la pestaña Exportar.
- Elige el método Rápido y formato SQL.
- Descarga el archivo
.sqlresultante. Guárdalo en una carpeta segura.
[WARNING] Si tu base de datos es muy grande (más de 500 MB), puede que phpMyAdmin falle. En ese caso, usa el comando
mysqldumppor SSH o pide a tu soporte que te genere un volcado comprimido.
1.2. Descarga los Archivos del Sitio Web
Ahora necesitas copiar todos los archivos de tu tienda (imágenes, módulos, temas, etc.):
- Conéctate por FTP (FileZilla) o usa el Administrador de Archivos de tu hosting actual.
- Navega hasta la carpeta raíz de tu tienda (normalmente
public_html,htdocsowww). - Selecciona todos los archivos y carpetas.
- Descárgalos a tu ordenador en una carpeta local. Este proceso puede tardar dependiendo del tamaño de tu tienda.
[TIP] Comprime los archivos en un
.zipdesde el panel de control si tu hosting lo permite. Descargar un solo archivo comprimido es mucho más rápido que miles de archivos sueltos.
Paso 2: Prepara el Nuevo Hosting con DirectAdmin
Una vez que tienes la copia de seguridad, es hora de preparar el destino. DirectAdmin es un panel muy completo, y estos son los pasos para dejarlo listo para transferir prestashop.
2.1. Crea la Base de Datos y el Usuario en DirectAdmin
- Accede a tu panel de DirectAdmin (normalmente en
https://tudominio.com:2222). - Ve a MySQL Management (o "Gestión de MySQL").
- Haz clic en Create New Database.
- Escribe un nombre para la base (ej.
presta_shop), un usuario y una contraseña segura. Guarda estos datos, los necesitarás en el siguiente paso. - Asegúrate de asignar todos los privilegios al usuario sobre esa base de datos.
2.2. Sube los Archivos de tu PrestaShop
- Entra al Administrador de Archivos de DirectAdmin o conéctate por FTP (los datos los encuentras en tu correo de bienvenida).
- Navega hasta
public_html(odomains/tudominio.com/public_html). - Sube el archivo
.zipque descargaste antes o arrastra las carpetas directamente si decidiste no comprimir. - Si subiste un
.zip, haz clic derecho sobre él y selecciona Extract (Extraer). - Mueve todo el contenido extraído a
public_htmlsi no está ya ahí. Debe existir el archivoindex.phpy la carpetaconfigen la raíz.
[WARNING] No subas los archivos dentro de una subcarpeta tipo
public_html/prestashopa menos que quieras que tu tienda se vea entudominio.com/prestashop. Para la raíz, el contenido debe estar directamente enpublic_html.
Paso 3: Importar la Base de Datos en DirectAdmin
Este es el momento crítico para prestashop directadmin migración. Ahora toca llevar los datos a la nueva base de datos.
- En DirectAdmin, ve de nuevo a MySQL Management y localiza tu nueva base de datos.
- Haz clic en phpMyAdmin (icono de la base).
- Dentro de phpMyAdmin, selecciona tu base de datos en el panel izquierdo.
- Ve a la pestaña Importar.
- Haz clic en Elegir archivo y selecciona el
.sqlque exportaste al principio. - Pulsa Continuar y espera. Si la base es grande, puede tardar varios minutos. No cierres la pestaña.
[TIP] Si el archivo es demasiado grande para phpMyAdmin, puedes importarlo por SSH con el comando:
mysql -u usuario -p nombre_base < archivo.sql. Te pedirá la contraseña y listo.
Paso 4: Configurar los Archivos de Conexión a la Base de Datos
Ahora que ya tienes la base importada, tu PrestaShop necesita saber cómo conectarse a la nueva base de datos. Esto se hace editando un archivo de configuración.
4.1. Para PrestaShop 1.7 y versiones superiores
- Ve al archivo
/app/config/parameters.phpdentro de tupublic_html. - Edítalo con el editor de texto de DirectAdmin o descárgalo, modifícalo y súbelo de nuevo.
- Cambia los valores de
database_host(suele serlocalhost),database_name,database_userydatabase_passwordpor los que creaste en el paso 2.1. - Guarda los cambios.
4.2. Para PrestaShop 1.6 y versiones anteriores
- El archivo es
/config/settings.inc.php. - Busca las líneas que definen
_DB_SERVER_,_DB_NAME_,_DB_USER_y_DB_PASSWD_. - Sustitúyelas por los nuevos valores y guarda.
[WARNING] Asegúrate de que el usuario de la base de datos tenga permisos de SELECT, INSERT, UPDATE, DELETE sobre la base. Si no, la tienda dará errores de conexión.
Paso 5: Ajustar la URL de la Tienda y Activar el Modo Mantenimiento
Es probable que la URL en la base de datos siga apuntando al dominio antiguo. Para evitar problemas, vamos a forzar la nueva URL.
- En tu nuevo hosting, crea un archivo llamado
config/defines.inc.php(si no existe) y dentro añade al final:define('_PS_DEBUG_PROFILING_', false); define('_PS_DEBUG_SQL_', false); - Para forzar la URL, edita la tabla
ps_configurationen phpMyAdmin (de tu nueva base de datos). - Busca las filas
PS_SHOP_DOMAINyPS_SHOP_DOMAIN_SSLy cámbialas por tu nuevo dominio (sinhttps://). - También revisa la tabla
ps_shop_urly actualiza el campodomainydomain_ssl. - Activa el modo mantenimiento mientras pruebas: en la tabla
ps_configuration, buscaPS_SHOP_ENABLEy ponlo en0(o hazlo desde el back office si ya accedes).
[TIP] Si no puedes acceder al back office, usa el archivo
config/defines.inc.phpy definedefine('_PS_MODE_DEV_', true);temporalmente para ver los errores exactos.
Paso 6: Probar, Limpiar y Finalizar
Ya estás muy cerca de completar la migración prestashop. Ahora toca verificar que todo funciona.
6.1. Comprueba la Tienda
- Accede a tu dominio. Deberías ver la tienda (aunque en mantenimiento).
- Entra al back office (
/adminXXXXo la ruta que hayas configurado). - Ve a Parámetros avanzados > Rendimiento y pulsa Vaciar la caché (o borra la carpeta
var/cachemanualmente). - Prueba a ver un producto, añade algo al carrito y simula una compra (puedes usar el modo test de tu pasarela de pago).
- Revisa que las imágenes se ven correctamente. Si no, regenera las miniaturas en Parámetros avanzados > Imágenes.
6.2. Actualiza los Enlaces y Archivos
- Si usas URLs amigables, ve a Parámetros avanzados > SEO y URLs y vuelve a guardar la configuración para regenerar el
.htaccess. - Actualiza cualquier referencia al dominio antiguo en textos, emails o enlaces dentro del back office.
- Cambia las rutas absolutas en el archivo
config/settings.inc.phpsi usabas rutas personalizadas.
6.3. Desactiva el Modo Mantenimiento y Cambia el DNS
- Una vez que todo funcione, ve a Parámetros de la tienda > General y activa la tienda (quita el mantenimiento).
- Ahora sí, cambia los servidores DNS de tu dominio para que apunten al nuevo hosting. Este cambio puede tardar de 24 a 72 horas en propagarse.
- No elimines el hosting antiguo hasta que pasen al menos 48 horas y verifiques que todo funciona desde diferentes redes.
[WARNING] No borres la base de datos del hosting antiguo ni los archivos hasta que estés 100% seguro de que la nueva tienda funciona sin errores. Es tu red de seguridad.
Preguntas Frecuentes (FAQ) sobre Migrar PrestaShop
¿Puedo mover prestashop hosting sin perder el SEO?
Sí, si mantienes la misma estructura de URLs y configuras correctamente las redirecciones 301 desde el dominio antiguo al nuevo. Asegúrate de que los enlaces de productos y categorías sigan siendo los mismos. Si cambias la URL de algún producto, usa el módulo de redirección de PrestaShop.
¿Qué hago si veo el error "Error de conexión a la base de datos"?
Revisa los datos en parameters.php o settings.inc.php. Los errores más comunes son un nombre de usuario/contraseña incorrectos o que el usuario no tenga permisos completos sobre la base de datos. También verifica que el servidor de base de datos sea localhost (a menos que DirectAdmin te indique otro).
¿Necesito cambiar algo en el archivo .htaccess?
Sí, es muy probable. Después de la migración, ve a Parámetros avanzados > SEO y URLs y guarda de nuevo. Esto regenerará el .htaccess con las reglas correctas para el nuevo servidor. Si usas Apache, asegúrate de que el módulo mod_rewrite esté activo en DirectAdmin.
¿Qué pasa si mis imágenes no cargan?
Es un problema común. Primero, verifica que la carpeta img se haya subido completa. Luego, ve a Parámetros avanzados > Imágenes y pulsa en "Regenerar miniaturas". Si el problema persiste, revisa los permisos de las carpetas (deben ser 755 para directorios y 644 para archivos).
¿Cómo sé que la migración ha sido exitosa?
Prueba todo: la página de inicio, una ficha de producto, el carrito, el proceso de pago, la creación de cuenta y el panel de administración. También revisa los logs de error del servidor (en DirectAdmin, en "Logs" > "Error Logs"). Si no hay errores y todo carga rápido, ¡felicidades, lo lograste!
Consejos Finales y Buenas Prácticas
Migrar prestashop no es un proceso diario, pero con esta guía podrás hacerlo con confianza. Recuerda:
- Haz siempre una copia de seguridad antes de empezar, incluso si ya tienes una.
- Anota todos los datos (bases, usuarios, contraseñas) en un lugar seguro.
- Realiza la migración en horas de baja afluencia para minimizar el impacto si algo falla.
- No te olvides de los correos electrónicos. Si tu hosting también gestiona el email, necesitarás crear las cuentas en DirectAdmin o configurar los registros MX.
- Actualiza los cron jobs (tareas programadas) que tuvieras en el hosting antiguo, como los de generación de informes o limpieza de carritos.
[INFO] Si tu anterior hosting usaba Syspanel (HestiaCP) y no recuerdas la contraseña, recuerda que el acceso es por el puerto 2106. La migración desde Syspanel a DirectAdmin es exactamente igual: exportas desde phpMyAdmin y descargas por FTP. No hay ningún paso extra.
Con esta guía, prestashop directadmin migración se convierte en una tarea manejable. Tómate tu tiempo, sigue los pasos en orden y, sobre todo, no saltes ninguna fase. Si algo sale mal, respira, revisa los logs y vuelve a intentarlo. La práctica hace al maestro, y ahora ya tienes el conocimiento para hacerlo bien a la primera. ¡Buena suerte con tu nueva tienda!
