Vai al contenuto principale

Come aggiornare Joomla 3 a Joomla 6 (passando per la 4 e la 5)

Ultimo aggiornamento: 09 Ottobre 2026

⏱ tempo di lettura

Il sito è su Joomla 3, funziona, e nessuno lo tocca da anni. In questa guida vediamo come portarlo fino a Joomla 6: le versioni intermedie da cui bisogna passare, i requisiti di ogni passaggio e cosa fare se qualcosa va storto.

Articolo riscritto a ottobre 2026. La versione del 2021 spiegava solo il passaggio da Joomla 3 a Joomla 4: oggi si arriva a Joomla 6. Testato su 3.10.12 → 4.4.14 → 5.4.9 → 6.1.4 (la 6.1.4 è la versione attuale, vale anche per le future versioni).

In breve

  • Da Joomla 3 non si va direttamente a Joomla 6: l'ordine obbligato è 3.10 → 4.4 → 5.4 → 6.
  • Tra un passaggio e l'altro si alza la versione di PHP, e prima di Joomla 5 serve MySQL 8.
  • Prima di passare a Joomla 4 disattiva tutte le estensioni di terze parti, compresi i plugin di sistema.
  • Con K2, VirtueMart o un template per Joomla 3, valuta di rifare il sito invece di aggiornarlo.

La risposta breve è questa: da Joomla 3 non si arriva a Joomla 6 in un colpo solo. Bisogna fermarsi su tre versioni intermedie, nell'ordine 3.10, 4.4 e 5.4, e tra un passaggio e l'altro alzare la versione di PHP sul server.

La seconda cosa da sapere è che il core di Joomla, di solito, si aggiorna senza problemi. A rompere i siti sono quasi sempre le estensioni di terze parti e il template.

Qui vediamo prima come capire se ti conviene aggiornare o rifare il sito, poi tutti i passaggi con i nomi dell'interfaccia italiana. Non tratto la migrazione dei contenuti di K2 né quella di VirtueMart: sono lavori a parte.

Il mio Joomla 3 funziona ancora: devo proprio aggiornarlo?

Sì, e la sicurezza è solo uno dei motivi.

Partiamo dalle date, che trovi nella roadmap ufficiale di Joomla:

  • Joomla 3: supporto terminato il 17 agosto 2023.
  • Joomla 4: ultimi aggiornamenti di sicurezza il 14 ottobre 2025.
  • Joomla 5: dal 13 ottobre 2026 riceve solo correzioni di sicurezza, fino al 12 ottobre 2027.
  • Joomla 6: correzioni fino a ottobre 2028, sicurezza fino al 16 ottobre 2029.

Quindi un sito su Joomla 3 non riceve correzioni di sicurezza da più di tre anni. Ogni falla scoperta da allora resta aperta.

Poi c'è PHP. Joomla 3 è stato pensato per girare al massimo su PHP 8.0, una versione che il progetto PHP non supporta più dalla fine del 2023. Gli hosting prima o poi la tolgono dal pannello, e quel giorno il tuo sito rischia di smettere di funzionare senza che tu abbia toccato niente.

Infine le estensioni: buona parte di quelle installate su un vecchio Joomla 3 non vengono più aggiornate da anni.

Aggiornare o rifare il sito da zero?

Dipende tutto dalle estensioni di terze parti. Il core di Joomla passa da una versione all'altra senza troppi problemi; sono le estensioni a decidere se l'aggiornamento è un lavoro di mezza giornata o di settimane.

Il mio consiglio è questo:

  • Sito con i soli componenti di Joomla e poche estensioni aggiornate: aggiorna seguendo questa guida.
  • Sito con molte estensioni, tutte con una versione per Joomla 5 e 6: aggiorna, ma prima su una copia del sito.
  • Sito costruito su K2: rifallo. Ad aprile 2026 JoomlaWorks ha annunciato che K2 non uscirà per Joomla 4 e 5 . Esistono estensioni che convertono gli elementi di K2 in articoli di Joomla (guarda un videotutorial).
  • E-commerce con VirtueMart: trattalo come una migrazione, non come un aggiornamento. Prodotti, ordini, clienti e plugin di pagamento vanno verificati uno per uno.

Poi c'è il template. Quelli fatti per Joomla 3 non sono compatibili con Joomla 4 e successivi nel 99% dei casi. Io consiglio di rifarlo sempre, con YOOtheme Pro o con un template nuovo compatibile con Joomla 5 e 6: è il momento giusto per farlo, visto che il vecchio va comunque buttato.

Per darti un'idea dei tempi: se il sito usa solo Joomla basta mezza giornata. Più estensioni ci sono e più il template è complesso, più tempo ci vuole: si può arrivare a qualche settimana.

Controllo pre-aggiornamento di Joomla 3.10 con decine di estensioni nella sezione Controllo pre-aggiornamento falliti

Questo è il controllo pre-aggiornamento di un sito su Joomla 3.10 (ho tolto il nome del cliente). Ogni riga nella sezione rossa è un'estensione di cui Joomla non riesce a sapere se funzionerà su Joomla 4. Con un elenco così lungo conviene valutare seriamente di rifare il sito.

Cosa serve prima di cominciare

  • Accesso ai file del sito via FTP (per esempio con FileZilla) o con il file manager dell'hosting.
  • Accesso al database, di solito con phpMyAdmin dal pannello dell'hosting.
  • Accesso al pannello dell'hosting per cambiare la versione di PHP.
  • Akeeba Backup o un altro sistema di backup che sai già ripristinare.
  • Un sito di prova: una copia del sito in un sottodominio o sul tuo computer.
  • L'elenco delle estensioni installate, anche su un foglio.

Tutti i passaggi falli prima sulla copia. Sul sito vero li ripeti solo quando sulla copia è andato tutto bene, segnandoti cosa hai dovuto sistemare.

FAI UN BACKUP!

Prima di ogni passaggio, non solo all'inizio. Se non l'hai mai fatto, parti dalla mia guida al backup di un sito Joomla (è del 2016, ma il procedimento di base è lo stesso).

Nota: Akeeba Backup Professional ha un plugin, "System - Backup on update", che fa partire il backup da solo quando lanci l'aggiornamento di Joomla dal pannello. Non scatta invece con gli aggiornamenti automatici introdotti in Joomla 5.4 e 6. Comodo, ma non sostituisce il backup scaricato sul tuo computer.

Perché non posso passare subito a Joomla 6?

Perché ogni versione maggiore sa aggiornare solo quella precedente. Il pacchetto di Joomla 6 si aspetta di trovare un Joomla 5.4, non un Joomla 3: le note ufficiali della release lo scrivono chiaramente.

E ogni versione ha i suoi requisiti. Questi sono quelli ufficiali, dal manuale tecnico di Joomla:

Versione PHP MySQL MariaDB
Joomla 3.10 consigliato 8.0 5.5.3 consigliato –
Joomla 4.4 da 7.2.5, consigliato 8.2 da 5.6 –
Joomla 5.4 da 8.1 da 8.0.13 da 10.4
Joomla 6 da 8.3, consigliato 8.4 da 8.0.13 10.6 (minimo assoluto 10.4)

In pratica PHP va alzato al momento giusto:

  1. Finché sei su Joomla 3.10 resta su PHP 8.0. Con versioni più recenti Joomla 3 può dare errori.
  2. Arrivato su Joomla 4.4 passa a PHP 8.2, che va bene sia per la 4.4 sia per la 5.
  3. Arrivato su Joomla 5.4 passa a PHP 8.3 o 8.4, prima del salto a Joomla 6.

Per vedere le versioni attuali vai in Sistema → Informazioni di sistema.

Pagina Informazioni di sistema di Joomla con la versione di PHP e di MySQL

E il database?

Joomla 5 e 6 vogliono almeno MySQL 8.0.13 o MariaDB 10.4. Molti vecchi hosting sono ancora su MySQL 5.7: in quel caso bisogna chiedere l'aggiornamento prima del passaggio a Joomla 5.

Spesso l'hosting non aggiorna il database esistente ma lo copia su un nuovo server con MySQL 8. Il sito però continua a cercare il vecchio: a me è successo su Aruba, dove dopo la copia cambia l'indirizzo del server del database. Va aggiornato a mano nel file configuration.php, nella cartella principale del sito:

public $host = 'indirizzo-del-nuovo-server';
public $user = 'utente_database';
public $password = 'password_database';
public $db = 'nome_database';

Che cosa vuol dire?

  • $host = l'indirizzo del server del database. È quasi sempre questa riga a cambiare.
  • $user e $password = utente e password del database, che l'hosting a volte rigenera nella copia.
  • $db = il nome del database.

Tutti questi dati te li dà l'hosting nel pannello. Modifica solo queste righe, salva e ricarica il file sul server.

Prima di aggiornare: disattiva le estensioni di terze parti

È l'errore che vedo più spesso: si lancia l'aggiornamento a Joomla 4 con tutte le estensioni attive.

Le più pericolose sono i plugin di sistema. Lavorano a ogni caricamento di pagina, non compaiono nel menu Componenti e ci si dimentica che esistono. Basta che uno solo usi una funzione che in Joomla 4 non c'è più e il sito si blocca, pannello di amministrazione compreso. È esattamente quello che succedeva con l'errore isAdmin() dopo il passaggio a Joomla 4.

Come trovo le estensioni che non sono di Joomla?

  1. Vai in Estensioni → Gestione → Lista estensioni.
  2. Apri gli Strumenti di ricerca e filtra per tipo: parti da Plugin, poi Modulo e Componente.
  3. Guarda la colonna Autore: tutto ciò che non è "Joomla! Project" va disattivato.
  4. Seleziona le estensioni e clicca su Disabilita.
  5. Segnati cosa hai disattivato: dopo l'aggiornamento le riattiverai una alla volta.

Vale anche per Akeeba Backup: fai il backup, scaricalo sul tuo computer insieme a Kickstart (lo strumento di Akeeba per il ripristino) e poi disattiva anche lui.

Elenco dei plugin di Joomla 3 filtrato per tipo, con i plugin di sistema di altri autori selezionati

E il template?

Imposta come predefinito Protostar. Con il passaggio a Joomla 4 sparirà, perché non è compatibile, e dovrai usare Cassiopeia, il template di base di Joomla 4. Il sito avrà un aspetto spoglio finché non installi il template nuovo: è normale.

Se in passato il sito è stato migrato da Joomla 2.5, disinstalla anche i vecchi template di base rimasti (Beez_20, Beez5, Atomic): la documentazione ufficiale lo chiede prima di passare a Joomla 4.

Passo 1 Da Joomla 3.x a Joomla 3.10.12

La 3.10 è la versione "ponte" verso Joomla 4: senza, il passaggio non si fa.

  1. Vai in Componenti → Aggiornamento di Joomla e installa l'aggiornamento fino alla 3.10.12. Se parti da una versione molto vecchia, segui prima la guida sugli errori nell'aggiornamento delle vecchie versioni di Joomla.
  2. Controlla il database in Estensioni → Gestione → Database e, se compaiono errori, clicca su Correggi.
  3. Prova il sito e fai un altro backup.

Passo 2 Da Joomla 3.10 a Joomla 4.4

Una volta sulla 3.10.12, l'aggiornamento di Joomla ti dirà che non ci sono aggiornamenti. È normale: il canale predefinito propone solo gli aggiornamenti della stessa versione, mai il passaggio a quella successiva.

Come attivo il passaggio a Joomla 4?

  1. Vai in Componenti → Aggiornamento di Joomla.
  2. Clicca su Opzioni, in alto a destra.
  3. In Canale di aggiornamento scegli "di sistema e avanzamento versione".
  4. Clicca su Salva e Chiudi.

Opzioni dell'aggiornamento di Joomla 3.10 con il canale di sistema e avanzamento versione

Come si legge il controllo pre-aggiornamento?

Tornato nel componente, trovi la scheda Controllo pre-aggiornamento, con il titolo "Controllo pre-aggiornamento per Joomla 4.4.14". Leggila con calma prima di fare qualsiasi cosa:

  • Impostazioni PHP & Database richieste: sono obbligatorie. Se non risultano "Approvate", non puoi aggiornare finché l'hosting non sistema il server.
  • Impostazioni PHP raccomandate: consigliate. Se vedi "Attenzione" puoi procedere lo stesso.
  • Controllo pre-aggiornamento delle estensioni, diviso in tre gruppi:
    • Controllo pre-aggiornamento falliti: Joomla non è riuscito a verificarle, perché il server di aggiornamento dello sviluppatore non risponde o restituisce un errore. Spesso vuol dire che l'estensione è abbandonata. Le righe con l'etichetta "Potenziale problema di aggiornamento" sono le prime da guardare.
    • Informazioni sull'aggiornamento non disponibili: l'estensione non usa il sistema di aggiornamento di Joomla, quindi non si sa se è compatibile.
    • Aggiornamento richiesto: queste vanno aggiornate prima di passare a Joomla 4.

Il controllo ti dà un'idea, ma l'ultima parola spetta all'elenco delle estensioni e al sito di ogni sviluppatore. Lo dice anche la guida ufficiale alla migrazione da Joomla 3 a 4: se lo sviluppatore non ha dichiarato la compatibilità, Joomla non può saperlo.

Controllo pre-aggiornamento per Joomla 4.4.14 con le impostazioni richieste approvate

Lanciamo l'aggiornamento

  1. Vai in Sistema → Configurazione globale → Server e imposta Segnalazione errori su Massimo. Sempre in Sistema → Configurazione globale → Server imposta Debug sistema su "Si".
    Così, se qualcosa va storto, vedi subito il messaggio d'errore. Salva e Chiudi.
  2. Torna in Componenti → Aggiornamento di Joomla, scheda Aggiornamento automatico, e clicca su Installa l'aggiornamento. Se la versione 4.4 non compare, svuota la cache degli aggiornamenti in Estensioni → Gestione → Aggiorna.
  3. Non chiudere la finestra e non cambiare pagina. Lasciamo lavorare il sistema.
  4. Vai in Sistema → Manutenzione → Database e correggi gli eventuali errori.
  5. Vai in Sistema → Installa → Esplora: non dovrebbe esserci niente da installare.

Se tutto è andato a buon fine ti trovi davanti il nuovo pannello di amministrazione di Joomla 4.

Pannello di amministrazione di Joomla 4 dopo l'aggiornamento da Joomla 3.10

Dopo l'aggiornamento

Solo a questo punto, con il sito su Joomla 4.4 e funzionante, alza PHP a 8.2 dal pannello dell'hosting e riprova il sito.

Passo 3 Da Joomla 4.4 a Joomla 5.4

Questo è il passaggio più tranquillo: la documentazione ufficiale lo chiama aggiornamento, non migrazione. Prima però sistemiamo qualche cosa:

  • Il sito deve essere sull'ultima 4.4.x (oggi la 4.4.14).
  • Database su MySQL 8.0.13 o MariaDB 10.4 (vedi sopra per il file configuration.php).
  • PHP almeno 8.1: se hai già messo la 8.2, sei a posto.
  • La vecchia ricerca (com_search) e i suoi moduli in Joomla 5 non esistono più: disinstallali e usa al loro posto il Motore di ricerca di Joomla (Smart Search).
  • Se usi Google reCAPTCHA, sostituiscilo con reCAPTCHA invisibile o con un'estensione di terze parti: in Joomla 5 il plugin viene rimosso.
  • Se usi Weblinks, aggiornalo all'ultima versione.

Poi la procedura:

  1. Vai in Sistema → Aggiorna → Joomla.
  2. Opzioni → Canale di aggiornamento "di sistema e avanzamento versione" → Salva e Chiudi.
  3. Leggi il controllo pre-aggiornamento: ora ha una colonna a sinistra con impostazioni richieste, impostazioni raccomandate ed estensioni.
  4. Spunta la casella con cui confermi di aver letto gli avvisi sulle estensioni, poi clicca su Aggiorna.
  5. Joomla ti chiede di nuovo se hai fatto il backup. Conferma e aspetta la fine.

Durante l'aggiornamento Joomla attiva da solo il plugin "Behaviour - Backward Compatibility": fa da ponte e permette a molte estensioni scritte per Joomla 4 di funzionare anche su Joomla 5.

Finito l'aggiornamento, configura il plugin System - Schema.org con i dati del sito e ricostruisci l'indice del Motore di ricerca. I dettagli sono nella guida ufficiale al passaggio da Joomla 4 a 5.

Passo 4 Da Joomla 5.4 a Joomla 6

Ci siamo quasi. Prima di partire:

  • Il sito deve essere sull'ultima 5.4.x (oggi la 5.4.9).
  • PHP almeno 8.3 (consigliata la 8.4). Se il server non rispetta i requisiti, l'opzione per passare a Joomla 6 non compare proprio: se non vedi nulla, controlla per prima cosa la versione di PHP.
  • Ci sono due plugin di compatibilità, e qui bisogna stare attenti.

Attenzione: prima di passare a Joomla 6 il plugin "Behaviour - Backward Compatibility" (quello senza numero, che faceva da ponte tra Joomla 4 e 5) va disattivato. Il plugin "Behaviour - Backward Compatibility 6" invece resta attivo. I due plugin non possono essere attivi insieme durante l'aggiornamento.

Disattivare il primo plugin può bloccare le estensioni che ne avevano ancora bisogno. Per questo va fatto prima sulla copia del sito: se un'estensione smette di funzionare, la riattivi, chiedi allo sviluppatore se esiste una versione per Joomla 6 e, se non c'è, la sostituisci.

Il mio consiglio: per la prova, disattivalo via FTP

Se disattivi il plugin dal pannello e un'estensione fa saltare il sito, rischi di non riuscire più a entrare nell'amministrazione. A quel punto, per riattivarlo, devi andare nel database e cambiare a mano il campo enabled.

Io faccio così: via FTP vado nella cartella plugins/behaviour/ e rinomino compat in compat_off. Joomla non trova più i file e il plugin non viene caricato. Se qualcosa si rompe, rinomino la cartella com'era e in un attimo il sito torna a funzionare, senza toccare il database.

Attento a non toccare la cartella compat6: quella deve restare al suo posto.

Attenzione: il trucco serve per la prova. Quando hai verificato che tutto funziona senza il plugin, rinomina la cartella di nuovo in compat e disattiva il plugin dal pannello, in Sistema → Gestisci → Plugin: il controllo pre-aggiornamento guarda lo stato del plugin nel database, non la cartella.

La procedura è la stessa del passo 3: Opzioni, canale "di sistema e avanzamento versione", controllo pre-aggiornamento, conferma degli avvisi, Aggiorna. Trovi tutti i dettagli nella guida ufficiale da Joomla 5 a 6.

Ho aggiornato, ma è esploso il sito

Succede, don't panic. Nel 99% dei casi è colpa di un'estensione rimasta attiva o non compatibile. Procediamo con ordine.

1. Attiva il debug per capire chi è il colpevole

Se non riesci a entrare nel pannello, apri configuration.php via FTP e attiva il debug:

public $debug = true;

Su Joomla 3 la riga è public $debug = '1';. Ricarica la pagina: comparirà l'elenco delle chiamate che hanno portato all'errore, e di solito una riga punta alla cartella di un'estensione. Come leggerlo l'ho spiegato nell'articolo sull'errore isAdmin(), sezione sulla call stack.

2. Disattiva l'estensione dal database

Quando il pannello non si apre, l'estensione si disattiva da phpMyAdmin con una query come questa:

UPDATE `xyz_extensions`
SET `enabled` = 0
WHERE `type` = 'plugin'
  AND `folder` = 'system'
  AND `element` = 'nomeplugin';

Che cosa vuol dire?

  • xyz_ = il prefisso delle tabelle del tuo sito: lo trovi in configuration.php, alla riga $dbprefix.
  • enabled = 0 = disattiva l'estensione (1 la riattiva).
  • folder = il gruppo del plugin: system per i plugin di sistema.
  • element = il nome della cartella del plugin, quello che hai visto nel percorso dell'errore (per esempio plugins/system/nomeplugin).

Passo per passo, con le alternative via FTP, è tutto nella guida su come disattivare un plugin senza accedere al pannello di controllo.

3. Il pannello è tutto bianco

Di solito è un errore PHP nascosto. Ho scritto un articolo apposta su cosa fare quando il pannello di Joomla mostra una pagina bianca.

4. Se non ne esci

Ripristina il backup e riprova sulla copia del sito, con calma, finché non trovi l'estensione che dà problemi. Per questo il backup va fatto prima di ogni passaggio.

Fatto! E ora?

Il sito è su Joomla 6. Restano un po' di cose da sistemare:

  1. Riattiva le estensioni una alla volta, aggiornandole alla versione per Joomla 6 e provando il sito dopo ognuna.
  2. Installa e configura il template nuovo.
  3. Ricostruisci l'indice del Motore di ricerca.
  4. Controlla di nuovo i link rotti e Search Console.
  5. Se in seguito attivi l'opzione per togliere gli ID dagli URL degli articoli, gli indirizzi cambiano: prima di farlo prepara i redirect 301 con il componente Reindirizzamenti.
  6. Disattiva il debug e riporta la Segnalazione errori su "Predefinito di sistema".

Poi prova il sito, giralo in lungo e in largo: moduli di contatto, invio delle email, aree riservate, ricerca.

Buon aggiornamento!

P.S.: riporta il canale di aggiornamento su quello predefinito, sempre da Opzioni. Altrimenti, quando uscirà Joomla 7, te lo troverai proposto prima del tempo.

Hai un Joomla 3 fermo da anni? Le migrazioni sono il mio pane: raccontami com'è fatto il tuo sito e ti dico se conviene aggiornarlo o rifarlo. Trovi qui il mio servizio di migrazione e sviluppo di siti Joomla.


ti è piaciuto questo articolo? Condividilo!