Forse non tutti sanno che Joomla ha un sistema di caching integrato ma per impostazione predefinita è disabilitato, questo perchè essendoci diverse opzioni, ma soprattutto variabili a seconda della tipologia di sito web, è opportuno che sia il web master a decidere se e come configurarare la cache.
A cosa serve la cache di Joomla ?
La cache è un sistema di memorizzazione delle pagine di un sito internet costruito con un database (Joomla in questo caso) per cui una volta memorizzata la pagina (per esempio su disco) alla visita successiva non sarà necessario interrogare nuovamente il database per recuperare le informazioni di crezione della stessa, ma verrà caricata direttamente quella memorizzata in cache, questo per ovvi motivi diminuisce (e non di poco) il tempo di caricamento della pagina.
Certo poi ovviamente non è solo la cache a determinare le performance di un sito Joomla, ma il corretto utilizzo sicuramente contribuisce ad avere un buon Page Speed; per esempio con questo tool gratuito Google Page Speed Insights potete misurare le performance del vostro sito Joomla, è sufficiente inserire l’url e premere “Analizza”.
Quali sistema di caching utilizzare su Joomla
L’attuale versione di Joomla, che nel momento in cui scrivo è la 3.4.4, offre 3 sistemi di caching : Page caching , View caching e Module caching.
Page caching : il page caching in sostanza non è altro che una copia della pagina che il navigatore ha visualizzato
Come si abilita il Page Caching di Joomla ?
L’abilitazione del Page Caching avviene esclusivamente per mezzo del plugin (già preinstallato con Joomla), lo si raggiunge andando su Estensioni\Gestione plugin e filtrando la ricerca per “System – Cache”, cliccando si entrerà nella configurazione del plugin.
Abilitando l’opzione “Usa cache browser” se la pagina è stata precedentemente memorizzata in cache (in gergo cachata), Joomla si occupa di inviare un’informazione al browser del tipo “304 Not Modified” che indica che la pagina non ha subito alcune modifica dall’ultima visita e quindi per visualizzarla verrà utilizzata quella memorizzata in cache; diversamente se la pagina è stata modificata non invierà questa informazione al browser e quindi il suo comportamento sarà quello “naturale”, ossia interrogherà il database per comporre a video la pagina richiesta dal visitatore.
Si lo so sembra un vero casino 🙂 ma il giro è questo !
Il vantaggio di attivare l’opzione Page cache è che se il visitatore, durante la sua sessione di navigazione, visita più volte la stessa pagina, allora ci saranno ottimi tempi di caricamento, in caso contrario se le pagine viste in una sessione sono tutte differenti, il Page cache non è l’opzione adatta, sarebbe del tutto ininfluente, quindi valutate bene prima di abilitarla.
Come configurare e abilitare la cache di Joomla
Per abilitare una delle due opzioni è necessario andare in Sistema\Configurazione Globale\ Sistema
Da questo pannello si possono gestire due tipologie di caching, View caching e Module caching che a differenza del Page Caching , in questo caso Joomla farà la copia di solo una parte della pagina anzichè per intero.
Questo sistema è più complesso, infatti gestisce due tipi di cache, la cache definita progressiva e quella definita conservativa, ma qual è la differenza ?
Cache progressiva : questo sistema di caching di Joomla memorizza le view (viste) dei componenti e dei moduli di ogni utente unico.
Questo tipo di caching è utile abilitarlo se i contenuti vengono visti più volte dallo stesso utente entro la data di scadenza (oppure di rinnovo) di memorizzazione della pagina nella cache di Joomla, diversamente se le pagine del sito da visitare fossero sempre diverse sarebbe uno svantaggio perchè ad ogni visita verrebbe comunque creata in cache una copia della pagina.
Cache conservativa : questo sistema di cache invece si occupa di memorizzare le view di componenti e moduli una sola volta e di mostrare sempre gli stessi a tutti gli utenti navigatori.
Con questo sistema è possibile disabilitare su ogni singolo modulo la memorizzazione in cache, è sufficiente andare in Estensioni\Gestione moduli, editarne uno e portarsi nel tab “Avanzate” per averne la completa gestione.
N.B. Consiglio di abilitare la cache sui moduli solo se contengono contenuti statici (esempio un modulo HTML Personalizzato), se invece contengono contenuti dinamici (un modulo che richiama gli ultimi articoli pubblicati, il modulo meteo) meglio disablitare la cache
Nell’esempio più pratico, un sito Joomla con le canoniche pagine Home, Chi siamo, Dove siamo, Servizi, Contatti, potrebbe avere senso abilitare questo tipo di caching se le pagine non subiscono aggiornamenti frequenti.
Quale tempo cache e metodo di conservazione impostare su Joomla
Gestore cache : nella maggioranza dei casi e comunque per default, l’unico valore possibile sarà “File”, ciò significa che le pagine verranno memorizzate nella cartella “cache” della root di Joomla
Se fossimo curiosi potremmo collegarci con un client FTP e visualizzare una lista di tutte le pagine memorizzate.
In alcuni casi i servizi di hosting mettono a disposizione altre tipologie di memorizzazione, per esempio Zend, XCache, ecc, difficile trovarli su un servizio di hosting condiviso, più probabile su un Cloud Server o un Server Dedicato.
Tempo cache : questo valore che viene espresso in minuti, indica per quanto tempo le pagine rimarranno memorizzare nella cache, prima di essere sostituite da pagine più recenti. Il valore dipende dalla frequenza con cui vengono apportate modifiche al sito, in generale si consiglia un valore basso che può andare tra i 15 ed i 30.
Come pulire e svuotare la cache di Joomla
Periodicamente la cache di Joomla andrebbe svuotata, siccome è un’operazione che spesso richiede tempi lunghi, consiglio di farla non troppo di rado, rischiereste di appensantire il carico del server; la frequenza dipende dalle quantità di pagine presenti sul vostro sito, fate dei test e tenete monitorata la cartella cache per i primi tempi in cui l’avete abilitata.
Per svuotare la cache di Joomla ci sono due metodi :
Sistema\Pulischi cache : questa opzione svuota completamente la cartella “cache” e quindi ricrea e memorizza tutto daccapo
Sistema \ Elimina cache scaduta : in questo caso invece elimina solo le pagine che sono scadute
A breve parlerò di altri sistemi di cache come Varnish e Memcache e di alcuni servizi di hosting Joomla che lo offrono come caratteristica principale o come opzione, vedremo i pro ed i contro delle varie tipologie e dei vari provider di servizi di hosting.
Alla prossima, ciao!
Programmatore WordPress Esperto WooCommerce
Sono l’autore di questo blog con tanti trucchi e guide su WordPress e WooCommerce.