# Come aggiornare PrestaShop 9: guida tecnica passo-passo

> Pubblicato: 2025-09-21 | Aggiornato: 2026-05-06

Guida tecnica per aggiornare PrestaShop 9 da qualsiasi versione precedente. Procedura artigianale ma robusta, sviluppata su centinaia di upgrade reali.

Aggiornare PrestaShop a PrestaShop 9 non è drammatico, ma è tecnico. Richiede attenzione su tre fronti: il **core**, i **moduli installati** e il **tema grafico**. Questa guida descrive la procedura artigianale che usiamo internamente da quando PrestaShop ha rilasciato la 1.7.4: l'abbiamo affinata su centinaia di upgrade reali e funziona a partire da qualsiasi versione precedente.

Per una panoramica generale delle novità di PrestaShop 9 e della tabella di compatibilità PHP, leggi prima [PrestaShop 9: guida completa alle novità](/articoli/prestashop-9).

---

## L'idea di fondo: tratta PrestaShop come un Lego

Durante l'upgrade, alcuni componenti possono bloccare il processo. Moduli, override e tema personalizzato sono i sospetti principali. La strategia è semplice: **prima dell'upgrade smonti tutto, poi lo rimonti pezzo per pezzo**, controllando ad ogni passo cosa funziona e cosa no.

È un metodo artigianale. Più lento di un click, ma molto più affidabile.

---

## Procedura step-by-step

### 1. Crea un clone del sito

Non toccare mai il sito di produzione fino a quando non hai verificato tutto sul clone. Replica file e database in un ambiente di staging.

### 2. Disinstalla i moduli non necessari

Si pulisce così il database e si rimuovono override potenzialmente problematici. Riduce la superficie di errore durante l'upgrade.

### 3. Installa il modulo autoupgrade

Scaricalo dall'Addons di PrestaShop e installalo sul clone. È lo strumento ufficiale per gestire l'upgrade.

### 4. Isola moduli, override e tema

Questo è il passo chiave. Devi fare in modo che il core si aggiorni senza interferenze:

- Rinomina la cartella `modules/` in `modules_/`.
- Rinomina la cartella `override/` in `override_/`.
- Crea le cartelle `modules/` e `override/` vuote. In `override/` ricrea le sottocartelle: `classes/`, `controllers/`, `modules/`.
- Sposta nella nuova `modules/` il modulo `autoupgrade` e almeno un altro modulo PrestaShop standard (es. `bankwire`). Il tool di upgrade cerca moduli durante il processo: ne deve trovare almeno uno.
- Nella cartella `themes/`, rinomina la cartella del tuo tema aggiungendo il suffisso `_` (es. `mioTema_`).
- Nel database, nella tabella `shop`, cambia il nome del tema da quello originale a `classic`.

### 5. Allinea il database: engine + collation

Due aspetti critici da sistemare **prima** di avviare l'upgrade.

**Engine: da MyISAM a InnoDB.** Le versioni vecchie di PrestaShop usano ancora MyISAM. L'upgrade non lo cambia automaticamente, ma MyISAM può causare dump ed errori durante il processo. Converti tutte le tabelle a InnoDB.

**Collation: utf8mb4_general_ci.** PrestaShop 9 ha chiavi che possono causare problemi se la collation è errata. È stato un errore bloccante in diversi upgrade reali. Imposta tutte le tabelle a `utf8mb4_general_ci` prima di procedere.

### 6. Primo upgrade: porta a PrestaShop 8.2 con PHP 7.4

Imposta sul server PHP 7.4 e lancia l'upgrade da linea di comando:

```bash
php modules/autoupgrade/bin/console update:start \
  --channel=online \
  --disable-non-native-modules=1 \
  --chain \
  admin123
```

Senza moduli, tema e override, l'upgrade termina senza problemi. Quando finisce, entra nel back office, fai un giro veloce per verificare che risponda, e chiudi. Non è necessario controllare il front-end: a questo punto è ancora il tema `classic` di default.

### 7. Secondo upgrade: porta a PrestaShop 9 con PHP 8.1

Imposta PHP 8.1 e ripeti il comando di upgrade. Stesso meccanismo: nessun modulo, nessun tema custom, nessun override → l'upgrade va liscio. Il core è ora su PrestaShop 9.

### 8. Ripristina moduli, tema e override

Adesso si rimonta tutto, **un pezzo alla volta**, partendo dai moduli:

- Sposta i moduli **uno alla volta** dalla cartella `modules_/` (vecchia) alla nuova `modules/` (con la versione aggiornata se disponibile). Dopo ogni modulo, ricarica il back office. Se appaiono errori, quel modulo è il problema: documentalo, eventualmente sostituiscilo con la versione PrestaShop 9 compatibile.
- Sposta i file del **tema aggiornato** in `themes/`. Se hai un tema **child**, versionalo con git e poi confronta le differenze tra il tuo tema custom e la nuova versione standard prima di sovrascrivere.
- **Ripristina gli override**: reinseriscili e verifica che non ci siano conflitti con il nuovo core.
- Nella tabella `shop` del database, riporta il nome del tema dal valore `classic` al nome del tuo tema attivo.

### 9. Cancella la cache e verifica il frontend

Pulisci la cache PrestaShop (`var/cache/`) e controlla il sito dal lato cliente. A questo punto correggi gli ultimi errori specifici del tuo caso: messaggi nel BO, hook non più validi, classi rinominate, route Symfony da aggiornare.

---

## Perché questo metodo funziona

L'upgrade ufficiale di PrestaShop assume che moduli, tema e override siano compatibili con la nuova versione. Quando non lo sono — e succede quasi sempre, soprattutto se vieni da una vecchia versione — l'upgrade si blocca a metà, lasciandoti con un sito instabile da debuggare a posteriori.

Il metodo "Lego" inverte il problema: prima si verifica che il **core** si aggiorni pulito, poi si reintroducono i componenti uno alla volta. Quando qualcosa rompe, sai esattamente quale modulo o quale override ne è responsabile.

> **Attenzione**: la struttura degli hook è cambiata in PrestaShop 9. Molti moduli non aggiornati risultano incompatibili dopo l'upgrade. Per ognuno valuta: aggiornare alla nuova versione del modulo, sostituirlo con un equivalente, oppure svilupparne una versione custom.

---

## Aggiornare PrestaShop con il modulo standard "1-click Upgrade"

Esiste anche la procedura standard di PrestaShop, basata sul modulo **1-click Upgrade** (`autoupgrade`). Funziona bene su shop semplici e già allineati. Per la configurazione completa del modulo, le opzioni di upgrade e i comandi CLI dettagliati, vai all'articolo [PrestaShop 9: guida completa](/articoli/prestashop-9#il-modulo-autoupgrade-ex-1-click-upgrade).

Per shop con moduli custom, override e temi modificati, il modulo standard porta facilmente a downtime imprevisti. La procedura "Lego" descritta sopra è più sicura.

---

## Preferisci affidarti a noi?

Se il tuo shop è in produzione, il fai-da-te ha dei limiti concreti: serve un ambiente di staging affidabile, esperienza pregressa sui moduli più diffusi, e disponibilità a passare ore a debuggare hook e override.

Eseguiamo upgrade a PrestaShop 9 a partire da qualsiasi versione (1.4, 1.5, 1.6, 1.7, 8.x) con ambiente clone, senza perdita di dati e con downtime quasi nullo. Abbiamo internamente un Agente AI che supporta la verifica modulo per modulo.

→ [Scopri il nostro servizio di upgrade professionale a PrestaShop 9](/prestashop/aggiornare-a-prestashop-9)

→ Cerchi un partner stabile per gestire il tuo PrestaShop nel tempo? Vedi i nostri [servizi di consulenza e sviluppo PrestaShop](/prestashop/consulenza-e-sviluppo-prestashop).