🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Migración segura de PrestaShop 1.6 a 9.0

Actualizado el 15 de marzo de 2026

La migración de una tienda PrestaShop de la versión 1.6 a la 9.0 (o su versión moderna equivalente, como la 8.x o la futura 9.0) es un proceso delicado que, si no se ejecuta correctamente, puede derivar en pérdida de datos, caídas del sistema o vulnerabilidades de seguridad. Este artículo está diseñado para administradores de sistemas y desarrolladores que buscan una actualización segura paso a paso, minimizando el tiempo de inactividad y garantizando la integridad de los datos. Abordaremos desde la preparación del entorno hasta la verificación post-migración.

Preparación del Entorno y Evaluación de Riesgos

Antes de tocar cualquier archivo, es fundamental entender el alcance del cambio. PrestaShop 1.6 y 9.0 difieren en la arquitectura de plantillas (Smarty vs Twig), el sistema de módulos (nativos vs nativos más modernos) y los requisitos de PHP (5.6 vs 8.1+). Ignorar estas diferencias conduce a errores fatales.

Requisitos Técnicos Mínimos para la Migración

Para realizar una migración PrestaShop con garantías, necesitas un servidor que cumpla con los siguientes requisitos:

  • PHP: Versión 8.1 o superior (recomendado 8.2 o 8.3 para la 9.0).
  • Base de datos: MySQL 5.7+ o MariaDB 10.3+.
  • Servidor web: Apache 2.4+ con mod_rewrite o Nginx 1.20+.
  • Memoria PHP: Al menos 256 MB de límite de memoria (512 MB recomendado).
  • Tiempo de ejecución: max_execution_time de 300 segundos o más.

[WARNING] No intentes migrar directamente desde 1.6 a 9.0 sin pasar por versiones intermedias si tu tienda tiene muchos módulos o personalizaciones. El salto es demasiado grande. La ruta recomendada es: 1.6 → 1.7.8.x → 8.x → 9.0.

Creación de un Backup Completo y Verificable

El primer paso no negociable es un backup PrestaShop completo. No basta con copiar la carpeta; debes asegurarte de que puedas restaurar en cualquier momento.

  1. Backup de la base de datos:

    mysqldump -u usuario -p --routines --events --triggers nombre_bd > backup_bd_$(date +%Y%m%d).sql
    
  2. Backup de los archivos:

    tar -czf backup_archivos_$(date +%Y%m%d).tar.gz /ruta/a/tu/prestashop/
    
  3. Verificación del backup:

    • Restaura en un entorno local o de staging.
    • Comprueba que todas las tablas y archivos están presentes.
    • Valida que el tamaño del backup es coherente con el original.

[TIP] Usa herramientas como rsync para sincronizar el backup en un servidor remoto. No almacenes backups en el mismo disco que la tienda.

Creación de un Entorno de Staging Idéntico al de Producción

Nunca realices la migración directamente en producción. Necesitas un clon exacto de tu tienda 1.6 para probar todo el proceso.

Configuración del Entorno de Pruebas

  1. Clona el servidor de producción (o usa un VPS con las mismas especificaciones).

  2. Restaura el backup:

    mysql -u usuario -p nombre_bd_staging < backup_bd.sql
    
  3. Configura el acceso a la base de datos en app/config/parameters.php (para 1.6) o config/settings.inc.php.

  4. Ajusta el dominio en la tabla ps_configuration:

    UPDATE ps_configuration SET value = 'http://staging.tudominio.com' WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL');
    
  5. Limpia la caché de PrestaShop 1.6: Elimina la carpeta /cache/smarty/compile/ y /cache/cachefs/.

Proceso de Migración Paso a Paso (1.6 a 9.0)

Una vez que el staging está listo, comienza la migración real. Sigue este orden estricto.

Actualización a PrestaShop 1.7.8.x (Paso Intermedio)

La versión 1.6 no puede saltar directamente a la 9.0. Primero debes actualizar a la última versión 1.7.x estable.

  1. Descarga la última versión 1.7.8.x desde el sitio oficial.
  2. Sobrescribe los archivos (excepto /config/settings.inc.php, /img/, /themes/, /modules/, /override/).
  3. Ejecuta el script de actualización:
    cd /ruta/a/tu/prestashop
    php install/upgrade/upgrade.php
    
  4. Resuelve conflictos de módulos: Muchos módulos de 1.6 no son compatibles con 1.7. Desactívalos y busca alternativas nativas o actualizadas.

[INFO] El proceso de actualización de 1.6 a 1.7 puede llevar horas si tienes muchos productos o pedidos. Aumenta el max_execution_time en PHP y ejecuta el script desde la terminal para evitar timeouts.

Migración de PrestaShop 1.7.8.x a 9.0

Una vez en 1.7.8.x, puedes usar la herramienta oficial 1-Click Upgrade para llegar a la 9.0.

  1. Instala el módulo 1-Click Upgrade desde el back office.

  2. Configura el módulo:

    • Marca la opción "Actualizar la base de datos" y "Restaurar la configuración predeterminada".
    • Selecciona la versión destino (9.0).
  3. Ejecuta la actualización desde el back office o mediante CLI:

    php modules/autoupgrade/cli-upgrade.php --version=9.0.0 --dir=/ruta/a/tu/prestashop
    
  4. Verifica la base de datos: Después de la actualización, comprueba que las tablas se han actualizado correctamente:

    SHOW TABLES LIKE 'ps_%';
    

Migración de Módulos y Temas Personalizados

La parte más compleja de una migración PrestaShop son las personalizaciones. Los temas de 1.6 (Smarty) no funcionan en 9.0 (Twig). Los módulos tampoco.

Adaptación de Temas (Themes)

  • Temas nativos: Si usas un tema por defecto, actualiza al tema moderno (por ejemplo, Classic).
  • Temas personalizados: Debes reescribirlos usando el sistema de plantillas Twig y la arquitectura de 9.0.
    • Crea un tema hijo basado en el tema Classic.
    • Migra los archivos .tpl a .twig.
    • Ajusta los hooks y las variables globales.

Módulos Críticos y su Sustitución

  • Módulos de pago: PayPal, Stripe, etc. Deben actualizarse a versiones compatibles. Contacta con el desarrollador.
  • Módulos de envío: Lo mismo aplica. Muchos módulos de 1.6 son incompatibles con la nueva API de transporte.
  • Módulos de SEO: Los módulos de SEO suelen ser más fáciles de migrar, pero revisa las configuraciones.

[WARNING] No migres módulos obsoletos. Si un módulo no tiene versión para 9.0, busca alternativas en el marketplace oficial. Instalar módulos no compatibles romperá la tienda.

Verificación y Pruebas Post-Migración

Después de la migración, no te apresures a poner la tienda en producción. Realiza estas comprobaciones.

Pruebas Funcionales

  1. Catálogo: Navega por todas las categorías y productos. Verifica que las imágenes se cargan y los precios son correctos.
  2. Carrito y checkout: Añade productos al carrito, aplica cupones y completa una compra de prueba.
  3. Cuentas de usuario: Crea un nuevo cliente y prueba el proceso de registro y recuperación de contraseña.
  4. Módulos de pago: Realiza una transacción real (con un método de pago de prueba si es posible).

Pruebas de Rendimiento y Seguridad

  • Carga de página: Usa herramientas como GTmetrix o Lighthouse para medir el rendimiento.
  • Seguridad: Verifica que los archivos sensibles (.git, config/, install/) no sean accesibles públicamente.
  • SSL: Asegúrate de que todas las páginas usen HTTPS.

Resolución de Problemas Comunes

Incluso siguiendo los pasos, pueden surgir problemas. Aquí algunos típicos.

Error de Base de Datos "Table doesn't exist"

  • Causa: La actualización no completó todas las migraciones.
  • Solución: Ejecuta manualmente el script SQL faltante desde install/upgrade/sql/.

Página en Blanco (White Screen of Death)

  • Causa: Módulo o tema incompatible.
  • Solución: Desactiva todos los módulos no nativos y vuelve al tema Classic. Luego reactiva uno por uno.

Problemas con el Carrito o Sesiones

  • Causa: Caché de sesiones corrupta.
  • Solución: Limpia la caché de PrestaShop y reinicia el servicio PHP-FPM.

Conclusión y Mejores Prácticas Finales

La migración PrestaShop 1.6 a 9.0 es un proceso complejo pero manejable si se planifica con cuidado. Recuerda:

  • Siempre haz un backup antes de cualquier cambio.
  • Usa un entorno de staging para pruebas.
  • Actualiza por etapas (1.6 → 1.7.8 → 9.0).
  • Reemplaza módulos obsoletos por versiones compatibles.
  • Prueba exhaustivamente antes de lanzar a producción.

[TIP] Documenta cada paso que realices. Si algo sale mal, tendrás un registro claro de lo que hiciste y podrás revertir fácilmente.

Una migración exitosa no solo actualiza el software, sino que también mejora la seguridad, el rendimiento y la experiencia del usuario. Con estos pasos, tu tienda estará lista para los próximos años.

Ilustración de un entorno de servidor preparado para la migración.

Ejemplo de comandos de backup y restauración en un entorno de staging.

Vista del back office de PrestaShop 9.0 después de una migración exitosa.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel