Actualizar PrestaShop (1.7 → 8 → 9) sin romper la tienda
En resumen
Para actualizar PrestaShop sin romper la tienda: copia completa fuera del servidor, inventario de módulos, overrides y tema, prueba en una copia (staging) con el Update Assistant oficial, compra de prueba con cada método de pago y un plan de vuelta atrás antes de tocar producción. De 1.7 no se puede saltar directamente a 9, porque ninguna versión de PHP sirve para las dos: se pasa a 8.2 con PHP 7.4, se sube PHP a 8.1 y después se actualiza a 9. Requisitos comprobados en la documentación oficial de PrestaShop en octubre de 2026.
Actualizar PrestaShop da respeto, y con razón: una tienda con veinte módulos de terceros y unos cuantos overrides puede romperse en el checkout sin avisar. Pero quedarse en una versión sin parches es peor. Esta es la forma en que lo planteo yo, con los requisitos comprobados en la documentación oficial a fecha de octubre de 2026.
Por Jose SorianoPublicada: Última actualización: 11 min de lectura
Actualizar PrestaShop en 8 pasos
Es el orden que sigo en cada tienda. Cada paso está explicado más abajo:
- Mira tu versión de PrestaShop y la de PHP en Parámetros avanzados → Información, y decide a qué versión vas (sección «Qué versión te toca»).
- Comprueba que la tienda está limpia. Actualizar no quita una puerta trasera ni un override malicioso: si hay sospechas, primero se limpia.
- Haz el inventario de módulos de terceros, overrides, tema y cambios hechos a mano en el núcleo. Desinstala y borra lo que no usas.
- Copia completa fuera del servidor: archivos y base de datos, además de la que haga el módulo.
- Monta una copia de pruebas (staging) con la versión de PHP que tendrá producción y actualiza ahí: primero los módulos de terceros, después el núcleo con el Update Assistant.
- Prueba el recorrido de compra completo con cada método de pago y de envío, y revisa
var/logs/y el log de errores de PHP. - Repite en producción en una franja de pocas ventas, con la tienda en mantenimiento.
- Ten el plan de vuelta atrás a mano: cómo restaurar la copia y cómo volver a la versión de PHP anterior.
Por qué actualizar es seguridad
Cada versión de PrestaShop corrige fallos que después se publican con su identificador. Por ejemplo, en agosto de 2026 salieron a la vez 8.2.8 y 9.1.5 con cinco avisos de seguridad, entre ellos una inyección SQL en los filtros de listados del back-office y un SSRF en la importación CSV (avisos de seguridad de PrestaShop). Desde el momento en que se publican, cualquiera puede leer qué estaba mal.
Y hay versiones que ya no reciben arreglos. Según el equipo de PrestaShop, la rama 1.7.8 dejó de mantenerse al publicarse PrestaShop 9.0.0 (junio de 2025); la última versión de 1.7 es la 1.7.8.11, de enero de 2024. La rama 8.2 está en soporte extendido, que terminará cuando salga PrestaShop 10.0.0. Si estás en 1.6 o 1.7, cada fallo nuevo que se descubra se quedará abierto en tu tienda.
La actualización no lo arregla todo: los módulos de terceros tienen sus propios fallos y se actualizan aparte. La lista de los más conocidos está en módulos de PrestaShop con vulnerabilidades. Y si sospechas que la tienda ya está comprometida, no actualices encima: primero revisa y limpia, porque una actualización no elimina una puerta trasera ni un override malicioso. El análisis gratuito te dice desde fuera qué versión detecta y qué módulos visibles tienen fallos publicados.
Qué versión te toca
Mira tu versión en Parámetros avanzados → Información del back-office (o en la esquina del panel). Con eso:
- 1.6.x: primero hay que pasar a 1.7 con la versión 4.14.3 del módulo de actualización (la última que admite 1.6), y desde ahí seguir. Es un salto grande: cambia el tema por completo y muchos módulos no tienen equivalente. A menudo compensa más una migración (instalación nueva y traspaso de datos) que una actualización.
- 1.7.x: el objetivo es llegar a 8.2 y, después, a 9. Más abajo explico por qué casi siempre son dos pasos.
- 8.0 o 8.1: actualiza a la última 8.2 y planifica el paso a 9.
- 8.2.x: aplica el último parche (8.2.8 a fecha de esta guía) y planifica el paso a 9 con calma.
- 9.x: mantente en el último parche de tu rama. La 9.2.0 salió el 30 de septiembre de 2026.
Parches de tu versión y módulos: la actualización de cada mes
No todo es saltar de versión. La mayoría de las veces, «actualizar PrestaShop» es aplicar el último parche de tu rama (por ejemplo, de una 8.2.x a la última 8.2) y poner al día los módulos. Es lo que cierra los fallos que se publican cada pocos meses, y da mucho menos trabajo:
- Parches del núcleo: se aplican con el mismo Update Assistant, que te ofrece la última versión de tu rama. Los requisitos de PHP no cambian dentro de la rama, pero copia y compra de prueba, siempre.
- Módulos: en Módulos → Gestor de módulos ves los que tienen actualización disponible (los de Addons, si la tienda tiene tu cuenta conectada). Los que compraste fuera de Addons se actualizan subiendo el
.zipnuevo que te da su autor. - Prioridad: primero los módulos con un fallo de seguridad publicado. Cruza tus versiones con la lista de módulos de PrestaShop con vulnerabilidades; después, el resto, uno a uno y empezando por los que no tocan el pago.
Requisitos: la versión de PHP manda
El requisito que más condiciona es PHP. Según las tablas oficiales de requisitos de 1.7, 8 y 9:
| PrestaShop | PHP admitido | Recomendado |
|---|---|---|
| 1.7.7 | 7.1 a 7.3 | 7.3 |
| 1.7.8 | 7.1 a 7.4 | 7.4 |
| 8.0, 8.1 y 8.2 | 7.2 a 8.1 (7.2 no recomendado) | 8.1 |
| 9.0 | 8.1 a 8.4 | 8.4 |
| 9.1 | 8.1 a 8.5 | 8.5 |
| 9.2 | 8.1 como mínimo | consulta la tabla oficial |
Fuente: tablas de requisitos de la documentación oficial de PrestaShop 1.7, 8 y 9 (consultadas el 8 de octubre de 2026). Para 9.2, el mínimo sale de su composer.json; la tabla oficial se actualiza con cada versión.
Para 8 y 9, además: MySQL 5.7 o MariaDB 10.2 como mínimo, Apache 2.4 o Nginx, y para 9 se recomienda memory_limit de al menos 512M. Las extensiones de PHP habituales (cURL, DOM, GD, Intl, Mbstring, Zip, PDO MySQL…) vienen en la mayoría de hostings, pero compruébalo.
El módulo de actualización hace esta cuenta por ti: solo te ofrece la versión más alta compatible con el PHP que tiene el servidor en ese momento.
Inventario de módulos y overrides
Es el paso que más tiendas se saltan y el que más problemas evita. Antes de tocar nada, haz una lista de:
- Cada módulo de terceros: nombre técnico, versión instalada, de dónde salió (Addons, otro proveedor, a medida) y si el autor publica una versión compatible con tu versión de destino. Los que no la tienen son tu mayor riesgo.
- Los módulos que no usas: desinstálalos y bórralos antes de actualizar. Menos cosas que migrar y menos superficie de ataque.
- Los overrides: todo lo que haya en
override/classes/yoverride/controllers/. Cada uno modifica una clase del núcleo que puede haber cambiado en la nueva versión. Apunta qué módulo o qué desarrollador creó cada uno. - El tema: si es un tema comprado, si el autor tiene versión para 8 o 9; si es hijo del tema por defecto, qué plantillas sobrescribe.
- Cambios hechos directamente en el núcleo (archivos de
classes/ocontrollers/editados a mano). La actualización los machaca sin avisar. Comparar el núcleo con el original de tu versión es la única forma de saberlo.
Desde la línea de comandos, el propio módulo de actualización tiene un comando que lista los módulos que requieren alguna acción antes o durante la actualización (lo verás abajo).
Update Assistant o manual
Update Assistant (módulo autoupgrade)
El módulo oficial de actualización, de nombre técnico autoupgrade, se llama hoy Update Assistant (durante años fue «1-Click Upgrade»). Sus versiones actuales sirven para cualquier tienda desde 1.7. Se instala desde el Marketplace del back-office, desde Addons o desde GitHub, y funciona de dos formas:
- Desde el back-office, con un asistente: elige la versión (te propone la recomendada para tu PHP), revisa los requisitos (los bloqueantes salen en rojo), elige opciones y copia de seguridad, y lanza la actualización.
- Desde la línea de comandos, que recomiendo en tiendas grandes porque no depende de los límites de tiempo del navegador ni del servidor web.
Los comandos principales, ejecutados desde la carpeta del módulo (modules/autoupgrade), según su documentación oficial:
# ¿Cumple el servidor los requisitos?
php bin/console update:check-requirements tu-carpeta-admin
# Módulos que necesitan alguna acción
php bin/console update:check-modules tu-carpeta-admin
# Versiones disponibles para esta tienda
php bin/console update:check-new-version tu-carpeta-admin
# Copia de seguridad y actualización
php bin/console backup:create --config-file-path=config.json tu-carpeta-admin
php bin/console update:start --config-file-path=config.json tu-carpeta-adminOpciones que conviene entender: desactivar los módulos que no son nativos (activado por defecto; según la documentación, a partir de PrestaShop 9 esta opción se ignora), regenerar las plantillas de correo (activado por defecto; perderás las personalizaciones si las tienes) y desactivar todos los overrides (desactivado por defecto). La copia puede ser completa, sin imágenes o ninguna; si eliges ninguna, la copia es cosa tuya.
Manual
La documentación oficial solo describe la actualización manual (sustituir archivos y ejecutar los scripts de actualización de la base de datos a mano) para saltos dentro de 1.7, de 1.7.0 a 1.7.8, y recomienda el Update Assistant para todo lo demás. Cuando alguien me pide «actualizar PrestaShop manualmente» a 8 o 9, en la práctica significa una de estas dos cosas:
- Usar el Update Assistant por línea de comandos con un paquete descargado (canal
local, con el.zipy el.xmlde la versión entu-carpeta-admin/autoupgrade/download). Es la opción más controlada. - Migrar: instalar la versión nueva limpia y traspasar catálogo, clientes y pedidos. Es más trabajo, pero deja fuera años de módulos viejos y overrides. Tiene sentido desde 1.6 o desde tiendas muy parcheadas.
Staging y pruebas del checkout
Nunca actualizo directamente en producción. El orden:
- Copia de la tienda en un subdominio o servidor de pruebas, con la misma versión de PHP que tendrá producción. Protégela con contraseña y desactiva los correos a clientes y el modo real de las pasarelas (usa sus modos de prueba).
- Actualiza la copia siguiendo el plan: quitar módulos que sobran, actualizar los de terceros a versiones compatibles, lanzar el Update Assistant.
- Repasa la lista oficial de comprobaciones tras actualizar y borra la caché.
- Prueba el recorrido completo de compra con cada método de pago y de envío: alta de cliente, carrito, cupones, pago, correo de confirmación, factura en PDF, cambio de estado del pedido en el back-office.
- Revisa los registros:
var/logs/y el log de errores de PHP. Los avisos de funciones obsoletas suelen anunciar el módulo que fallará. - Solo cuando todo eso sale limpio, repite en producción en una franja de pocas ventas, con la tienda en mantenimiento.
Plan de vuelta atrás
Antes de empezar en producción, ten claro cómo volver en minutos:
- Copia completa propia (archivos y base de datos), además de la del módulo. La del módulo se guarda en el mismo servidor; la tuya, fuera.
- Restauración desde el módulo: el Update Assistant ofrece restaurar su copia si la actualización falla, desde el back-office o con
php bin/console backup:restore --backup=NOMBRE tu-carpeta-adminsi has perdido el acceso al panel. - PHP: si has subido la versión de PHP para la nueva versión, apunta cómo bajarla en el panel del hosting. La copia restaurada necesita su PHP antiguo.
- Pedidos durante la ventana: si restauras la base de datos, perderás los pedidos hechos entre la copia y la restauración. Por eso se actualiza con la tienda en mantenimiento.
Riesgos de actualizar PrestaShop y cómo evitarlos
| Riesgo | Qué pasa | Cómo lo evitas |
|---|---|---|
| Módulo de terceros incompatible | Se desactiva o da errores en la tienda o en el pago | Inventario previo, versión compatible del autor y prueba en la copia |
| Override que choca con el núcleo nuevo | Error 500 o fallos en el carrito y los pedidos | Saber qué módulo creó cada override y probar en la copia |
| Tema sin versión para 8 o 9 | La tienda se ve rota o faltan bloques | Pedir al autor la versión compatible o planificar el cambio de tema |
| Plantillas de correo personalizadas | Se pierden si se regeneran (opción activada por defecto) | Guardar la carpeta mails/ o desmarcar esa opción |
| PHP en el orden equivocado | La tienda deja de cargar al cambiar PHP | Seguir la tabla de requisitos: primero la versión de PrestaShop que admite el PHP nuevo |
| Tiempo agotado a mitad de proceso | Tienda a medio actualizar | Usar la línea de comandos en tiendas grandes |
| Cambios hechos a mano en el núcleo | La actualización los sobrescribe sin avisar | Comparar el núcleo con el original de tu versión antes de empezar |
| Tienda ya comprometida | La puerta trasera sobrevive a la actualización | Revisar y limpiar antes de actualizar |
Opciones y comportamiento del Update Assistant según su documentación oficial (GitHub y devdocs de PrestaShop), consultada en octubre de 2026.
Si prefieres que lo haga yo
Hago actualizaciones de PrestaShop con este mismo método: inventario, copia de pruebas, prueba de compra y plan de vuelta atrás. El plan de mantenimiento de tienda (69 €/mes (IVA no incluido)) incluye los parches de tu rama, la revisión de módulos antes de cada actualización y una hora de trabajo técnico al mes; los saltos de versión mayor se presupuestan aparte según los módulos que tenga la tienda. Detalles en mantenimiento de PrestaShop. Si antes de decidir quieres saber en qué estado está la tienda por dentro (módulos con fallos, overrides, archivos modificados), lo cuento en seguridad PrestaShop.
Fuentes
- Requisitos de sistema de PrestaShop 1.7, 8 y 9 (documentación oficial).
- Actualizar PrestaShop 9 y actualizar desde el back-office.
- Módulo autoupgrade (Update Assistant) en GitHub: comandos, canales y opciones.
- Avisos de seguridad del núcleo de PrestaShop y versiones publicadas.
- PrestaShop 1.7.8 en soporte extendido y 8.2.x en soporte extendido.
Preguntas frecuentes
¿Se puede actualizar PrestaShop 1.7 directamente a 9?
En la práctica no: 1.7.8 funciona como mucho con PHP 7.4 y PrestaShop 9 necesita PHP 8.1 o superior. Lo normal es pasar de 1.7 a 8.2, subir PHP a 8.1 y después pasar a 9.
¿Cómo actualizar PrestaShop 1.7 a 8?
Con el módulo oficial Update Assistant, después de comprobar que tus módulos de terceros tienen versión compatible con 8, revisar los overrides y probarlo todo en una copia de la tienda. Con PHP 7.4, el módulo te ofrecerá la última 8.2.
¿Qué versión de PHP necesita PrestaShop 9?
PHP 8.1 como mínimo. Según la tabla oficial, 9.0 admite de 8.1 a 8.4 y 9.1 de 8.1 a 8.5. Comprueba la tabla de requisitos antes de cambiar el PHP del servidor.
¿Pierdo los módulos al actualizar?
No se borran, pero los que no son compatibles pueden desactivarse o dejar de funcionar. Por eso se hace antes un inventario y se prueban en una copia.
¿Sigue existiendo 1-Click Upgrade?
Es el mismo módulo oficial (autoupgrade), que hoy se llama Update Assistant. Se usa desde el back-office o por línea de comandos.
¿Cómo actualizo los módulos de PrestaShop?
Desde Módulos → Gestor de módulos, que muestra los que tienen actualización disponible (los de Addons, con tu cuenta conectada). Los comprados fuera de Addons se actualizan subiendo el .zip nuevo del autor. Siempre con copia previa y empezando por los que tienen un fallo de seguridad publicado.
¿Cuánto cuesta actualizar PrestaShop?
Los parches de tu rama y las actualizaciones de módulos entran en el mantenimiento de PrestaShop, 69 €/mes (IVA no incluido). El salto de versión mayor (1.7 a 8, o de 8 a 9) depende de los módulos, los overrides y el tema, así que lo presupuesto con precio cerrado después de ver la tienda.
¿Es peligroso actualizar PrestaShop?
Lo peligroso es hacerlo directamente en producción y sin copia. Con una copia de pruebas, un inventario de módulos y overrides, una compra de prueba y un plan de vuelta atrás, el riesgo es pequeño. Quedarse en una versión sin parches es el riesgo mayor.