Caching Server Side

Sfrutta il Caching per velocizzare il tuo sito

Il caching è un modo essenziale per velocizzare il caricamento delle pagine Web.
Già questa sola funzionalità può far diminuire di molto i tempi di attesa, e regalarti:

  • Un sito generalmente più veloce;
  • Una migliore e soddisfacente esperienza utente;
  • Una valutazione più alta in Google PageSpeed Insights.

Ma cos’è il caching? Come funziona? Perchè mi farà ottenere questi miglioramenti?
In questo articolo vedremo i diversi tipi di caching, le loro caratteristiche e in che modo farà velocizzare il caricamento del tuo sito.

Bonus Esclusivo: sapevi che il caching fa parte della mia Technical SEO Checklist? Se vuoi veramente ottimizzare il tuo sito, ti consiglio di scaricarla (è gratis).

Cos’è il Caching?

Il caching è una tecnica che prevede la memorizzazione temporanea di alcune risorse, all’interno di uno spazio apposito chiamato – appunto – Cache, per permetterne un recupero più rapido.
In ambito Web, attraverso il caching viene ottimizzato il modo con cui sono trattati file HTML, CSS, script, documenti di testo e file multimediali, per consentire migliori tempi di caricamento e minore carico sul server.

Innanzitutto, chi si occupa del caching?
Ci sono tre entità che entrano in gioco:

  • Il webserver, quindi Cache lato Server;
  • Il browser, quindi Cache lato Client;
  • Eventuali terze parti, come Reverse Proxy e Content Delivery Networks.

Prima di andare avanti che ne dici di lasciarmi un +1? Ci vuole meno di un secondo e non ti costa niente 😉

Caching lato Server

Come suggerisce il nome, questo tipo di caching viene eseguito sul webserver e, sostanzialmente, consente di ridurne il carico di lavoro e restituire i contenuti più velocemente.

Viene eseguito salvando in cache i contenuti generati dinamicamente, così che il webserver non li rielabori ad ogni richiesta, ma restituisca contenuti staticizzati, come copia “elaborata” degli originali.

Caching Server SidePensiamo ad esempio ad un blog. Può essere implementata la cache lato server, così che vengano salvate in cache le pagine HTML elaborate dei post.
Quando un utente visita quella pagina, il server non rielabora niente (nessuna query al database, ad esempio), ma restituisce il contenuto in cache.

Caching lato Client

Stavolta è il client che si occupa del caching.
Alla prima visita, il browser scarica e memorizza in cache le risorse, così che alle visite successive non sono da riscaricare, ma vengono recuperate tranquillamente dalla cache locale del client.

Caching Client SideIl browser tiene in cache solo determinati contenuti, per un termpo stabilito.
A decidere questi due parametri, ci pensiamo noi modificando le impostazioni del nostro webserver.
Questa pratica è conosciuta come Leverage Browser Caching, che ora vedremo.

Incoraggiare il Browser Caching

Si possono incoraggiare i browser ad eseguire il caching, con delle direttive nel file di configurazione .htaccess.
Sostanzialmente diremo al browser di salvare in cache determinati tipi di file, per un tempo da noi stabilito.

Ecco un esempio di possibile configurazione in .htaccess:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html "access 1 month"
ExpiresByType text/css "access 1 month"
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType application/pdf "access 1 year"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>

Anche per i meno esperti è abbastanza semplice capire come funziona.
Diamo comunque qualche spiegazione per capire meglio.

Sintassi

ExpiresByType tipo-MIME "<base> <tempo> <unità>"

Dove:

  • ExpiresByType è la direttiva che ci permette di gestire il Browser Caching;
  • <base> può essere access o modification, rispettivamente per gestire il tempo in relazione al momento di accesso del client, o della modifica del file;
  • <tempo> è un numero intero;
  • <unità> indica l’unità temporale, che può andare da seconds a years.

Non c’è un modo più semplice?

Si, se utilizzi un CMS puoi gestire facilmente il caching, più tutte le altre operazioni di ottimizzazione, utilizzando dei plugin specifici.

Io per WordPress utilizzo W3 Total Cache, con ottimi risultati.

Conclusioni

Con questo articolo abbiamo visto il caching ed i suoi benefici.

Ottimizzando il tuo sito anche da questo punto di vista, otterrai immediatamente un’esperienza utente migliore e numerosi riscontri a livello SEO.
Ti ricordo che per testare cambiamenti nel sito, devi svuotare entrambe le cache, sia quella sul server che nel tuo browser.

Prima di lasciare questa pagina, mi farebbe molto piacere se mi ringraziassi con un +1 o una condivisione.
Ho impiegato diverse ore a scrivere questo articolo, e un tuo feedback mi farebbe molto piacere 😉

Per qualsiasi cosa, i commenti sono proprio qui sotto 🙂

Davide

Fondatore at FortyZone
Si diploma nel 2015 in Informatica. Continua il viaggio studiando Informatica alla Sapienza. Durante gli anni coltiva e amplia interessi e passioni, tra cui musica, cinema, sviluppo web, SEO, digital marketing e blogging. Ah, suona il basso.