Aggiornare PrestaShop senza rompere il negozio: guida passo per passo
Passare dalla 8.1 alla 8.2 o dalla 9.0 alla 9.1 non è un salto di versione maggiore, ma non è nemmeno premere un pulsante. Ti spieghiamo come prepararlo, come provarlo su una copia, cosa può fallire durante l'assistente e cosa verificare prima di considerare il negozio a posto.
Per aggiornare PrestaShop senza rompere il negozio bisogna seguire sempre lo stesso ordine: backup completo di file e database, prova dell'aggiornamento su una copia del negozio, aggiornamento reale in una fascia di poco traffico e controllo di checkout, email e moduli prima di dare il lavoro per concluso. L'assistente ufficiale fa la parte meccanica; ciò che evita gli spaventi è tutto quello che c'è intorno.
Questo articolo parla degli aggiornamenti «di manutenzione»: all'interno dello stesso ramo (dalla 8.1 alla 8.2) o alla versione minore successiva (dalla 9.0 alla 9.1). Un salto dalla 1.6 o 1.7 alla 9 è un'altra cosa, un progetto di migrazione, e lo trattiamo a parte.
Aggiornare o migrare: non è la stessa cosa
Si usano come sinonimi ma non lo sono, e confonderli porta a pianificare male:
- Aggiornare significa sostituire il core di PrestaShop con una versione più recente sullo stesso negozio. I dati, il tema e i moduli restano; il database si adatta con gli script della nuova versione.
- Migrare significa portare il negozio a una versione con cambiamenti profondi (o su un altro server), dove il tema, parte dei moduli e gli override si rifanno e ciò che si conserva sono soprattutto i dati.
Tra versioni vicine, aggiornare è la norma ed è consigliabile. Più tempo passa senza farlo, più ogni aggiornamento assomiglia a una migrazione: più moduli senza versione compatibile, più modifiche accumulate nel tema e più distanza nella versione di PHP.
Prima di toccare qualsiasi cosa: l'inventario
Dieci minuti di inventario fanno risparmiare ore il giorno dell'aggiornamento. Annota:
- Versione attuale di PrestaShop e di PHP, e quale versione di PHP richiede la versione di destinazione. Consulta prima di tutto i requisiti di quella versione: se il server non li soddisfa, prima viene il cambio di PHP, provato anch'esso su una copia.
- Tema: se è quello standard, un tema figlio o un tema acquistato, e se qualcuno ne ha modificato direttamente i template.
- Moduli di terze parti, con la loro versione e se l'autore dichiara la compatibilità con la versione di destinazione.
- Override nella cartella
override/: ognuno è codice che sostituisce una parte del core e che può smettere di combaciare. - Modifiche manuali ai file del core: righe aggiunte in
config/, regole nel.htaccess, protezione con password della cartella dell'amministrazione. L'aggiornamento le sovrascrive. - Integrazioni che chiamano il negozio: ERP, marketplace, corrieri, il webservice.
Il backup completo, e verificato
L'assistente di aggiornamento propone di fare un suo backup, ed è bene che lo faccia, ma non dovrebbe essere l'unico. Prima di iniziare, fai un tuo backup di tutti i file e del database, conservalo fuori dal server e verifica che si possa ripristinare. Un backup che nessuno ha mai ripristinato è una speranza, non un backup.
La prova su una copia del negozio
La regola che evita più dispiaceri: l'aggiornamento si fa prima su una copia, su un altro server o in un ambiente locale, con gli stessi file e lo stesso database della produzione. Lì si vede quale modulo fallisce, quale template del tema dà errore e quanto dura il processo, che è il dato che ti serve per scegliere la fascia oraria giusta.
Sulla copia conviene disattivare tutto ciò che può uscire all'esterno: le email (che vadano a una casella di test e non ai tuoi clienti), i gateway di pagamento (in modalità test), le attività programmate che parlano con terzi e le integrazioni che inviano ordini all'ERP. Una copia del negozio con la posta reale configurata può scrivere a clienti veri con un semplice cambio di stato di un ordine.
Durante l'aggiornamento: ciò che abbiamo visto fallire
L'assistente ufficiale di PrestaShop (il modulo di aggiornamento in un clic) funziona bene nella maggior parte dei negozi, ma ci sono situazioni che si ripetono nei negozi reali:
- Chiudere il browser a metà. L'assistente procede per passi dalla pagina stessa del back office. Se si chiude la scheda o cade la connessione, il processo si ferma. Lascia il computer connesso e non toccarlo finché non finisce; se si interrompe, si può riprendere da console, ma è meglio non arrivarci.
- Integrazioni che continuano a chiamare. La modalità manutenzione nasconde il negozio ai clienti, ma non blocca il webservice. Un ERP che continua a sincronizzare durante l'aggiornamento può rigenerare la cache mentre l'assistente la cancella, e il processo si arresta. Metti in pausa le integrazioni prima di iniziare.
- Poca memoria nella console. In alcuni hosting, il PHP da riga di comando ha meno memoria di quello web. Se l'aggiornamento si lancia da console, controlla prima quel limite.
- File del core sostituiti. L'aggiornamento sostituisce file come
config/config.inc.phpo il.htaccessdella cartella dell'amministrazione. Ciò che vi era stato aggiunto a mano scompare senza avviso, compresa una protezione con password del pannello. Salvalo prima e rimettilo dopo. - Database incompleto. In qualche passaggio di versione minore abbiamo visto che il negozio aggiornato non aveva tutte le tabelle o le impostazioni che invece porta un'installazione nuova di quella versione, e il front office falliva in molte pagine. Per questo la prova deve percorrere l'intero negozio, non solo la home page.
Alla fine, è normale che il back office chiuda la sessione: bisogna accedere di nuovo.
Dopo l'aggiornamento: la checklist
Un aggiornamento non è finito quando l'assistente dice che è andato bene, ma quando hai verificato quanto segue:
| Cosa controllare | Come | Segnale d'allarme |
|---|---|---|
| Cache | Svuotarla dal back office e, se serve, la cartella var/cache | Pagine che mostrano contenuti vecchi o errori che spariscono ricaricando |
| Tema | Percorrere home page, categoria, scheda prodotto, carrello, checkout e account cliente, su mobile e su desktop | Blocchi che spariscono, testi non tradotti, errori nei template |
| Moduli | Aprire la configurazione di ogni modulo importante | Schermate bianche, avvisi di versione, moduli disattivati da soli |
| Override | Verificare che siano ancora necessari e compatibili | Errori che compaiono solo in un'azione specifica (salvare un prodotto, convalidare un ordine) |
| Checkout | Un ordine di prova con ogni metodo di pagamento e di spedizione | Pagamento incassato senza ordine creato, corrieri che non compaiono |
| Verificare che arrivi l'email di conferma dell'ordine di prova | Email che non partono o partono senza template | |
| Log | Guardare i log di PHP e di PrestaShop nelle prime ore | Errori nuovi che non c'erano prima dell'aggiornamento |
| Integrazioni | Riattivarle e confermare la prima sincronizzazione | Ordini che non arrivano all'ERP, stock che non si aggiorna |
Ogni quanto aggiornare
Le versioni di manutenzione correggono bug e, spesso, problemi di sicurezza. La cosa sana è non lasciar passare troppo tempo da quando esce una versione del tuo ramo, con la solita prova preliminare. Un negozio che si aggiorna regolarmente ha aggiornamenti piccoli e prevedibili; uno che si tocca ogni diversi anni accumula modifiche e ogni aggiornamento diventa un progetto.
Lo stesso vale per i moduli e per PHP: restare al passo un pezzo alla volta costa meno che mettersi in pari tutto in una volta. Se il negozio non viene toccato da tempo, la cosa prudente è iniziare con una revisione che dica cosa c'è installato e quale ordine seguire.
Quando chiedere aiuto
Un aggiornamento minore su un negozio con tema standard e pochi moduli può farlo qualcuno con esperienza nel back office, sempre con backup e prova. Conviene che lo faccia un tecnico quando ci sono override, un tema molto personalizzato, integrazioni con ERP o marketplace, o un volume di ordini che non permette al negozio di fermarsi nemmeno per una mattina. Nel servizio di migrazioni e aggiornamenti di PrestaShop facciamo la prova su una copia, ti diciamo cosa si rompe prima di toccare la produzione e lasciamo il negozio controllato. E se preferisci che qualcuno se ne occupi periodicamente, la manutenzione PrestaShop include gli aggiornamenti con relativo backup e verifica.
Domande frequenti
Si può aggiornare PrestaShop senza perdere dati?
Sì. Un aggiornamento conserva prodotti, clienti e ordini, perché adatta il database esistente. Ciononostante, fai sempre prima un backup completo: è ciò che ti protegge se il processo si interrompe.
Quanto dura un aggiornamento di PrestaShop?
Dipende dalle dimensioni del negozio e dal server. La prova su una copia ti dà il tempo reale, e con quello scegli una fascia di poco traffico per farlo in produzione.
Devo aggiornare anche i moduli?
Di solito sì, soprattutto quelli che l'autore indica come compatibili solo con versioni specifiche. Verifica la compatibilità di ciascuno prima di aggiornare il core.
Cosa faccio se l'aggiornamento si blocca a metà?
Non rilanciarlo alla cieca. Controlla a quale passo si è fermato: a volte si può riprendere, altrimenti si ripristina il backup e si ripete la prova per capire cosa l'ha bloccato.