PrestaShop: Cómo migrar a un nuevo servidor
Migrar una tienda PrestaShop a un nuevo servidor puede parecer una tarea compleja, pero con una guía clara y las herramientas adecuadas, es un proceso que puedes realizar tú mismo sin necesidad de ser un experto técnico. Esta guía está diseñada para que, paso a paso, puedas mover tu tienda online de un hosting a otro de forma segura, evitando tiempos de inactividad largos y pérdida de datos.
Vamos a desglosar todo el proceso, desde la preparación inicial hasta la verificación final de que todo funciona correctamente. Recuerda que lo más importante es la planificación y la seguridad de los datos.
Preparación antes de la migración
Antes de tocar cualquier archivo o base de datos, es fundamental tener un plan. Una migración exitosa comienza con una buena preparación.
¿Qué necesitas tener a mano?
- Acceso al servidor antiguo: Necesitas las credenciales de FTP (o SFTP) y el acceso al panel de control de tu hosting actual (cPanel, Plesk, Syspanel, etc.). También necesitarás los datos de acceso a phpMyAdmin o similar para exportar la base de datos.
- Acceso al servidor nuevo: Debes tener contratado tu nuevo plan de hosting y tener listas las credenciales de FTP y el panel de control. Asegúrate de que el nuevo servidor cumple con los requisitos técnicos de PrestaShop (versión de PHP, MySQL, etc.).
- Herramientas de backup: Un programa de FTP como FileZilla (gratuito) y un editor de texto plano como Notepad++ o Sublime Text.
- Tiempo y paciencia: Dependiendo del tamaño de tu tienda, el proceso puede llevar desde 30 minutos hasta varias horas. Planifica la migración en un momento de baja actividad para minimizar el impacto.
[INFO] Si tu nuevo hosting utiliza Syspanel (HestiaCP), recuerda que el acceso al panel de control se realiza a través del puerto 2106 (ejemplo:
tudominio.com:2106). No lo confundas con el puerto 2083 de cPanel.
Realiza un backup completo (obligatorio)
Este es el paso más crítico. Un backup te permite restaurar tu tienda en caso de cualquier error durante la migración. Nunca, bajo ninguna circunstancia, intentes una migración sin tener una copia de seguridad reciente.
Paso 1: Backup de los archivos de PrestaShop
Conéctate a tu servidor antiguo mediante FTP (FileZilla).
- Abre FileZilla y conéctate a tu servidor usando los datos de tu hosting actual.
- Navega hasta la carpeta donde está instalado PrestaShop. Normalmente es la carpeta
public_htmlowww. Si tu tienda está en una subcarpeta (ej:public_html/tienda), ve a esa carpeta. - Selecciona TODAS las carpetas y archivos de tu instalación de PrestaShop.
- Haz clic derecho y elige "Descargar". Esto copiará todos los archivos a tu computadora. El proceso puede tardar, ten paciencia.
Paso 2: Backup de la base de datos de PrestaShop
La base de datos contiene toda la información de tu tienda: productos, clientes, pedidos, configuraciones, etc.
- Accede a phpMyAdmin desde el panel de control de tu hosting antiguo (cPanel, Syspanel, etc.).
- Selecciona la base de datos de tu PrestaShop (la que aparece en el archivo
app/config/parameters.phpde tu instalación). - Haz clic en la pestaña "Exportar".
- Elige el método "Rápido" y formato "SQL". Asegúrate de que la opción "Enviar" esté seleccionada.
- Haz clic en "Continuar" o "Exportar". Se descargará un archivo
.sqlcon toda tu base de datos. Guárdalo en un lugar seguro.
[WARNING] Guarda el archivo
app/config/parameters.phpde tu tienda actual. Contiene las credenciales de la base de datos (nombre, usuario, contraseña, servidor). Lo necesitarás para configurar la nueva instalación.
Migración paso a paso al nuevo servidor
Una vez que tienes el backup completo (archivos + base de datos), podemos proceder a la migración.
1. Subir los archivos al nuevo servidor
- Conéctate mediante FTP al nuevo servidor.
- Navega hasta la carpeta donde quieres instalar PrestaShop (normalmente
public_htmlowww). - Arrastra TODAS las carpetas y archivos que descargaste del servidor antiguo a esta carpeta. Asegúrate de que FileZilla esté configurado para sobrescribir archivos si es necesario.
- Espera a que la transferencia termine. No interrumpas el proceso.
2. Crear y configurar la base de datos en el nuevo servidor
Ahora necesitas crear una nueva base de datos en tu nuevo hosting y luego importar los datos de tu backup.
- Accede al panel de control de tu nuevo servidor (Syspanel, cPanel, etc.).
- Busca la sección "Bases de datos MySQL" o similar.
- Crea una nueva base de datos: Dale un nombre (ej:
prestashop_nueva). - Crea un usuario para la base de datos: Dale un nombre (ej:
usuario_presta) y una contraseña segura. Anota todo. - Asigna el usuario a la base de datos: Dale todos los privilegios (normalmente marcando "Todos los privilegios").
- Importa el backup de la base de datos:
- Abre phpMyAdmin en el nuevo servidor.
- Selecciona la base de datos que acabas de crear.
- Haz clic en la pestaña "Importar".
- Haz clic en "Seleccionar archivo" y elige el archivo
.sqlque descargaste del servidor antiguo. - Haz clic en "Continuar". Espera a que termine la importación. Si el archivo es muy grande, puede ser necesario usar herramientas como BigDump.
3. Configurar el archivo parameters.php
Este es el paso clave para que PrestaShop se conecte a la nueva base de datos.
-
En tu computadora, abre el archivo
app/config/parameters.phpque guardaste de la instalación antigua (o descárgalo de la nueva carpeta que subiste). -
Busca las siguientes líneas y modifícalas con los datos de la nueva base de datos que acabas de crear:
'database_host' => 'localhost', // Normalmente es 'localhost', pero si tu hosting te da un servidor específico, ponlo aquí. 'database_port' => '', 'database_name' => 'prestashop_nueva', // El nombre de la nueva base de datos. 'database_user' => 'usuario_presta', // El nombre del nuevo usuario. 'database_password' => 'tu_contraseña_segura', // La contraseña del nuevo usuario. 'database_prefix' => 'ps_', // Este suele ser el mismo, no lo cambies a menos que sepas lo que haces. -
Guarda el archivo y súbelo al nuevo servidor, sobrescribiendo el existente (en la carpeta
app/config/).
4. Actualizar la URL de la tienda (si cambia el dominio)
Si vas a usar el mismo dominio, este paso no es necesario. Pero si cambias de dominio (ej: de miviejaweb.com a minuevaweb.com), debes actualizar la URL en la base de datos.
-
Accede a phpMyAdmin en el nuevo servidor.
-
Selecciona la base de datos de PrestaShop.
-
Haz clic en la pestaña "SQL" y ejecuta la siguiente consulta (reemplaza las URLs por las tuyas):
UPDATE ps_configuration SET value = 'https://nuevodominio.com' WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL');También debes actualizar las URLs en las tablas de enlaces permanentes y de imágenes. Una forma más completa es ejecutar:
UPDATE ps_shop_url SET domain = 'nuevodominio.com', domain_ssl = 'nuevodominio.com' WHERE id_shop = 1;Si tu tienda tiene varios idiomas o tiendas, repite la consulta para cada
id_shop.
[TIP] Si no te sientes cómodo con SQL, puedes usar herramientas como "Search and Replace" de la base de datos (como Better Search Replace de WordPress, pero para PrestaShop hay módulos específicos) o editarlo manualmente. Otra opción es usar un script PHP temporal para hacer el reemplazo.
Verificación y solución de problemas comunes
Una vez que has subido los archivos, importado la base de datos y configurado la conexión, es hora de probar.
1. Prueba de acceso
- Abre tu navegador y escribe la URL de tu tienda (la nueva).
- Si todo está bien, deberías ver tu tienda funcionando con normalidad.
- Intenta acceder al panel de administración:
tudominio.com/admin1234(reemplazaadmin1234por la carpeta real de tu admin).
2. Problemas comunes y sus soluciones
Error de conexión a la base de datos:
- Causa: El archivo
parameters.phpno tiene los datos correctos de la nueva base de datos. - Solución: Revisa que el nombre de la base de datos, el usuario y la contraseña sean exactamente los que creaste. Asegúrate de que el servidor de la base de datos sea
localhosto el que te haya proporcionado tu hosting.
Página en blanco (error 500):
- Causa: Puede ser un problema de permisos de archivos, de versión de PHP o de un módulo incompatible.
- Solución:
- Habilita la visualización de errores de PHP editando el archivo
config/defines.inc.phpy cambiando_PS_MODE_DEV_atrue. - Verifica que la versión de PHP en el nuevo servidor sea compatible con tu versión de PrestaShop (generalmente PHP 7.4 o 8.0+).
- Asegúrate de que los permisos de las carpetas
cache,log,img,upload,downloadythemessean 755.
- Habilita la visualización de errores de PHP editando el archivo
Enlaces rotos o imágenes que no se ven:
- Causa: La URL de la tienda no se ha actualizado correctamente en la base de datos.
- Solución: Vuelve a ejecutar las consultas SQL de actualización de URL. También puedes regenerar las miniaturas de imágenes desde el panel de administración (Parámetros de la tienda > Imágenes > Regenerar miniaturas).
Error "No se puede conectar a la base de datos" o "Tabla no encontrada":
- Causa: La importación de la base de datos no se completó correctamente.
- Solución: Vuelve a importar el archivo
.sqldesde phpMyAdmin. Si el archivo es muy grande, usa herramientas como BigDump o pide a tu hosting que lo importe por ti.
Preguntas frecuentes (FAQ)
¿Puedo migrar mi tienda sin perder los pedidos en curso?
Sí, pero debes hacerlo en un momento de baja actividad y poner tu tienda en modo mantenimiento durante el proceso. Activa el modo mantenimiento desde el panel de administración (Parámetros de la tienda > Mantenimiento) antes de empezar.
¿Cuánto tiempo tarda la migración?
Depende del tamaño de tu tienda. Una tienda pequeña (pocos productos, sin imágenes pesadas) puede tardar 30-60 minutos. Una tienda grande (miles de productos, muchas imágenes) puede tardar varias horas.
¿Qué hago si mi nuevo hosting tiene Syspanel?
Si tu nuevo hosting utiliza Syspanel (HestiaCP), recuerda que el acceso al panel de control es a través del puerto 2106 (ej: tudominio.com:2106). El proceso de creación de bases de datos y usuarios es similar a otros paneles, pero busca las secciones "Bases de Datos" o "MySQL".
¿Necesito cambiar los DNS antes o después de la migración?
Es mejor migrar primero todos los archivos y la base de datos al nuevo servidor, probar que funciona (usando un archivo hosts temporal o una URL de prueba), y después cambiar los DNS. Así evitas que los visitantes vean una tienda rota durante el proceso.
¿Puedo usar un plugin o módulo para migrar?
Sí, existen módulos de pago para PrestaShop que automatizan parte del proceso. Sin embargo, para usuarios sin experiencia, es más seguro seguir los pasos manuales que te hemos explicado, ya que tienes control total sobre cada etapa.
[WARNING] No olvides desactivar el modo mantenimiento una vez que la migración esté completa y hayas verificado que todo funciona correctamente. De lo contrario, tus clientes no podrán comprar.
Conclusión
Migrar PrestaShop a un nuevo servidor es un proceso metódico que, con la guía adecuada, puedes realizar con éxito. La clave está en la preparación: haz un backup completo, sigue los pasos uno por uno y verifica cada etapa. Si te encuentras con un error, no te asustes; la mayoría de los problemas tienen solución revisando la configuración de la base de datos o los permisos de archivos.
Recuerda que el soporte de tu nuevo hosting también puede ayudarte si tienes problemas técnicos. ¡Buena suerte con tu migración!
