Cómo preparar tu PrestaShop para actualizar sin miedo: backups, staging y rollback

Preparar prestashop para actualizar
Solucionex
20
Mar 26

Este post pertenece a una serie de posts explicativos de Actualizaciones en PrestaShop sin sustos. Puedes ver los posts previos en estos enlaces:

  • Capítulo 1/7 – Tipos de actualizaciones en PrestaShop (core, módulos, tema) y qué implican: ver publicación

  • Capítulo 2/7 – Cada cuánto revisar y actualizar tu PrestaShop (rutina y calendario realista): ver publicación

Resumen del capitulo anterior 2/7: definimos una rutina práctica de mantenimiento (semanal/mensual/trimestral) y criterios claros para decidir cuándo actualizar (seguridad, compatibilidad, cambios críticos) sin improvisar ni “romper la tienda”.


Antes de actualizar: checklist de seguridad y copias (para poder volver atrás)

Actualizar sin red es el motivo número 1 de los “sustos” en PrestaShop. No porque el sistema sea malo, sino porque una actualización es un cambio real en código, base de datos y dependencias: si algo falla, necesitas volver al estado anterior de forma rápida y limpia.

En este post vamos a montar esa “red”: un checklist de seguridad y copias, con ejemplos, para que cualquier actualización (módulo, tema o core) tenga un plan de vuelta atrás.

El objetivo: poder deshacer en minutos (no en horas)

Antes de tocar nada, hazte esta pregunta:

Si la tienda se rompe, ¿puedo volver exactamente al estado anterior en 10–15 minutos?

Si la respuesta es “no”, tu prioridad no es actualizar: es preparar backup y recuperación.

Copia “de verdad”: qué hay que guardar sí o sí

Una copia útil para PrestaShop no es solo “descargar la base de datos”. Necesitas cubrir estas piezas:

Base de datos (obligatorio)

Ahí vive todo: pedidos, clientes, catálogo, configuraciones, módulos…

  • MySQL/MariaDB dump completo

  • Incluye rutinas y triggers si los hay (dependiendo del hosting)

  • Ideal: un dump con compresión (.sql.gz) para ahorrar espacio

Archivos del proyecto (obligatorio)

Sin los archivos, no hay tienda aunque tengas la base de datos.

  • /config/

  • /modules/

  • /themes/

  • /override/ (si existe)

  • /classes/ (si has tocado cosas)

  • /translations/

  • /mails/ (si personalizaste plantillas de correo)

Archivos subidos por el usuario (muy importante)

  • /img/ (productos, categorías, marcas…)

  • /upload/ (ficheros subidos)

  • /download/ (productos descargables)

  • /files/ (si existe según versión/configuración)

Ejemplo típico de desastre: “restauré el código y la DB, pero faltan imágenes”. Eso es porque no se guardó /img.

Configuración del servidor (recomendado)

En muchas incidencias, el problema aparece por PHP o el web server:

  • Versión de PHP y extensiones

  • Configuración Nginx/Apache

  • php.ini (memoria, upload limits, max_execution_time)

  • Cron (tareas programadas)

  • Redis/Memcached si lo usas

No siempre hace falta “backupear” todo esto, pero sí tenerlo documentado o versionado.

Copia rápida vs copia completa

Puedes tener dos niveles (ideal si actualizas a menudo):

Copia rápida (para módulos pequeños)

  • Dump de DB

  • Backup de /modules/ y /config/ (mínimo)

  • Backup de /themes/ si hay cambios de tema

Copia completa (para core o cambios sensibles)

  • Dump DB completo

  • Copia completa de la carpeta de PrestaShop

  • Copia de ficheros de usuario (/img, /upload, /download)

  • Snapshot del servidor si es VPS (lo mejor)

Regla práctica:

  • Actualización de core = copia completa

  • Módulo de pago/envíos = copia completa

  • Módulo menor = copia rápida (pero siempre DB)

Tu “botón rojo”: cómo restaurar (plan de vuelta atrás)

Una copia sin procedimiento de restauración es una falsa seguridad. Define un plan como este:

  1. Poner la tienda en mantenimiento

  2. Restaurar ficheros (o desplegar backup)

  3. Restaurar base de datos

  4. Vaciar caché (PrestaShop + cache server si hay)

  5. Probar:

    • home

    • ficha de producto

    • carrito

    • checkout

    • área cliente

  6. Quitar mantenimiento

Consejo: escribe estos pasos en un documento interno y úsalo siempre. El día del susto, te salva.

Staging: la mejor “copia” es probar antes

Si puedes elegir una sola medida, elige esta: un entorno de staging (clon de la tienda) para probar actualizaciones.

Qué debe tener un staging decente

  • Misma versión de PHP

  • Mismos módulos y tema

  • Copia de base de datos y ficheros (idealmente recientes)

  • Bloqueo de emails y pasarelas reales (para no enviar correos ni cobrar)

Qué pruebas hacer en staging (mínimo)

  • Login cliente

  • Carrito + checkout (simulado)

  • Confirmación de pedido

  • Back-office: listado de pedidos, catálogo, módulo actualizado

  • Rendimiento básico (que no vaya lento o con errores 500)

Si staging va bien, la actualización en producción pasa de “miedo” a “rutina”.

Checklist previo a actualizar (cópialo tal cual)

Antes de actualizar, confirma:

Hay backup de DB hecho hoy y validado (archivo existe y pesa “lo esperado”).

Hay backup de archivos (o snapshot) listo.

Tienes un plan de rollback escrito.

Sabes qué estás actualizando y por qué (módulo X / core Y).

Estás en una ventana de baja actividad (si es producción).

Modo mantenimiento preparado y acceso al servidor confirmado.

Tienes acceso a logs (PHP/Nginx/Apache/PrestaShop).

Errores típicos y cómo evitarlos

“Hice backup… pero no sé restaurar”

Solución: ensaya una restauración en staging una vez. A partir de ahí, todo cambia.

“Actualicé y se rompió el back-office”

Suele ser:

  • caché

  • incompatibilidad del módulo/tema

  • override conflictivo

  • PHP sin memoria suficiente

Con staging + rollback, esto deja de ser un drama.

“El backup está corrupto”

Solución: valida siempre:

  • el dump abre / se descomprime

  • el tamaño es razonable

  • se puede importar (al menos en staging)


Cierre

En este capítulo hemos montado lo más importante: la red de seguridad. A partir de aquí, actualizar deja de ser “arriesgarse” y pasa a ser un proceso controlado: pruebas, despliegas y, si algo falla, vuelves atrás.

En el Capítulo 4/7 vamos a ver el siguiente gran punto que provoca sustos: compatibilidades (módulos/tema/core) y cómo detectarlas antes de actualizar, con un método sencillo para evitar el clásico “actualicé y el checkout dejó de funcionar”. ver capítulo 4: Actualiza PrestaShop en un entorno de pruebas (staging): el paso que evita el 90% de los sustos

PrestaShop