Ottimizzazione WordPress (parte 2): utilizzo dei caching plugin per velocizzare il sito
Come già discusso nel precedente articolo sulle necessità di ottimizzare i Siti web creati in WordPress per poter gestire un aumento di traffico e popolarità, uno dei metodi senz’altro più applicati e che fornisce risultati tangibili (in molti casi perfino sorprendenti!) è quello di installare un plugin che si occupi di effettuare il caching dei contenuti.
Cosa sono i plugin di gestione cache e perchè migliorano le prestazioni di WordPress?
Senza addentrarci troppo nei dettagli, possiamo semplificare dicendo che la caratteristica principale di un Content Management System (CMS) è quella di poter gestire dinamicamente i contenuti di un sito web, eliminando quindi il problema di dover riscrivere larghe parti di codice ogni volta che si desidera fare una modifica, aggiungere un testo, una pagina, un commento ecc. Questo è possibile grazie all’interazione delle pagine generate dal CMS (nel caso di WordPress in linguaggio Php) con i contenuti archiviati in un database, che vengono in parte letti o scritti ogni volta che un qualsiasi utente compie un’azione sul sito web. Proprio questa continua interazione con il database è quella che ci permette di avere sempre contenuti aggiornati in tempo reale, ma il rovescio della medaglia è che ognuna di queste “interazioni” richiede risorse di sistema del server per poter essere gestita. Quante più sono le interazioni, cioè in ultima analisi gli utenti che navigano e interagiscono contemporaneamente sul sito, tanto maggiore sarà questo consumo di risorse. Naturalmente va considerato che una importante voce in capitolo per le prestazioni del nostro sito in WordPress di medio traffico la ha il nostro piano Hosting, che dovrà garantire una adeguata disponibilità di risorse di sistema al nostro sito (meglio preferire una soluzione no overselling o con ridotto affollamento del server che lo ospita), meglio ancora se in un ambiente Cloud con limiti e risorse preassegnati per ciascun account (come nel caso dei piani Linea Pro di LineaHosting)
I caching plugin vanno ad agire proprio su queste interazioni, partendo dal presupposto che – nell’utilizzo reale di un sito web – non tutti i contenuti debbano necessariamente cambiare da un utente all’altro e da un minuto all’altro. Se ad esempio una pagina non cambia i propri contenuti testuali e la propria impaginazione grafica nell’arco di 24h, quale utilità ha interagire ogni volta, per ogni singolo visitatore di quella pagina, richiamare tali contenuti all’interno del database per poter essere visualizzati? Proprio su questo si basa il principio di funzionamento di questi plugin, che si occupa di “stoccare” una versione statica di tutte quelle parti che non cambiano tra una visualizzazione e l’altra e tra un utente e l’altro, in modo da ridurre notevolmente la quantità di interazioni php-mysql e, più in generale, tutte le operazioni più intensive. Questo compito viene svolto con varie tecniche che sfruttano, a seconda dei casi, la creazione di una versione statica della stessa pagina, oppure l’utilizzo di varie tecnologie per riciclare le porzioni di codice più frequentemente richiamate dal sito, per ridurne il peso, per comprimere il codice html, javascript e css in uscita, ecc.
In aggiunta a queste funzioni, la maggior parte dei plugin di questo tipo dispongono di funzioni di ottimizzazione di vari parametri, per rendere la nostra installazione WordPress ancora più efficiente e meno pesante. Vediamo di seguito le soluzioni più in uso:
W3 TOTAL CACHE

In assoluto uno dei plugin più utilizzati e con un rating molto alto, è disponibile gratuitamente e con alcune funzioni accessorie in versione Premium (non indispensabili). Si tratta di una soluzione molto completa, con una serie particolarmente dettagliata di parametri configurabili. C’è una gestione completa delle modalità di caching e delle eccezioni, funzioni per l’ottimizzazione dei file css e js, minify html e css, gestione separata del caching per utenti mobile o per utenti loggati e tanto altro ancora. Le guide in linea sono molto dettagliate e ampie. Forse è proprio questa ricchezza di features e di impostazioni che lo rende più adatto a webmaster con una certa dimestichezza della materia, mentre potrebbe spaventare il neofita in cerca di un plugin semplice.
DOWNLOADWP SUPER CACHE

Assieme a W3 Total Cache, è tra i plugin più noti ed utilizzati con successo per questo genere di applicazioni. A differenza del precedente, presenta un impostazione molto più semplice e questo lo rende particolarmente “facile” per un utilizzo generico anche da parte di un principiante. Ovviamente la minore disponibilità di personalizzazioni lo rende un po’ meno flessibile quando si tratta di ottenere specifiche personalizzazioni. Prestazioni molto valide, anche in quelle configurazioni hosting low-end che dispongono di poche risorse.
DOWNLOADWP FASTEST CACHE

Wp Fastest Cache è un plugin apparso in tempi più recenti sulla scena degli ottimizzatori WordPress, ma si è guadagnato velocemente la stima di molti utenti, per la sua completezza di funzioni (anche in questo caso, esiste una più semplice versione free e quella completa a pagamento) e per i risultati raggiunti. Senz’altro da tenere presente e considerare al pari dei precedenti. Anche in questo caso, come per i suoi rivali, occorre tenere d’occhio le incompatibilità con temi e altri plugin, ampiamente documentate.
DOWNLOADWP ROCKET

Un modulo a pagamento che ha raggiunto grande notorietà in tempi recenti e che si distingue principalmente per l’estrema facilità di utilizzo. Basta attivarlo infatti dal pannello WordPress, al resto pensa tutto lui. Molte le funzioni disponibili che WP ROCKET attiva in automatico, con una completezza di caratteristiche avanzate come ad esempio il pre-loading, lazyload delle immagini, utilizzo di Cloudflare, compressore di immagini, minificazione/concatenazione, prefetch dns ed altro ancora. Se il costo (da 39 a 199 dollari) non vi spaventa, è senz’altro una soluzione da tenere in grande considerazione.
COMET-CACHE

Un’altra soluzione che ci sentiamo di consigliare è CometCache (precedentemente più nota come ZenCache) e che utilizza molte delle funzioni più importanti degli altri moduli, molto facile da utilizzare nella versione free con le impostazioni predefinite oppure più personalizzabile e con funzioni aggiuntive nella versione a pagamento. Le prestazioni sono in linea con quelle dei caching plugin concorrenti, quindi vale senz’altro la pena sperimentarla.
Come mai WordPress non offre una soluzione di caching già integrata? Il rovescio della medaglia…
Se questi plugin offrono così tante ottimizzazioni e miglioramenti delle prestazioni, come mai gli sviluppatori WordPress non hanno preso in considerazione l’idea di svilupparne una in proprio da integrare già nel loro CMS? La risposta più semplice e immediata probabilmente è che questi plugin restringono le compatibilità e dunque la flessibilità di WordPress, oltre che non essere necessari per una vasta fetta dei tantissimi utilizzatori di questo software.
Occorre infatti tenere presente che tutti questi plugin introducono una serie di incompatibilità con temi WordPress o con altri plugin già presenti, e che non sempre queste incompatibilità sono prevedibili né facilmente risolvibili. Questo deve quindi indurre a fare un adeguato periodo di test e di ottimizzazione per assicurarsi che il nostro sito web non abbia malfunzionamenti o comportamenti strani (es: contenuti che dovrebbero aggiornarsi e invece non lo fanno, mancato caricamento di parti e funzioni del sito ecc.). In questo senso, i plugin con una più alta possibilità di personalizzazione sono quelli che hanno maggiori possibilità di poter essere al 100% compatibili con le applicazioni più disparate.