PrestaShop 1.7 ya no recibe parches de seguridad. Si tu tienda sigue en esta versión, cada día que pasa aumenta el riesgo. Pero migrar a PrestaShop 9 no es pulsar un botón: es un salto generacional que implica cambios profundos en arquitectura, servidor y módulos. Esta guía te da el proceso exacto para hacerlo sin tumbar tu tienda.
Por Qué Migrar a PrestaShop 9 en 2026
Antes de invertir tiempo en la migración, conviene entender qué ganas:
- Rendimiento superior: Symfony 6 LTS y PHP 8.1+ ofrecen tiempos de respuesta significativamente mejores
- Seguridad reforzada: Parches activos y compatibilidad con estándares modernos
- Futuro garantizado: PrestaShop 1.7 dejó de recibir actualizaciones de seguridad
- Ecosistema moderno: Acceso a módulos optimizados y nuevas funcionalidades de IA
Requisitos Previos para la Migración
Requisitos del servidor
| Componente | Mínimo | Recomendado |
|---|---|---|
| PHP | 8.1 | 8.2 o 8.3 |
| MySQL | 8.0 | 8.0+ |
| MariaDB | 10.6 | 10.11+ |
| Memoria PHP | 256MB | 512MB+ |
| Node.js | 18 | 20 LTS |
Verificación del entorno actual
Antes de comenzar, documenta tu instalación actual:
# Verificar versión de PrestaShop
cat config/settings.inc.php | grep _PS_VERSION_
# Verificar versión de PHP
php -v
# Listar módulos instalados
ls -la modules/
Checklist de Migración Paso a Paso
Fase 1: Preparación (Antes de tocar nada)
- Backup completo de la base de datos
- Backup de todos los archivos (especialmente
/modules,/themes,/override,/img) - Documentar módulos activos y sus versiones
- Documentar personalizaciones del theme y overrides
- Verificar compatibilidad de módulos con PrestaShop 9
- Configurar entorno de staging idéntico a producción
- Notificar al equipo sobre la ventana de mantenimiento
Fase 2: Auditoría de Compatibilidad
Módulos críticos a revisar
Los módulos de pago y envío son prioritarios. Contacta con los proveedores para confirmar versiones compatibles con PS9:
- Pasarelas de pago (Redsys, PayPal, Stripe)
- Módulos de transporte (SEUR, MRW, Correos)
- ERP y sincronización de stock
- Módulos de marketing (Google Shopping, Meta Pixel)
Identificar código obsoleto
PrestaShop 9 elimina funciones deprecadas. Busca en tu código:
// Funciones eliminadas en PS9 - buscar y reemplazar
Tools::jsonDecode() // Usar json_decode() nativo
Tools::jsonEncode() // Usar json_encode() nativo
Db::getInstance()->Execute() // Usar execute() en minúsculas
Fase 3: Ruta de Migración
No existe migración directa de 1.7 a 9. El camino recomendado es:
PrestaShop 1.7.x → PrestaShop 8.1 → PrestaShop 9.x
Paso 1: Actualizar a PrestaShop 8.1
- Descargar el módulo oficial de actualización desde GitHub
- Subir a
/modules/autoupgrade - Acceder a
Módulos > Actualización 1-Click - Seleccionar canal “Major version” y versión 8.1.x
- Ejecutar actualización en staging primero
Paso 2: Validar funcionamiento en PS 8.1
- Probar proceso de compra completo
- Verificar panel de administración
- Comprobar integraciones externas
- Revisar logs de errores
Paso 3: Actualizar a PrestaShop 9
Repetir el proceso con el módulo de actualización hacia PS9. Esta vez los cambios son más profundos:
# Limpiar caché antes y después
rm -rf var/cache/*
# Regenerar assets del theme
cd themes/tu-theme && npm install && npm run build
¿Migración compleja? Si tu tienda tiene personalizaciones críticas o prefieres delegar el proceso técnico, contacta conmigo para una evaluación sin compromiso.
Fase 4: Adaptación del Theme
Si usas un theme personalizado basado en Classic 1.7, necesitarás adaptaciones:
Cambios obligatorios
- Motor de plantillas: Twig reemplaza completamente a Smarty
- Assets: Webpack Encore sustituye a Gulp/Grunt
- Hooks: Algunos hooks han cambiado de nombre o ubicación
Estructura de archivos del theme en PS9
themes/mi-theme/
├── assets/
│ └── js/
│ └── css/
├── config/
│ └── theme.yml
├── templates/
│ ├── catalog/
│ ├── checkout/
│ └── customer/
└── webpack.config.js
Themes de Terceros: Qué Hacer Si No Usas Classic
La mayoría de tiendas profesionales utilizan themes comprados en marketplaces como ThemeForest, PrestaShop Addons o desarrolladores independientes. En estos casos, la migración del theme es el punto más crítico del proceso.
Opción 1: Contactar al desarrollador del theme
Es la opción recomendada. Antes de migrar:
- Verifica si el desarrollador ofrece versión compatible con PS9
- Consulta si incluyen servicio de migración o upgrade
- Pregunta por el roadmap de compatibilidad
Themes populares y su estado habitual:
| Theme | Marketplace | Soporte PS9 |
|---|---|---|
| Flavor | ThemeForest | Consultar desarrollador |
| Warehouse | ThemeForest | Consultar desarrollador |
| Flavor Theme | PrestaShop Addons | Versiones específicas |
| Panda | PrestaShop Addons | Consultar desarrollador |
| Alysum | ThemeForest | Consultar desarrollador |
| Modez | ThemeForest | Consultar desarrollador |
Opción 2: Migrar a un theme nuevo compatible
Si tu theme no tiene soporte para PS9, considera:
- Comprar un theme nuevo ya compatible con PrestaShop 9
- Adaptar el diseño al nuevo theme (requiere trabajo de maquetación)
- Documentar personalizaciones para replicarlas en el nuevo theme
Checklist antes de cambiar de theme
- Exportar configuraciones de diseño (colores, fuentes, logos)
- Capturar screenshots de todas las páginas importantes
- Listar widgets y bloques personalizados
- Documentar modificaciones CSS custom
- Exportar traducciones personalizadas del theme
Opción 3: Adaptar el theme manualmente
Solo recomendable si tienes equipo de desarrollo interno. Implica:
Trabajo necesario:
# Analizar archivos del theme actual
find themes/tu-theme -name "*.tpl" | wc -l # Plantillas Smarty a convertir
find themes/tu-theme -name "*.js" | wc -l # Scripts a revisar
Conversión de Smarty a Twig:
{* Smarty (PS 1.7) *}
{foreach from=$products item=product}
<div class="product">{$product.name}</div>
{/foreach}
{# Twig (PS 9) #}
{% for product in products %}
<div class="product">{{ product.name }}</div>
{% endfor %}
Cambios en variables y helpers:
| Smarty (1.7) | Twig (PS9) |
|---|---|
{$urls.base_url} | {{ urls.base_url }} |
{l s='Texto'} | {{ 'Texto'|trans }} |
{include file='...'} | {% include '...' %} |
{if $var} | {% if var %} |
Opción 4: Usar Classic como base temporal
Si necesitas migrar urgentemente y tu theme no está listo:
- Activa el theme Classic de PS9 temporalmente
- Aplica personalizaciones CSS básicas para mantener la identidad visual
- Migra al theme definitivo cuando esté disponible
/* /themes/classic/assets/css/custom.css */
:root {
--primary-color: #tu-color-marca;
--secondary-color: #tu-color-secundario;
}
.header-logo img {
max-height: 60px;
}
Consideraciones sobre licencias
- Algunos themes requieren nueva licencia para PS9
- Verifica los términos de actualización antes de comprar
- Themes abandonados (sin actualizaciones en +12 meses) son señal de alerta
Fase 5: Migración de Datos
Exportar datos críticos antes de migrar
-- Backup de clientes
SELECT * FROM ps_customer INTO OUTFILE '/tmp/customers_backup.csv';
-- Backup de pedidos
SELECT * FROM ps_orders INTO OUTFILE '/tmp/orders_backup.csv';
-- Backup de productos
SELECT * FROM ps_product INTO OUTFILE '/tmp/products_backup.csv';
Verificar integridad post-migración
-- Contar registros para comparar
SELECT 'customers' as tabla, COUNT(*) as total FROM ps_customer
UNION ALL
SELECT 'orders', COUNT(*) FROM ps_orders
UNION ALL
SELECT 'products', COUNT(*) FROM ps_product;
6 Errores Comunes en la Migración a PrestaShop 9
1. Migrar directamente en producción
El error: Ejecutar la actualización sin entorno de pruebas.
La solución: Siempre usar staging. Clona tu tienda en un subdominio (staging.tutienda.com) y prueba allí primero.
2. No verificar compatibilidad de módulos
El error: Asumir que los módulos funcionarán automáticamente.
La solución: Crear una matriz de compatibilidad:
| Módulo | Versión actual | Compatible PS9 | Acción |
|---|---|---|---|
| redsys | 2.3.1 | Sí (v3.0+) | Actualizar |
| mi-modulo-custom | 1.0 | No | Reescribir |
3. Ignorar los overrides
El error: Los overrides de PS 1.7 no funcionan en PS9 debido a cambios en el core.
La solución: Revisar /override/ y convertir la lógica a módulos con hooks o servicios Symfony.
4. No actualizar PHP del servidor
El error: Intentar ejecutar PS9 con PHP 7.4.
La solución: Actualizar PHP antes de la migración. Coordina con tu proveedor de hosting.
5. Perder configuraciones de SEO
El error: Las URLs amigables y redirecciones se pierden.
La solución: Exportar configuración de URLs antes de migrar:
SELECT * FROM ps_meta_lang;
SELECT * FROM ps_seo_url;
6. No planificar el rollback
El error: No tener plan B si la migración falla.
La solución: Documentar el proceso de restauración:
# Restaurar backup de base de datos
mysql -u usuario -p nombre_bd < backup_completo.sql
# Restaurar archivos
tar -xzf backup_archivos.tar.gz -C /var/www/html/
Herramientas para Migrar PrestaShop
- PrestaShop Upgrade Module: Módulo oficial de migración
- PHP Compatibility Checker: Detecta código incompatible con PHP 8.1+
- PrestaShop Validator: Valida módulos antes de instalar
- mysqldump: Backups de base de datos
- rsync: Sincronización de archivos entre entornos
Cronograma Sugerido de Migración
| Fase | Actividades |
|---|---|
| Semana 1 | Auditoría, backups, configurar staging |
| Semana 2 | Migración en staging a PS 8.1 |
| Semana 3 | Testing en PS 8.1, corrección de errores |
| Semana 4 | Migración en staging a PS 9 |
| Semana 5 | Testing completo, adaptación de theme |
| Semana 6 | Migración en producción (horario de bajo tráfico) |
Preguntas Frecuentes sobre la Migración
¿Puedo migrar directamente de PrestaShop 1.7 a 9?
No. La ruta segura es 1.7 → 8.1 → 9. Saltarse versiones puede corromper datos y hacer que módulos críticos dejen de funcionar.
¿Cuánto cuesta migrar a PrestaShop 9?
Depende de la complejidad. Una tienda con theme Classic y pocos módulos puede hacerse internamente. Tiendas con themes premium y módulos custom pueden requerir desarrollo profesional.
¿Mis módulos de pago funcionarán en PS9?
Debes verificar con cada proveedor. Redsys, PayPal y Stripe tienen versiones compatibles, pero requieren actualización manual.
¿Perderé posicionamiento SEO al migrar?
No si exportas las URLs amigables y configuras redirecciones 301 correctamente antes de la migración.
¿Es obligatorio migrar a PrestaShop 9?
No es obligatorio, pero sí recomendable. PrestaShop 1.7 ya no recibe actualizaciones de seguridad, lo que expone tu tienda a vulnerabilidades.
Conclusión
Migrar de PrestaShop 1.7 a PrestaShop 9 requiere planificación meticulosa. No es un proceso que debas hacer en una tarde. La clave está en:
- Nunca migrar directamente — siempre usa staging
- Seguir la ruta 1.7 → 8.1 → 9 — no hay atajos seguros
- Verificar cada módulo — un módulo incompatible puede tumbar la tienda
- Tener rollback preparado — los backups son obligatorios, no opcionales
Si tu tienda tiene alta personalización o módulos críticos sin soporte para PS9, considera si la migración vale la pena ahora o si es mejor esperar a que el ecosistema madure.
¿Necesitas ayuda con la migración? Si tu tienda tiene personalizaciones complejas o prefieres delegar el proceso, contacta conmigo para una evaluación sin compromiso.
Recursos adicionales
Artículos relacionados:
Documentación oficial: