Il caching in WordPress.
WP-Optimize il plugin gratuito per la tenere in perfetta efficienza il database di WordPress e gestire la cache per velocizzare il tuo sito.
Se anche ti occupi di sviluppare pagine web nel favoloso mondo della programmazione, e se più in particolare ti occupi di sviluppare siti in WordPress, ti sarai sicuramente imbattuto nel problema della latenza che hanno mediamente quasi tutti i CMS ed i Framework, che aiutano il web developer a realizzare siti per i propri clienti, tagliando notevolmente tempi, costi e metodi.
La latenza purtroppo è un problema che affligge tutto il mondo web, sia dal punto di vista del client che da quello del server.
Perché sia lato client che server?
Perché oltre alla latenza del tuo sito, dovuta ad una non sufficiente ottimizzazione, esiste anche la latenza dei provider internet.
Non entriamo nel merito di quest’ultima, altrimenti si apre un capitolo che non finisce più.
Quello che ci interessa é quella che nasce all’interno del tuo sito web.
Con WordPress non è mai facile ottimizzare al 100% la latenza, in particolar modo se iniziamo ad addentrarci nei tool di analisi come GTMetrix o Google PageSpeed Insight.
Perché, se dovessi seguire alla lettera tutti i miglioramenti suggeriti per ottimizzare le pagine del tuo sito in WordPress, probabilmente non riusciresti mai a consegnare il lavoro entro una tempistica accettabile.
Adesso analizziamo il problema della latenza in WordPress.
Prima cosa: cos’è il “Time to First Byte” (TTFB) di un sito in WordPress?
Il TTFB, è l’unità di misura del tempo trascorso tra il momento in cui un utente effettua una richiesta HTTP, come ad esempio il caricamento di una pagina web, ed il momento in cui il primo byte viene ricevuto dal browser del client.
Quindi maggiore è il tempo necessario a ricevere questi dati, maggiore sarà il tempo necessario a visualizzare la pagina web del tuo sito.
Il collo di bottiglia di un sito web.
Dopo l’invio da parte del browser, il server deve elaborare la richiesta e generare una risposta.
Molto spesso ci sono una serie di ritardi come, ad esempio, le chiamate al database lente, un numero eccessivo di script di terze parti da eseguire, assenza della cache alla prima risposta, cattivo codice o mancata ottimizzazione del tema di WordPress, le risorse hardware del server, come RAM, hard disk, ecc. sotto dimensionate.
Una cosa però va anticipata: il TTFB non è la misura assoluta della velocità del tuo sito web ma, più esattamente, è la misura della reattività di un sito web.
In rete si fanno molte discussioni in merito al “Time to First Byte” e sulla sua importanza, discussioni che poi finiscono quasi in astrazioni accademiche.
Ovviamente il TTFB ha la sua importanza, però come sempre, non ci si deve perdere sul millisecondo in più o in meno, ma se il tuo sito impiega un secondo in più a rispondere, bisogna sicuramente agire di conseguenza e fare un analisi approfondita per identificare le cause.
Un modo abbastanza veloce, ma spesso non indolore, per ridurre il Time to First Byte di un sito, è quello di utilizzare un sistema di caching
per WordPress.
Prima cosa, cos’è la cache?
La cache è un sistema per riutilizzare risorse già scaricate dal browser, che aiuta a ridurre le richieste di risorse alle CPU ed al database, con l’obiettivo di velocizzare il più possibile il caricamento delle pagine web.
Per visualizzare un sito web, il browser deve recuperare i file del sito dalla rete, un’operazione semplice all’apparenza semplice ma che può
richiedere più tempo del previsto.
Se il sito non ha un codice pulito ed ottimizzato, per generare anche una semplice pagina web sono necessarie numerose chiamate HTTP tra client e server, che incidono sull’esperienza utente e sui tempi di caricamento del browser per visualizzare la pagina.
La migliore soluzione, più o meno indolore, potrebbe essere quella di utilizzare un sistema di cache per il tuo sito in WordPress grazie alla quale, è possibile riutilizzare le risorse recuperate in precedenza dal browser.
La cache è come se fosse un trait d’union, un qualcosa che unisce questi due sistemi (il client ed il server), i quali devono dialogare tra loro.
Il maggior vantaggio, come avrai già intuito, consiste nel ridurre al minimo la latenza per poter visualizzare le tue pagine web.
Recentemente, un plugin di cache per WordPress che sta dando ottimi risultati, è WP-Optimize.
Dopo averlo testato per qualche settimana, possiamo consigliarvelo per i buoni risultati raggiunti.
Analizziamo insieme alcune funzioni di questo plugin che ti possono tornare utili.
Nella prima sezione, Database, è possibile fare la prima serie di ottimizzazioni al database del tuo sito.
Tieni presente sempre di procedere con cautela, perchè stai mettendo mano al database, che è il cuore pulsante del tuo sito web.
Prima di fare qualsiasi cosa, fai sempre il backup di tutto il database, perchè in caso di errore, puoi ripristinare tutto in pochi secondi. (!!!)
All’interno della prima sezione, sempre nel database, trovi la sottosezione, Tables.
Nella Tables è possibile fare delle pulizie manuali ancora più approfondite come, ad esempio, rimuovere le tabelle che sono rimaste vuote dalla disinstallazione di un plugin, oppure di un tema che hai deciso di sostituire.
Ad esempio, un nostro cliente, non troppo esperto in hosting, aveva probabilmente sovrautilizzato i plugin, foto, ecc. e, nel momento dello spostamento del sito, ci siamo subito accorti che qualcosa non andava, perchè il solo database pesava oltre 130 mb. Una dimensione accettabile per un sito di news globali in real-time, ma non per un normale sito di un’opinionista.
Con WP-Optimize prendendo tutte le dovute precauzioni, ed analizzando singolarmente i vari file e plugin nel sito web, siamo riusciti ad ottimizzare il database del 90%, portandolo al peso di soli 13 mb.
Un risultato eccezionale che ha consentito al nostro cliente di avere un sito ultra scattante, soprattutto se consultato via mobile.
Passiamo alla terza sezione, quella relativa alla cache.
Normalmente bisogna sempre prestare molta attenzione ad utilizzare i plugin di caching in WordPress per migliorare le performance del sito, perché alle volte, potrebbero succedere degli imprevisti inattesi che conducono solo a dolori, anzichè a gioie.
La prima cosa che devi fare, nella terza sezione del plugin WP-Optimize, ti trovi davanti alla sottosezione Page Cache.
Attiva il pulsante “Enable page caching” e ti consiglio di mettere, nella “Cache settings” più sotto, il flag a “Generate separate files for mobile devices” e di inserire nella “Cache lifespan” 24 Hours.
Alla fine clicca su “Save Changes”.
Passiamo poi alla sottosezione “Preload”.
Dove leggi “Preload now” clicca sul pulsante “Run now”: in questo modo farà il pre-caricamento di tutte le URL del sito per trasferirlo alla cache.
Più sotto, nella “Schedule preloader” ti consiglio di mettere il flag su “Activate scheduled cache preloading” e nel menu a tendina di “Select schedule type” puoi tranquillamente mettere “Same as cache lifespan”.
Ultime due sottosezioni: Gzip compression e Static file headers.
Nella “Gzip compression”, qualora non fosse attivo, ti suggerisco di mettere “Enable” nella “Gzip compression settings” in modo da avere abilitato il pacchetto gzip nel tuo sito, per comprire i dati e aumentare la risposta delle pagine web.
Nell’ultima sottosezione, “Static file headers”, troverai la “Browser static file caching settings (via headers)” che permette al browser di un utente, di mettere in cache i file non modificabili per un po’ di tempo, ad esempio le pagine statiche che rimangono sempre fisse, in modo che non tenti di recuperarle ad ogni richiesta.
Come suggerimento, puoi mettere come “Expiration time”: 28 day(s) e cliccare su “Update”.
Conclusione
In questo post ti abbiamo presentato una soluzione, forse la migliore attualmente, per aumentare la velocità del tuo sito.
Fai attenzione però, che i plugin per il caching sono molto delicati quindi, se decidi di usarne uno, uno devi averne installato nel sito, perchè due plugin possono entrare in conflitto tra loro e, molto probabilmente otterrai l’effetto contrario, cioè rallentare pesantemente la velocità del tuo sito.
Ho scelto tra i tanti disponibili in WordPress WP-Optimize, perché il miglioramento delle performance è tangibile in qualunque sito, se ne parla poco di questo plugin ma ha al suo attivo più di 900.000 installazioni, con 1073 voti positivi a 5 stelle e 85 segnalazioni di bug sistemate negli ultimi 2 mesi.
Ogni giorno che si lavora al proprio sito web, si scoprono cose nuove, sulla velocità, i tempi di caricamento delle pagine e, più tempo passerai sul tuo sito, più cresceranno le tue strategie di ottimizzazione.
Spero però, che non dovrai perdere tempo inutilmente e ripetere gli stessi errori che ho fatto io, perché queste sono le lezioni più dure da imparare.
Ecco perché ho deciso di condividerle: voglio farti risparmiare tempo e aiutarti a raggiungere più velocemente i tuoi obiettivi di traffico.
E tu? Quali sistemi di caching hai utilizzato finora?
Se hai bisogno, usa la tastiera e scrivi un commento qui sotto!