Después de migrar unas treinta tiendas de la versión 1.7 a la versión 8 de PrestaShop, he terminado por definir una metodología que funciona de forma fiable, sea cual sea el tamaño del catálogo o la complejidad de las personalizaciones. PrestaShop 1.7 se acerca progresivamente al final de su ciclo de soporte, y las tiendas que siguen con esa versión acumulan un riesgo de seguridad creciente, además de perderse mejoras de rendimiento reales. Aquí tienes, fase por fase, cómo procedo con mis clientes.
Fase 1 — Preparación y auditoría (1 a 2 semanas)
Nada debe improvisarse. El primer paso es una auditoría completa de la tienda existente: lista exhaustiva de los módulos instalados distinguiendo módulos nativos de PrestaShop y módulos de terceros, inventario del tema (nativo, hijo del tema clásico, o totalmente a medida), y sobre todo documentación precisa de todas las personalizaciones específicas (sobrescrituras de clases, hooks personalizados, consultas SQL directas). Esta fase lleva tiempo, pero evita el 80% de las sorpresas desagradables durante la migración. Luego elaboro una lista de los módulos incompatibles con la versión 8, contactando directamente con los editores cuando es necesario.
Fase 2 — Entorno de pruebas
Nunca migrar directamente en producción. Clono siempre la producción en un entorno de staging idéntico (misma configuración de servidor si es posible). En este entorno, actualizo primero PHP a la versión 8.1 como mínimo (a menudo 8.2), ya que PrestaShop 8 lo exige. Después migro a la última versión estable de PrestaShop 8.x.x. Cada error encontrado se documenta junto con su solución: esta base de conocimiento es la que acelera las migraciones siguientes.
Fase 3 — Adaptación del tema
El tema clásico ha evolucionado considerablemente entre la 1.7 y la 8: el motor de plantillas Smarty pasó a la versión 4, lo que rompe ciertas sintaxis obsoletas. Compruebo sistemáticamente los hooks obsoletos (varios hooks usados en la 1.7 ya no existen o han cambiado de comportamiento) y pruebo manualmente todos los recorridos de usuario críticos: ficha de producto, añadir al carrito, todo el túnel de compra, cuenta de cliente, buscador. Un tema a medida antiguo suele requerir de 3 a 5 días de trabajo de readaptación.
Fase 4 — Módulos de terceros
Este suele ser el principal punto de bloqueo. Para cada módulo de terceros aún en uso, contacto con el editor para obtener la versión compatible con PrestaShop 8; por desgracia, algunos editores han abandonado sus módulos, lo que obliga a buscar una alternativa equivalente o a recodificar la funcionalidad internamente si es específica del negocio del cliente.
Fase 5 — Puesta en producción
Elijo siempre una franja de bajo tráfico (de noche, temprano por la mañana, o un día tranquilo según el sector). El sitio entra en modo mantenimiento, se migra la base de datos, y después se ejecuta una batería de pruebas post-migración: un pedido de prueba de principio a fin, comprobación de los emails transaccionales, control del SEO (URLs, redirecciones, sitemap). Si el hosting cambia a la vez, el cambio de DNS se planifica bajando el TTL de antemano para minimizar el corte.
Beneficios concretos observados
En el conjunto de las migraciones realizadas, observo de media un +30% de rendimiento (tiempo de carga y fluidez del back-office), compatibilidad nativa con PHP 8.2 y sus futuras versiones, un back-office claramente más ergonómico para los equipos que gestionan el catálogo cada día, y una seguridad reforzada gracias a los parches y a la arquitectura modernizada de la versión 8.
Cuánto cuesta y cuánto tiempo lleva
Para una tienda de complejidad media (tema personalizado sencillo, 10-20 módulos de terceros, catálogo de unos pocos miles de productos), hay que contar generalmente entre 3 y 6 semanas de trabajo efectivo repartidas en estas 5 fases, con un presupuesto que varía mucho según el nivel de personalización original. Las tiendas con un tema 100% a medida y muchos módulos específicos necesitan naturalmente más tiempo que las que se mantuvieron cerca del tema nativo.