Cache – Guida completa per far volare il tuo sito

W3 Total Cache
W3 Total Cache - Come impostare la cache e mettere le ali al tuo sito

Cache – Come impostare W3 Total Cache e mettere le ali al tuo sito

Nel precedente articolo ho spiegato l’importanza del cambiare DNS per aumentare la velocità del tuo sito. Se hai deciso di seguire il mio consiglio ed utilizzi Cloudflare come CDN, il prossimo passo da compiere è scaricare il plugin W3 Total Cache ed impostarlo come ti farò vedere.

Premessa numero 1: non bisogna mai avere più sistemi di caching sullo stesso sito. Prima di installare ed attivare W3 Total Cache, assicurati che tra i plugin WordPress presenti sul tuo sito non ce ne siano altri con la stessa funzione.

Premessa numero 2: i plugin rallentano il caricamento delle pagine quindi, su SEOMagazine, troverai solamente plugin WordPress indispensabili per il benessere del tuo sito.

Cos’è la cache?

W3 Total Cache, come qualsiasi altro plugin di cachig, è vitale perché “trasforma” la pagina del tuo articolo in un file HTML. Circa il 90% delle pagine di qualsiasi sito sono statiche e restano immutate negli anni, salvo subire qualche leggera variazione dovuta agli aggiornamenti. Richiamare ogni volta tutti i componenti di una pagina, facendo intervenire il server ed utilizzando infinite risorse di memoria, è una cosa da folli. Per evitare che ciò accada, si utilizza uno strumento che trasforma la pagina in un file statico, riducendo al minimo lo sforzo del server. In soldoni, grazie alla cache, le risorse non saranno caricate dal tuo server ma dal disco di chi sta visitando il tuo sito.

Ora che sai perché avere un plugin di caching è fondamentale, andiamo a vedere come settare W3 Total Cache.

Indice dell’articolo

Come calcolo la velocità del mio sito?

Per capire quanto influirà l’utilizzo di W3 Total Cache sul tuo sito, la prima operazione da compiere è calcolarne l’attuale velocità. Per fare ciò, utilizzeremo i seguenti tool (come al solito totalmente gratuiti):

Accantoniamo per un istante PageSpeed Insights e concentriamoci sugli altri 2 programmi. Osservandoli, si capisce subito che funzionano allo stesso modo: dopo aver inserito il permalink, clicchi su analizza e attendi qualche secondo.
gtmetrixI valori sono indicativi perché i tool si collegano da Nazioni che non sono l’Italia quindi i tempi di caricamento sono relativi. Le città più vicine da cui effettuare la simulazione sono Francoforte per Pingdom e Londra per GTmetrix.

Come sempre, ogni volta che effettui modifiche sul tuo sito, devi pulire la cache. Per “modifiche” intendo sia lo scarico di nuovi plugin WordPress che il loro aggiornamento, compresa ogni singola variazione che ne modifichi il settaggio.
pingdomVai su Cloudflare, nella sezione “Caching” e clicca su “Purge Everything”. Ora sei pronto per testare la velocità del tuo sito.

Cache e velocità

Prendi l’URL dell’articolo col maggior numero di visualizzazioni (o quello che secondo te è il più interessante) e testalo sui 2 tool. Ripeti l’operazione 3 volte, segnandoti i risultati ottenuti. A questo punto hai il tempo medio di caricamento riscontrato sia da Pingdom che da GTmetrix (quindi il tempo necessario per caricare la pagina del tuo sito da Germania e Canada).

PageSpeed Insights, a differenza di questi 2, non ti indica i secondi necessari a caricare la pagina del tuo sito. Questo tool ti fa sapere se la pagina sottoposta a controllo è performante o meno, utilizzando la scala da 1 a 100.
pagespeed insightOra che hai raccolto tutti questi dati, non ti resta che vedere cosa succede al tuo sito dopo aver installato un plugin WordPress per la cache.

Perché W3 Total Cache?

Tanto per cominciare, ci troviamo di fronte ad un plugin intuitivo ma, allo stesso tempo, estremamente completo. Queste 2 caratteristiche, rendono W3 Total Cache ideale sia per i nerd che per quelli che, come me, non hanno mai avuto a che fare con robe del genere. Il fatto che sia estremamente diffuso (nel momento in cui scrivo, ha raggiunto oltre un milione installazioni attive), inoltre, fa si che si possano trovare infiniti tutorial e guide di ogni tipo.

Come dicevo, W3 Total Cache ha funzioni specifiche per chi ha server dedicati e virtual server ma, con molta probabilità, se stai leggendo questa guida, anche tu hai il sito su hosting Aruba o su qualsiasi altro hosting condiviso quindi non te ne può fregare di meno.

In ogni caso, le impostazioni che trovi di default sono studiate per soddisfare la maggior parte delle esigenze di un utente normodotato. In questa guida ti spiego come, pur non essendo un nerd, con qualche accorgimento, puoi rendere ancora più efficace questo plugin.

W3 Total Cache

Nella colonna sinistra del pannello di amministrazione WordPress, ferma il cursore del mouse su “Plugin” e clicca su “Aggiungi nuovo”. Cerca, installa e attiva “W3 Total Cache”.
W3 Total CacheUna volta installato ed attivato W3 Total Cache, porta il mouse su “Performance”, la nuova voce che ora ti appare nella colonna sinistra del pannello di amministrazione WordPress e clicca su “General Settings”.

Come settare W3 Total Cache

  • Attiva “Page Cache e seleziona “Disk: Enhanced” dal menù a tendina;
  • Mantieni disattivato “Minify”, settalo su “Auto” e seleziona “Disk”;
  • Setta “Opcode Cache su “Not Available”;
  • Attiva “Database Cache e seleziona “Disk”;
  • Attiva “Object Cache e seleziona “Disk”;
  • Attiva “Browser Cache;
  • Mantieni disattivato CDN;
  • Mantieni disattivato “Reverse Proxy”;
  • Setta “Fragment Cache su “Disk”;
  • Alla voce “Miscellaneous” spunta “Verify rewrite rules” e “Optimize disk enhanced page and minify disk caching for NFS”;
  • Mantieni disattivato “Debug”.

Cache della pagina

Ora, nella colonna sinistra del pannello di amministrazione WordPress, clicca su “Page Cache”:

  • In “General”, attiva “Cache front page”, “Cache feeds: site, categories, tags, comments”, “Cache SSL (HTTPS) requests”, “Cache 404 (not found) pages”, “Don’t cache pages for logged in users” e “Don’t cache pages for following user roles”, indicando “Administrator”, “Editor”, “Author”, “Contributor” e “Subscriber”;
  • In “Cache preload”, attiva “Automatically prime the page cache”, imposta “Update interval” su “900” seconds e indica “10” come valore di “Pages per interval”;
    Inserisci l’indirizzo della tua sitemap. Di solito consiste nell’aggiungere “/sitemap_index.xml” alla fine dell’URL della home page. Puoi ricavare la sitemap anche cliccando su “SEO”, nella colonna sinistra del pannello di amministrazione WordPress, poi su “Generale”, “Funzionalità”, e sul punto interrogativo che si trova vicino alla voce “Sitemaps XML”. Se clicchi su “Vedi la mappa XML del sito”, raggiungi la sitemap del tuo sito e, di conseguenza, l’URL da inserire nel box “Sitemap URL” di W3 Total Cache;
    Attiva “Preload the post cache upon publish events”;
  • Nella sezione “Purge Policy: Page Cache, CDN”, spunta “Front page”, “Post page”, “Blog feed” e “rss2 (default)”;
  • Imposta “REST API” su “Don’t cache”;
  • In “Advanced”, attiva “Compatibility mode”;
    imposta “Garbage collection interval” su “3600” seconds e “Comment cookie lifetime” su “1800” seconds;
    spunta “Handle XML mime type”.

Cache e minificazione dei file

Per quanto riguarda la minificazione e il caricamento asincrono delle risorse, utilizzo il plugin WordPress Autoptimize.
In questa guida, quindi, ti spiego come disattivare tale funzione su W3 Total Cache.

Nella colonna sinistra del pannello di amministrazione WordPress, clicca su “Minify”:

  • In “General”, attiva “Rewrite URL structure” e imposta “Minify error notification” su “Admin Notification”;
  • In “HTML & XML”, disabilita “HTML minify settings”;
  • In “JS”, disabilita “JS minify settings” e spunta “HTTP/2 push”;
  • In “CSS”, disabilita “CSS minify settings” e spunta “HTTP/2 push”;
  • In “Advanced”, imposta “Update external files every” e “Garbage collection interval” entrambe su “216000” seconds.

Cache del database

Sempre nella colonna sinistra del pannello di amministrazione WordPress, scendi alla voce “Database Cache”:

  • In “General”, spunta “Don’t cache queries for logged in users”;
  • In “Advanced”, setta “Maximum lifetime of cache objects” a “180” seconds e “Garbage collection interval” a “3600” seconds.

Ora, nella colonna sinistra del pannello di amministrazione WordPress, clicca su “Object Cache”:

  • In “Advanced”, imposta “Default lifetime of cache objects” a “180” seconds e “Garbage collection interval” a “3600” seconds;
    Attiva “Enable caching for wp-admin requests “;
    Attiva “Store transients in database “.

Settare la cache del browser

Ora, nella colonna sinistra del pannello di amministrazione WordPress, clicca su “Browser Cache”:

  • In “General”, abilita “Set Last-Modified header”, “Set expires header”, “Set cache control header”, “Set entity tag (ETag)”, “Set W3 Total Cache header”, “Enable HTTP (gzip) compression”, “Remove query strings from static resources”;
    In “Prevent caching exception list”, inserisci “sitemap(_index|[0-9]+)?\.xml”;
    Spunta “Don’t set cookies for static files”;
  • In “CSS & JS”, abilita “Set Last-Modified header” e “Set expires header”;
    Imposta “Expires header lifetime” su “31536000” seconds;
    Abilita “Set cache control header”;
    Imposta “Cache Control policy” su “cache with max-age”;
    Abilita “Set entity tag (eTag)”, “Set W3 Total Cache header”, “Enable HTTP (gzip) compression”, “Remove query strings from static resources “ e “Disable cookies for static files”.

Cache – HTML, media e altri file

  • In “HTML & XML”, abilita “Set Last-Modified header” e “Set expires header”;
    Imposta “Expires header lifetime” su “3600” seconds;
    Abilita “Set cache control header”;
    Imposta “Cache Control policy” su “cache with max-age”;
    Abilita “Set entity tag (ETag)”, “Set W3 Total Cache header” e “Enable HTTP (gzip) compression”;
  • In “Media & Other Files”, abilita “Set Last-Modified header” e “Set expires header”;
    Imposta “Expires header lifetime” su “31536000” seconds;
    Abilita “Set cache control header”;
    Imposta “Cache Control policy” su “cache with max-age”;
    Abilita “Set entity tag (ETag)”, “Set W3 Total Cache header”, “Enable HTTP (gzip) compression”, “Remove query strings from static resources “ e “Disable cookies for static files”.

Per terminare il settaggio di W3 Total Cache, nella colonna sinistra del pannello di amministrazione WordPress, clicca su “User Agent Groups” e Spunta tutti e 2 gli “Enable” che vedi.

L’ultima cosa che ti resta da fare è collegare W3 Total Cache a Cloudflare.

W3 Total Cache e Cloudflare

Nella colonna sinistra del pannello di amministrazione WordPress, clicca su “Extensions” ed attiva l’estensione “CloudFlare”. Autorizza l’estensione in modo che nella voce “Zone” appaia il tuo sito.

  • In “General”, indica “Last 30 minutes” per la voce “Widget statistics interval” e “5” per la voce “Cache time”
  • In “CloudFlare: Content Processing”, disabilita “Rocket Loader” portandolo su “Off” ed abilita “Server side exclude” e “Email obfuscation”;
  • In “CloudFlare: Protection”, porta “Security level” su “Low”;
    Attiva “Browser integrity check” e “Always online”;
    Inserisci “100” come valore di “Max upload”;
  • In “CloudFlare: IP”, abilita “IP geolocation” e “IPv6”;
  • In “CloudFlare: SSL”, indica “Full (https everywhere)” come valore di “SSL”.

Finalmente abbiamo Finito!!

W3 Total Cache – Caso pratico

A questo punto non ti resta che cliccare su “Performance”, nella colonna sinistra del pannello di amministrazione WordPress e effettuare una pulizia totale del sito cliccando su “empty the page cache”.

Ti consiglio di andare su Cloudflare, nella sezione “Caching” e fare il classico “Purge Everything” anche li, tanto per essere più sicuri.
W3 Total CacheTesta nuovamente la velocità del tuo sito con Pingdom e GTmetrix (ripetendo l’operazione per 3 volte) e confronta i nuovi dati con quelli vecchi.

Conclusione

In questo pallosissimo articolo, abbiamo visto come settare al meglio il plugin WordPress W3 Total Cache quando hai Cloudflare come CDN e hosting condiviso. Il prossimo passaggio che andremo a compiere, sarà la modifica dei file .htaccess e functions.php, essenziale per migliorare le performance del sito, rendendolo ulteriormente veloce. Essendo una cosa per nerd, però, ce ne occuperemo più avanti.

Se qualche passaggio di questo articolo non ti è chiaro o se hai suggerimenti, lascia un commento nell’apposito box che trovi qui sotto che, con molta fantasia, ho chiamato “LASCIA UN COMMENTO”.

8 Commenti

    • Ciao, per quanto ne so io, non dovrebbero esserci problemi a caricare questo settaggio su server dedicato anziché condiviso. Se chiedi ad Aruba, ti risponderanno che, secondo loro, è meglio utilizzare Wp Fastest Cache ma, con quel plugin, non sono riuscito ad ottenere nemmeno la metà dei valori riscontrati con la versione gratuita di W3 Total Cache. Fossi in te, salverei le attuali impostazioni e proverei ad utilizzare W3 Total Cache.
      Per quanto riguarda la CDN, essendo Cloudflare gratuito (per quello che serve a noi), non vedo perché non lo si debba utilizzare.
      Ps domani modifico il post inserendo qualche piccola miglioria scoperta la scorsa settimana grazie ai vostri suggerimenti…

  1. grazie mille per la risposta, in realta W3 total cache lo utilizzo gia da un anno e nell’ultimo mese il caricamento delle pagine da mobile (solo da mobile) è rallentato parecchio. Credo dipenda dal file .httacces che viene settato dal plugin in questione, ma non sono ancora riuscito a venirne a capo

    Inoltre W3 total cache non mi abilita nelle impostazioni a dirgli che sto su server dedicato, posso scegliere solo server condiviso. Hai qualche spunto da darmi in merito?

  2. Ciao,

    Ho seguito le tue impostazione ed escluso come dici il minify.

    1) io ho sul mio hosting Ergonet la Cloudflare sul panel che basta cliccare sull’icona e si attiva, ma poi cosa devo fare se uso W3 Total Cache?

    2) Nella CDN sull’Hosting ci sono anche le funzionalità avanzate che permettono l’ “AUTO MINIFY” per Js, Css e HTML e il “ROCKET LOADER” per abilitare il caricamento asincrono dei file Javascript, come posso fare in tutta questa situazione? Uso quelle o è meglio usare Autoptimize?

    grazie

    • Ciao Mario.
      Premessa: SEOMagazine è creato su hosting Aruba condiviso, si appoggia alla CDN Cloudflare (nella versione free) ed ha installato Newspaper come tema. Ovviamente, gli articoli che realizzo, pur essendo generici, si rifanno alle performance ottenute da SEOMagazine.
      Detto ciò, per quanto riguarda i settaggi di Cloudflare, mi trovo benissimo utilizzando il loro sito, quindi effettuo ogni modifica da lì e consiglio di fare lo stesso.
      Per quanto concerne la minificazione ed il caricamento asincrono di JavaScript e CSS, fossi in te procederei nel seguente modo:
      – tramite FTP, copia il file .htaccess e salvalo nel pc (per esempio utilizzando Notepad++)
      – sostituisci il tuo attuale file .htaccess inserendo il codice “base” fornito da WordPress
      – a questo punto, vai nella dashboard di Cloudflare e clicca su “Purge Everything”
      – ora scegli un settaggio e testane le performance su Pingdom e GTmetrix, segnandoti velocità di caricamento media riscontrata, grado di performance e quant’altro
      – pulisci nuovamente file .htaccess (con la stessa procedura utilizzata in precedenza) e prova con un altro settaggio
      – una volta terminati tutti i vari “incroci” possibili, prendi il settaggio che ti ha dato i risultati migliori ed utilizza quello.
      Personalmente ritengo questa procedura l’unica in grado di determinare quale sia il TUO settaggio “perfetto”.

      Fammi sapere se hai seguito questo metodo e, soprattutto, se lo hai fatto, fammi sapere quale settaggio hai deciso di utilizzare!!

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui