Indice:
Quando si tratta di ottimizzare le prestazioni di un sito Joomla, la cache è uno degli strumenti più potenti a nostra disposizione. Grazie alla gestione della cache integrata, possiamo migliorare i tempi di caricamento e alleggerire il carico sul server, senza dover ricorrere a estensioni di terze parti. Ma come funziona davvero? E qual è il modo migliore per configurarla?
Perché la cache è importante?
La cache riduce i tempi di caricamento del sito memorizzando temporaneamente i dati. Invece di rigenerare ogni elemento della pagina ogni volta che un utente la visita, Joomla può servire versioni già pronte di moduli, componenti o addirittura dell’intera pagina. Questo si traduce in:
- Miglioramento delle prestazioni: le pagine si caricano più velocemente.
- Riduzione del carico sul server: meno richieste dinamiche, meno risorse consumate.
- Esperienza utente ottimizzata: tempi di risposta rapidi sono essenziali, soprattutto per dispositivi mobili o connessioni lente.
Tipologie di cache in Joomla
Joomla offre tre principali modalità di cache, ognuna con un suo caso d’uso specifico:
Cache Conservativa
- Come funziona: Memorizza l’output dei moduli e dei componenti che supportano la cache.
- Quando usarla: Quando hai bisogno di controllo granulare, decidendo modulo per modulo quali dati memorizzare.
- Come attivarla: Vai su Sistema → Configurazione Globale → Sistema e imposta Cache del Sistema su "ON - Conservativo".
Cache Progressiva
- Come funziona: Memorizza l’output di tutti i moduli per gli utenti non loggati, ignorando le impostazioni individuali.
- Quando usarla: Perfetta per siti statici o con pochi contenuti dinamici.
- Come attivarla: Segui lo stesso percorso della Cache Conservativa, ma scegli "ON - Progressivo".
Come detto queste due cache si attivano da Configurazione Globale di Joomla! nella tab Sistema:

Sempre in questa zona (in configurazione globale) è possibile settare altre opzioni per i due tipi di cache. Nello specifico:
- Gestore cache: di default è "file", ossia salviamo le aree in cache in un file PHP all'interno del server. E' possibile installare e configurare altri tipi di location per la cache
- Cache specifica della piattaforma: nel caso in cui si utilizzino template diversi per mobile/desktop è possibile salvare cache separate a seconda del device che visualizza il sito. Ha poco senso se si utilizza un unico template con lo stesso codice.
- Tempo di cache: ogni quanto tempo (in minuti) la cache viene cancellata e rigenerata
- Percorso cartella Cache: si può specificare un percorso diverso da quello di default per la cache delle pagine
Page Cache
Questo tipo di Cache è il più "aggressivo" di tutti: molto semplicemente fa uno screenshot della pagina e salva tutto quanto così com'è. Ogni volta che un utente fa una richiesta al server viene gli viene dato in pasto questo screenshot (anche se ho recentemente modificato articoli e/o moduli)
- Come funziona: Memorizza l’intera pagina generata, inclusi tutti i moduli e componenti.
- Quando usarla: Ideale per pagine statiche, vetrine o per utenti non autenticati.
- Come attivarla: Abilita il plugin System - Page Cache da Estensioni → Plugin.

Inoltre all'interno del plugin è possibile settare alcune opzioni specifiche:
- Usa cache browser: questa opzione forza il salvataggio dei file statici (come javascript e css) all'interno del browser dell'utente. Opzioni molto utile se i vostri file non cambiano spesso (quindi non fate modifiche strutturali o grafiche al vostro sito) ma potrebbero comportare alcuni problemi di "disallineamento" nel caso in cui andiate effettivamente a modificare questi file: i browser dei vostri utenti avranno in cache la "vecchia" versione e bisognerà attendere che scada (o che gli utenti cancellino manualmente la cache dei loro browser)
- Escludi voci di menu: è possibile escludere la cache di pagine per specifiche voci di menu (per esempio, fondamentale, la pagina "carrello" degli ecommerce)
Best practice
Puoi utilizzare più tipologie di cache insieme, ma con alcune accortezze:
- Page Cache funziona meglio per gli utenti non autenticati. Se il tuo sito ha aree con contenuti personalizzati, fai attenzione: gli utenti potrebbero vedere informazioni obsolete.
- Cache Conservativa o Progressiva sono più indicate per siti con moduli dinamici. Verifica sempre che le impostazioni di caching non compromettano la correttezza dei dati mostrati.
In generale Pache Cache o Cache Progressiva NON SONO ADATTE se avete per esempio e-commerce con carrello: rischiamo di far vedere le pagine sbagliate agli utenti. Se avete moduli personalizzati per ogni utente è quindi consigliabile usare la Cache Conservativa e selezionando, modulo per modulo, se attivare o meno la cache.
ATTENZIONE: il tema della cache di Joomla è abbastanza nebuloso. La documentazione ufficiale è scarsa e non spiega tutto nel dettaglio, inoltre online si trova veramente tutto e il contrario di tutto (per esempio che alcuni tipi di cache generano contenuti diversi a seconda degli utenti e così via...), questo vuol dire che usare la cache in modo non appropriato può anche portare ad un deterioramento delle prestazioni o addirittura a pagine non visibili: testate, testate e testate!
E se vuoi farlo leggere anche ai tuoi amici e colleghi, condividilo!