W3Total Cache: guida all’ottimizzazione per WordPress (con CDN)
Abbiamo già visto in altre occasioni come rendere più veloce WP e come ottimizzarlo per i nostri visitatori; in questa sede andremo ad analizzare come si può configurare W3Total Cache, il plugin probabilmente migliore in assoluto che possa servire allo scopo.La prima cosa da fare è scaricare ed installare l’ultima versione del plugin in WordPress W3Total Cache, successivamente dovremo configurare tutto quello di cui abbiamo bisogno per rendere più veloce il nostro blog. Notiamo da subito che gli interventi richiesti potrebbero cambiare caso per caso, e che questo genere di ottimizzazioni possono velocizzare il caricamento delle pagine per quanto il “collo di bottiglia” rimanga, ovviamente, il server di hosting su cui vi state appoggiando, e soprattutto la sua effettiva connettività. I risultati che si possono ottenere sono comunque di buon livello, a patto di essere disposti a perdere un po’ di tempo a testare le opzioni migliori.
Premesse importanti
Si specifica comunque che molti blog non hanno effettivamente bisogno di questo genere di intervento, e potete comunque rendervi conto della situazione andando a misurare un paio di volte la velocità del sito misurata da Google oppure da uno dei tanti strumenti disponibili (come Speedo). Se le prestazioni sono inferiori al 90% del totale, è probabile che dobbiate intervenire in termini di caching, che è esattamente quello che fa W3Total Cache. La tecnica da utilizzare è la seguente: prima di tutto misurate la velocità attuale del vostro sito, poi effettuate una modifica alla volta sul plugin di cache e si verificheranno uno dei seguenti casi:
- la velocità rimane identica o varia di pochissimo (fino al 5%): la modifica che avete effettuato è irrilevante, quindi dovrete procedere oltre o tentare altre vie.
- la velocità aumenta in percentuale (almeno il 10% in più), il che significa che la modifica inserita sta agendo correttamente per i vostri scopi;
- la velocità diminuisce in percentuale (almeno il 10% in meno), il che significa che avete inserito una modifica peggiorativa che va rimossa o comunque configurata adeguatamente.
In media con un plugin di cache avrete la possibilità di migliorare la velocità del vostro sito anche del 25-30% rispetto alla condizione iniziale e, se riuscite a lavorare nel modo corretto, porterete la velocità globale anche molto prossima al top. Un suggerimento ulteriore che è bene tenere presente, inoltre, riguarda il fatto di testare singolarmente più pagine del vostro sito, visto che la home ad esempio potrebbe essere più lenta delle pagine interne (o viceversa).
Come configurare W3Total Cache per tutte le sue opzioni principali
Ecco quindi le opzioni principali di W3Total Cache con spiegazione nel dettaglio. Importante: dopo aver fatto ogni singola modifica è necessario attivarla dal back-end cliccando su “Empty all caches” dal menù in alto in corrispondenza del bottone “Performance”.
Dashboard. Fornisce la reportistica e le statistiche delle pagine più performanti del momento.
General Settings. L’opzione “Toggle all caching types on or off (at once)” attiva la cache per tutte le opzioni disponibili, anche se è sconsigliato farlo poichè è molto meglio impostare le cose una alla volta.
In questa sezione troviamo, spuntando la casella relativa:
Page cache. Permette di impostare la cache sulle pagine, e si dovrà indicare – a seconda della configurazione di server su cui si ci trova, ad es. condivisa, dedicata o VPS – quale opzione utilizzare (Disk Enhanced sui condivisi e con supporto eAccelerator sui dedicati, ad esempio). La configurazione di base è sempre presente all’interno di “General Settings“: esistono anche delle opzioni ulteriori di cui riportiamo quelle che è consigliabile abilitare. Esse sono:
- Cache front page
- Cache feeds
- Cache URIs with query string variables
- Cache 404 (not found) pages
- Don’t cache pages for logged in users (attenzione: in questo modo per testare personalmente le modifiche attivate dovrete essere sloggati da WP).
Minify. Si tratta di un processo di compressione utilizzato al fine di ridurre il numero di chiamate a file esterni JS e CSS: operando su questa opzione si riesce solitamente ad ottenere le più alte percentuali di miglioramento. Il “minify mode” deve essere impostato su Auto, mentre è consigliabile spuntare tutte e tre le opzioni successive come segue:
- HTML minifier: default
- JS minifier: consigliato JSMin
- CSS minifier: default
La configurazione di base è presente all’interno di “General Settings“: esistono anche delle opzioni ulteriori di cui riportiamo quelle che è consigliabile abilitare. Esse sono:
- Rewrite URL structure
- Disable minify for logged in users
Si suggerisce inoltre di inserire come “Garbage collection interval” un valore più piccolo di quello di default (ad esempio 21600).
Database cache. Influisce sulle prestazioni specialmente se avete un blog con numerosi articoli al suo interno.
Object cache. Serve a compattare le chiamate SQL sfruttando appositi oggetti che richiamino i dati più rapidamente: di solito non viene utilizzata se non per progetti molto grossi o multi-blog (si veda qui per maggiori informazioni).
Browser cache. Abilita l’utile funzione di compressione HTTP, anche questa è spesso un’opzione che può fare la differenza.
CDN. Sfrutta un Content Delivery Network (info) per velocizzare il sito: per maggiori informazioni consultare la nostra guida all’ottimizzazione di WordPress per CDN.
Reverse Proxy. Abilita una tecnologia per effettuare il bilanciamento di carico delle richieste dei cliente ed un ulteriore caching del sito, spesso in presenza dell’errore “too many connections“. Varnish, ad esempio, è un particolare reverse proxy pensato per operare in questa direzione.
Network performance e security. Ottimizza il sito per servizi di DNS CDN come CloudFlare.
Monitoring. Tramite Relic permette di tenere sotto controllo gli eventuali errori del server.
Dal menù principale potete inoltre abiltare la cache del browser cliccando su “Browser cache“, ed effettuando i vostri test sulle seguenti opzioni.
General
- Set Last-Modified header
- Set expires header
- Set cache control header
- Set entity tag (eTag)
- Enable HTTP (gzip) compression
CSS & JS
- Set Last-Modified header
- Set expires header
- Set cache control header
- Set entity tag (eTag)
- Enable HTTP (gzip) compression
HTML & XML
- Set Last-Modified header
- Set expires header
- Set cache control header
- Set entity tag (eTag)
- Enable HTTP (gzip) compression
MEDIA & OTHER FILES
- Set Last-Modified header
- Set expires header
- Set cache control header
- Set entity tag (eTag)
- Enable HTTP (gzip) compression
In certe situazioni, è bene specificare, è stato rilevato che il minify di W3Total Cache non funziona in maniera ottimale e che, dati del PageSpeed alla mano, sembra lavorare decisamente meglio un plugin come Better WordPress Minify.
Ricapitolando i possibili aspetti da tenere in considerazione per velocizzare un blog in WP sono i seguenti (i link portano alle pagine di approfondimento di Google a riguardo):
- Optimizing caching ovvero ottimizzare la cache nei vari modi proposti (Page cache)
- Minimizing round-trip times cioè ridurre il numero di richieste HTTP della pagina (Minify)
- Minimizing request overhead quindi minimizzare la dimensione dei singoli file caricati (Minify)
- Minimizing payload size cioè ridurre genericamente il carico di lavoro sul server
- Optimizing browser rendering ovvero migliorare il layout (Browser cache)
- Optimizing for mobile quindi ottimizzare il sito per i dispositivi mobile.