Migrare da PrestaShop 1.7 a 9 passo dopo passo: il piano che evita sorprese
Migrare da PrestaShop 1.7 a 9 non è premere un pulsante. È un progetto a fasi, e ogni fase ha le sue trappole. Ecco il piano completo, dalla copia in locale al giorno del passaggio, con ciò che di solito si rompe.
Una migrazione da PrestaShop 1.7 a 9 riesce bene quando il giorno del passaggio è noioso. Perché lo sia, tutto ciò che è difficile deve essere già successo prima, su una copia, con il tempo per sbagliare. Questo è il piano che seguiamo, con le trappole che troviamo di solito in ogni fase.
1. Inventario: cosa fa il tuo negozio
Prima di toccare qualsiasi cosa, fai due elenchi:
- Moduli installati, con versione, autore e se sono attivi. Estrai l'elenco dal database perché non ne sfugga nessuno.
- Funzioni del negozio: come si incassa, come si spedisce, come si fattura, con che cosa si collega (ERP, marketplace, corrieri), cosa c'è di SEO, quali automazioni email.
Per ogni funzione, decidi che cosa la risolverà in PrestaShop 9: lo stesso modulo aggiornato, un sostituto, qualcosa che il core offre già o niente, perché non si usa più. Capita spesso che un negozio con anni di attività scopra che una parte dei suoi moduli non serve.
Controlla anche la cartella override/. Ogni override è codice che modifica il core, e in PrestaShop 9 molte classi sono cambiate. Ciò che dipende da un override va rifatto, possibilmente con gli hook.
2. La copia in locale
Porta una copia completa del negozio attuale (file e database) in un ambiente di test che non stia sullo stesso server del negozio reale e che non possa inviare email ai clienti. Quest'ultimo punto è importante: una copia con il database reale e la posta configurata può scrivere a un cliente vero con un semplice cambio di stato dell'ordine.
Anonimizza i dati personali se la copia sarà gestita da più persone, e disattiva o metti in modalità test gateway di pagamento, connessioni con l'ERP e qualsiasi cron che comunichi con l'esterno.
3. Scegliere la strada: aggiornare o migrare i dati
Ci sono due modi per arrivare a PrestaShop 9:
- Aggiornare l'installazione esistente con l'assistente ufficiale. Mantiene tutto, ma si porta dietro anche i residui di anni: tabelle di moduli disinstallati, configurazione vecchia, override.
- Installazione pulita di PrestaShop 9 e migrazione dei dati: catalogo, clienti, ordini, indirizzi, CMS. Più lavoro all'inizio, ma il nuovo negozio contiene solo ciò che si è deciso di portare.
Con una 1.7 che ha molti moduli di terze parti, override e un tema molto modificato, la seconda di solito dà meno problemi nel medio periodo. Con una 1.7.8 curata e pochi moduli, aggiornare può bastare. Decidi sulla copia, non sulla teoria.
4. I dati
Quando migri i dati, verifica ogni tipo con i numeri, non a occhio:
- Prodotti, combinazioni, prezzi specifici, stock e immagini: lo stesso numero in origine e a destinazione.
- Clienti, indirizzi e gruppi, con i loro sconti.
- Ordini, con i loro stati, fatture e note di credito. La numerazione delle fatture deve continuare, non ripartire da capo.
- Regole carrello e buoni validi.
- Pagine CMS, categorie con le loro descrizioni e metadati SEO.
- Traduzioni di tutte le lingue.
Conserva gli identificativi di prodotti e categorie ogni volta che puoi: facilitano i reindirizzamenti, le integrazioni e i report.
5. Il tema
Un tema della 1.7 raramente funziona così com'è in PrestaShop 9. Le opzioni abituali sono adattarlo, creare un tema figlio del tema predefinito di PrestaShop 9 con il tuo design o scegliere un tema commerciale compatibile. Tieni presente che il tema non è solo design: contiene anche template delle email, testi tradotti e a volte moduli propri. Controlla il negozio su mobile e su desktop, pagina per pagina.
6. URL e reindirizzamenti 301
Se gli URL cambiano, Google deve saperlo. L'ideale è mantenere la stessa struttura degli URL; se non è possibile, ogni vecchio URL con traffico o link deve reindirizzare con un 301 al suo equivalente nuovo, non alla home. Ricava l'elenco dei vecchi URL dalla sitemap, da Search Console e dai log del server, e verifica i reindirizzamenti con una scansione prima del giorno del passaggio.
7. Pagamenti in modalità test
Ogni metodo di pagamento si prova in modalità sandbox dall'inizio alla fine: pagamento riuscito, pagamento rifiutato, pagamento annullato, rimborso e, se lo usi, pagamento con autenticazione forte. Verifica che l'ordine venga creato con lo stato corretto e che la notifica del gateway arrivi. In PrestaShop 9, i moduli che ricevevano queste notifiche su un .php diretto dentro modules/ possono ritrovarsi con un 403, perché il .htaccess di serie nega quelle richieste. È una delle cause più frequenti di «il cliente ha pagato e non c'è l'ordine» dopo una migrazione.
8. La prova generale
Con tutto pronto, ripeti l'intera migrazione partendo da una nuova copia del negozio reale, cronometrando ogni passaggio. La prova serve a tre cose: confermare che il processo è ripetibile, sapere per quanto tempo il negozio resterà in manutenzione e scoprire che cosa è cambiato nel negozio reale dalla prima copia.
9. Il giorno del passaggio
- Avvisa in anticipo se ci sarà una finestra di manutenzione.
- Metti il vecchio negozio in manutenzione e ferma i suoi cron e le integrazioni.
- Migra ordini, clienti e modifiche al catalogo dall'ultima copia.
- Attiva nel nuovo negozio i gateway in modalità reale, le connessioni con l'ERP e i cron.
- Punta il dominio sul nuovo negozio e verifica il certificato.
- Fai un ordine reale con ogni metodo di pagamento e rimborsalo.
- Invia la nuova sitemap a Search Console e tieni d'occhio gli errori 404 nei giorni successivi.
- Conserva il vecchio negozio fermo e senza accesso pubblico per un po' di tempo, nel caso serva consultare qualcosa.
Cosa si rompe di solito
- Override che non combaciano più con le classi del core.
- Moduli che non si installano o non mostrano la loro configurazione in PrestaShop 9.
- Cron che puntavano a file
.phpdei moduli e ora ricevono 403 senza che nessuno se ne accorga. - Template delle email che tornano a quelli predefiniti o perdono le traduzioni.
- Numerazione delle fatture che riparte da capo.
- Immagini da rigenerare con i nuovi formati e dimensioni.
- Analytics e pixel rimasti sul vecchio negozio.
E un vantaggio che si dimentica: alla fine hai il negozio su una versione supportata, con PHP attuale e moduli aggiornati. Da lì in poi, tenerlo aggiornato è molto meno lavoro che saltare di nuovo diverse versioni in un colpo.
Come risolverlo in PrestaShop
Le migrazioni da 1.6 e 1.7 a PrestaShop 9 sono una parte importante del nostro lavoro in Rekire. Con i pacchetti di ore di assistenza (20, 50 o 100 ore, a seconda della dimensione del negozio) realizziamo l'intero progetto o la parte che ti serve: inventario di moduli e funzioni, copia in un ambiente di test senza posta in uscita, migrazione dei dati verificata con i numeri, adattamento del tema, reindirizzamenti, test dei pagamenti, prova generale e affiancamento il giorno del passaggio. Le ore si consumano in base al lavoro reale.