La cache per un sito web: una guida approfondita

Provaci

Mettici alla prova

Analizza il tuo sito
Seleziona la lingua del database:

Un deposito temporaneo di risorse che vengono scaricate e richiamate rapidamente a ogni richiesta: essenzialmente, possiamo definire in questo modo la cache e l’attività di caching, vale a dire il processo di archiviazione di determinate risorse in locale, in modo che possano essere riutilizzate senza necessità di un passaggio di richiesta di andata e ritorno completa al server. La memorizzazione in cache può rivelarsi un elemento cruciale per il funzionamento ottimale di un sito web e delle sue prestazioni, e in questa guida approfondita esploreremo il concetto di cache, il suo scopo, come gestirla e i problemi comuni associati.

Che cos’è la cache

La caching è un processo che permette di archiviare temporaneamente copie di file, immagini, pagine web e altri elementi in una posizione facilmente accessibile, in modo da ridurre il tempo di caricamento quando un utente visita un sito web. Risorse come HTML, CSS, immagini e JavaScript possono essere tutti memorizzati nella cache.

Il termine “cache” deriva dal francese e significa “nascondere” o “riporre”. Nel contesto dei siti web, la cache si riferisce più precisamente a diversi tipi di archiviazione temporanea, come la cache del browser, la cache del server o la cache dei Content Delivery Network (CDN): ogni tipo di cache ha un ruolo specifico nel velocizzare il caricamento delle pagine e migliorare l’esperienza dell’utente.

A prescindere dalla tipologia, infatti, la cache resta un meccanismo di memorizzazione temporanea utile per archiviare dati che vengono utilizzati frequentemente, con lo scopo di ridurre il tempo necessario per accedervi. Le pagine memorizzate nella cache vengono fornite come versioni HTML statiche per evitare query potenzialmente dispendiose in termini di tempo al database: la pubblicazione della versione più recente di una pagina potrebbe ad esempio richiedere l’accesso alle informazioni del database, e per questo serve più tempo rispetto alla pubblicazione di una versione della pagina già archiviata (memorizzata nella cache).

E quindi, nello specifico, la cache di un sito web viene impiegata per conservare una copia delle pagine web e dei loro contenuti, al fine di diminuire il tempo di caricamento e, come detto, migliorare l’esperienza utente.

Come funziona il meccanismo di caching: le tre modalità principali

Ma una non ottimale memorizzazione nella cache non significa solo una cattiva esperienza utente, perché significa anche peggiorare il dialogo con i crawler di Google, proprio in virtù delle specificità di questo processo. Per comprendere meglio, dobbiamo analizzare i 3 principali tipi di caching, le loro caratteristiche e i modi in cui si influenzano a vicenda.

  1. Cache lato server

La cache del server funziona memorizzando temporaneamente risposte a richieste e contenuti generati dinamicamente sull’infrastruttura del server stesso anziché su un dispositivo lato client. Questo tipo di cache può essere utile se abbiamo un sito che pubblica contenuti che cambiano frequentemente, ma che possono essere ugualmente memorizzati temporaneamente per ridurre il tempo di caricamento delle pagine.

Il vantaggio è che abbiamo controllo sulle impostazioni di memorizzazione, e in particolare possiamo definire tempi di cache diversi per file (e tipi di file) diversi presenti sul sito, valutando la necessità che ha l’utente di vedere l’ultima versione di quel file. Ad esempio, il contenuto HTML front-page dovrebbe probabilmente essere memorizzato nella cache più spesso dell’immagine di sfondo o del foglio di stile.

La frequenza di memorizzazione dipende dalla tipologia del sito in oggetto: un sito di news potrebbe richiedere un aggiornamento della cache a ogni visita dell’utente, e tutto deve essere valutato esaminando la nicchia di mercato, il contenuto del sito e persino le azioni similari dei competitor.

La gestione della cache è regolata attraverso l’assegnazione di un’etichetta di scadenza, che permette al browser di sapere per quanto tempo un elemento può essere conservato e riutilizzato, e quando invece è necessario richiederlo nuovamente dal server. Impostare correttamente la durata della cache permetterà di velocizzare i tempi di caricamento per gli utenti – motivo per cui Google suggerisce di configurare un periodo di validità di un anno per la maggior parte delle risorse statiche. Adottando tecniche avanzate di controllo delle versioni per le risorse, potremo inoltre utilizzare durate della cache più estese: se il nome di un file cambia, il server richiederà automaticamente il nuovo file dal server senza attingere alla versione precedentemente memorizzata nella cache. Se non si stabilisce una durata per la cache, invece, il server intenderà che è necessario recuperare nuovamente la risorsa ogni volta, potendo comportare una mancata memorizzazione nella cache. Questo può causare, spesso, tempi di caricamento significativamente più lunghi.

Il processo tipico del meccanismo di caching lato server si può sintetizzare in questi passaggi chiave:

  • Richiesta iniziale. Un utente visita una pagina web generata dinamicamente; il server riceve la richiesta e calcola la risposta in base al contenuto dinamico e ai parametri di richiesta.
  • Memorizzazione nella cache. Il server memorizza la risposta generata nella cache e imposta un intervallo di tempo di validità.
  • Richieste successive. Se un altro utente richiede la stessa pagina web entro l’intervallo di tempo di validità, il server fornirà direttamente la copia memorizzata nella cache anziché ricalcolare nuovamente la risposta.
  • Controllo di validità. Una volta scaduto l’intervallo di tempo di validità, la cache viene dichiarata non valida e il server dovrà rigenerare la risposta e aggiornare la cache quando riceve una nuova richiesta.

Questa gestione di codice, contenuto e query statici può essere supportata utilizzando un CDN, che si serve di una rete di server distribuiti in tutto il mondo per restituire dinamicamente i dati in base alla vicinanza geografica dell’utente. Questa funzione consente ai siti di operare in modo efficiente in situazioni impegnative e di fornire contenuti agli utenti in base alla posizione e alla capacità in tempo reale.

  1. Cache del browser

La memorizzazione nella cache del browser avviene a livello di singolo visitatore: non ne abbiamo controllo completo, ma possiamo influenzarla tramite le impostazioni di memorizzazione nella cache del server, che indicano al browser se deve o meno recuperare l’ultima versione di ciascuna risorsa.

In pratica, l’archiviazione temporanea delle informazioni del sito è ospitata nella cache del dispositivo del visitatore per il recupero in un secondo momento; il visitatore di ritorno può anche gestire manualmente i dati memorizzati nella cache e cancellare la cache interna, se necessario. Ciò permette di servire un’esperienza di navigazione reattiva, limitando al contempo il carico del server, ed è utile per siti grandi e complessi o pagine di e-commerce con un pubblico di ritorno significativo.

I browser come Google Chrome e Firefox in genere memorizzano nella cache le cosiddette risorse statiche (immagini, CSS), quelle che non cambiano troppo spesso da una visita all’altra e quindi possono essere caricate molto più velocemente, poiché non devono essere scaricate nuovamente dal Web.

Quando un utente visita una pagina web per la prima volta, il browser richiede al server le risorse necessarie per visualizzare la pagina, come file HTML, CSS, JavaScript, immagini e altri media; al ricevimento di queste risorse, il browser può memorizzarle nella cache locale (cache del browser) nel dispositivo dell’utente.

Sebbene non sia possibile controllare il modo in cui un utente imposti la cache del suo browser (se lo desidera, potrebbe persino eseguire un aggiornamento completo ogni volta), la caching del browser è ancora molto importante, poiché è così che il browser ricorda e memorizza i siti web visitati nella loro memoria locale, aiutando il sito a caricarsi più velocemente. Come proprietari del sito possiamo anche dettare quali informazioni la cache del browser client conserva pagina per pagina, e possiamo anche scegliere di svuotare la nostra cache per eliminare materiale obsoleto o “vecchio” – un’operazione da fare sempre dopo una riprogettazione del sito o dopo il completamento di un aggiornamento significativo.

  1. Cache di Google

Ci concentriamo anche su una terza forma di caching, quella realizzata da motori di ricerca come Google, che memorizzano una versione di backup di una pagina web che può essere fornita a un utente al posto della versione più recente della pagina stessa. Quando un motore di ricerca, come Google, indicizza una pagina, crea solitamente una versione cache che gli utenti possono visualizzare se il sito web originale è irraggiungibile o lento.

La cache di Google è quindi un’istantanea dei contenuti della pagina e viene acquisita quando Google ha eseguito l’ultima scansione della pagina del sito web: non abbiamo informazioni precise sul funzionamento di questa memorizzazione, ma gli esperimenti suggeriscono che il crawler di Google memorizza le sue visite al sito in una sorta di cache “virtuale” del browser. Ogni volta che esegue la scansione del sito, sembra utilizzare ciò che è già nella cache virtuale del browser come base di riferimento, e ciò gli consente di eseguire la scansione progressivamente di più ogni volta.

Le funzionalità di cache di Google presentano una serie di vantaggi, e in particolare:

  • Risultati di ricerca: permette di presentare rapidamente i risultati delle sessioni di ricerca agli utenti, poiché consente di mostrare una copia memorizzata della pagina web senza dover attingere direttamente dall’URL originale.
  • Monitoraggio delle modifiche: la cache di Google facilita lo studio e l’analisi delle modifiche apportate alle pagine web nel tempo, così da semplificare l’analisi e le valutazioni sulle ottimizzazioni SEO.
  • Disponibilità dei contenuti: se un sito web è temporaneamente offline o inaccessibile, la cache di Google consente di visualizzare comunque il suo ultimo stato indicizzato. Pertanto, gli utenti possono accedere al contenuto anche se il server originale è momentaneamente irraggiungibile.

Rispetto a quest’ultimo punto, usando l’operatore di ricerca avanzato cache:website.com/page (da sostituire con l’URL preciso) possiamo scoprire l’ultima volta che un sito o una pagina è stato memorizzato nella cache, nonché visualizzare appunto l’ultima copia statica presente nell’archivio virtuale di Google. Possiamo raggiungere la copia cache di una pagina web anche dalla SERP di Google, cliccando sui tre puntini verticali che – nelle ultime versioni – conducono alla funzionalità “Informazioni su questo risultato”, che appunto include anche un pulsante “cache” che ci fa visualizzare la versione memorizzata in cache della pagina web.

È importante notare, però, che se le impostazioni caching lato server indicano agli utenti di recuperare l’ultima versione di ogni risorsa a ogni visita, anche il crawler di Google (che è un utente virtuale) non sarà in grado di basarsi sulle scansioni precedenti e quindi potrebbe eseguire la scansione di una parte minore del sito web; se le impostazioni del server impongono quindi un aggiornamento a ogni visita, potremmo incappare in problemi in termini di ranking.

Cache del sito: a cosa serve e come gestirla

Un discorso a parte lo riserviamo alla site caching, vale a dire alla memorizzazione in cache controllata lato client, che consente ai visitatori di accedere al sito e alle sue pagine tramite Google Cache. Questa funzione si rivela utile per i proprietari di siti che sperimentano problemi con la gestione del traffico del sito  difficoltà di tipo infrastrutturale.

In breve, la site caching fornisce un “backup” del contenuto che consente ai visitatori di ritorno di visualizzare risorse che potrebbero essere temporaneamente non disponibili o inaccessibili se e quando gli elementi del sito cessano di funzionare. La visualizzazione di una versione memorizzata nella cache di un sito Web o di una pagina è controllata dai visualizzatori nel front-end del sito; questa configurazione back-end consente ai proprietari di stabilire quali dati memorizzare nella cache per la restituzione e per quanto tempo devono essere conservati.

Le opzioni della funzione cache possono essere impostate pagina per pagina, consentendo ai proprietari del sito di fornire un sito reattivo che si carica rapidamente e funziona bene. In questo modo, i siti possono ottimizzare la caching anche se offrono una combinazione di contenuti regolarmente aggiornati, materiali di lunga data o elementi complessi non memorizzabili.

La cache del sito ha diversi scopi, e in particolare può servire a:

  • Migliorare le prestazioni: La cache riduce il tempo di caricamento delle pagine web, poiché permette al browser di recuperare rapidamente i dati memorizzati invece di doverli richiedere nuovamente al server.
  • Ridurre il carico sul server: Una parte delle richieste viene soddisfatta dalla cache, pertanto il server risulta meno sollecitato, migliorando la sua efficienza e stabilità.
  • Risparmiare banda: La cache riduce la quantità di dati che devono essere scaricati dai visitatori del sito, diminuendo i costi di banda e aumentando la velocità di navigazione.

Per gestire la cache del sito possiamo utilizzare diversi metodi e strumenti, come:

  • Plugin e moduli: Sono disponibili numerosi plugin e moduli per sistemi di gestione dei contenuti (CMS) come WordPress, Drupal e Joomla, che permettono di configurare e ottimizzare facilmente la cache del sito.
  • Configurazione del server: A livello di server, è possibile utilizzare strumenti come Varnish o Nginx per implementare una cache più avanzata e personalizzata.
  • Cache del browser: È possibile impostare politiche di cache tramite l’uso di intestazioni HTTP, che consentono di controllare la durata e le modalità di memorizzazione nella cache del browser dei visitatori.

Come impedire la memorizzazione in cache

Se non desideriamo che il sito web venga memorizzato nella cache o appaia in archive.org – un’eventualità possibile, ad esempio se abbiamo pagine dinamiche con contenuti in continua evoluzione – possiamo utilizzare i seguenti metatag che, inseriti nel tag <head> della pagina HTML, indicano ai motori di ricerca come gestire la memorizzazione temporanea (caching) e l’archiviazione delle pagine web nel loro indice.

  • content=”noarchive”
  • content=”no-cache”

Nello specifico, content=”noarchive” specifica ai crawler dei motori di ricerca di non salvare una copia cache delle pagine web. Come detto, quando Google indicizza una pagina ne crea solitamente una versione cache, che gli utenti possono visualizzare se il sito web originale è irraggiungibile o lento: utilizzando il tag content=”noarchive” impediamo al motore di ricerca di creare e mostrare questa versione cache nelle pagine dei risultati di ricerca.

Il metatag content=”no-cache” indica ai motori di ricerca e ai browser che la pagina non deve essere memorizzata nella cache del browser: ciò significa che, ogni volta che un utente visita la pagina, il browser dovrà caricarla direttamente dal server invece di utilizzare la versione memorizzata nella cache locale. Questo potrebbe risultare utile per le pagine con contenuti dinamici o sensibili che cambiano frequentemente e richiedono l’aggiornamento in tempo reale. A differenza del caso precedente, il tag “no-cache” si inserisce nel tag <head> della pagina HTML, ma all’interno di una meta di tipo http-equiv.

È importante notare che il metatag content=”no-cache” non è sempre sufficiente per impedire la memorizzazione nella cache del browser, poiché alcuni browser potrebbero ignorarlo. Pertanto, è consigliabile gestire anche la cache attraverso l’invio di intestazioni HTTP “Cache-Control” dal server web.

L’importanza della gestione ottimale della cache

Gestire correttamente la cache di un sito web è cruciale per svariati motivi, a cominciare da un potenziale beneficio delle prestazioni delle pagine e dal consequenziale miglioramento della UX.

Quando un utente visita per la prima volta un sito web, il suo browser salva gli elementi del sito selezionati nella sua cache interna: questa funzione consente di memorizzare una serie di materiali sul computer del visitatore, che possono essere rapidamente recuperati dalla memoria quando ritorna su un sito Web invece di estrarre dati da download ripetuti di contenuti. La corretta memorizzazione nella cache consente di ottimizzare l’utilizzo della larghezza di banda del sito, ridurre il carico del server e gestire i costi operativi, e ciò avvantaggia anche i visitatori perché migliora la reattività della pagina, consentendo l’accesso a contenuti che potrebbero non essere disponibili a causa di interruzioni e migliorando l’esperienza utente complessiva per incoraggiare le visite di ritorno.

Sono in particolare tre gli aspetti positivi che possiamo evidenziare:

  • Velocità di caricamento delle pagine: una cache ben gestita riduce il tempo necessario per caricare le pagine del sito, migliorando così l’esperienza dell’utente e influendo positivamente sulla capacità del sito di convertire i visitatori in acquirenti o lead, diminuendo il tasso di abbandono.
  • Risparmio di risorse: la cache riduce il carico sul server, poiché le risorse archiviate nella cache vengono fornite direttamente all’utente senza la necessità di ottenere nuovamente i dati dal server. Ciò contribuisce a una maggiore efficienza e a un impiego ottimizzato delle risorse.
  • Miglioramento della SEO: la velocità di caricamento delle pagine potrebbe in qualche modo contribuire a migliorare il posizionamento nei motori di ricerca e quindi la SEO. Con una buona gestione della cache, il sito verrà indicizzato più velocemente dai motori di ricerca e potrebbe beneficiare di una migliore posizione nei risultati di ricerca, funzionando con un’efficienza ottimale.

In sintesi, quindi, la cache è un aspetto che può avere una rilevanza per la salute SEO del sito, e senza una cache correttamente configurata a livello di server il sito web potrebbe avere addirittura difficoltà a funzionare regolarmente.

Problemi comuni con la cache del sito

Sebbene la cache sia un elemento essenziale per migliorare le prestazioni di un sito web, può talvolta causare problemi, che inficiano l’esperienza dell’utente o compromettono la stessa memorizzazione. I più comuni sono:

  • Contenuti obsoleti: Quando la cache non viene aggiornata correttamente, i visitatori potrebbero vedere versioni obsolete delle pagine web, causando possibili incoerenze e problemi di usabilità.
  • Problemi di compatibilità: Alcuni plugin o temi potrebbero non essere compatibili con le impostazioni di cache, causando malfunzionamenti o errori visivi.
  • Difficoltà nella risoluzione dei problemi: In presenza di problemi con il sito, la cache può rendere più difficile identificare e risolvere la causa, poiché potrebbe essere necessario svuotare la cache per vedere gli effetti delle modifiche apportate.

Dal punto di vista tecnico, invece, si rivelano frequenti questi problemi pratici:

  • Durata della cache troppo breve o assente: una scadenza della cache troppo breve o la mancanza di una scadenza predefinita possono causare scarso utilizzo della cache, con conseguente aumento dei tempi di caricamento e del carico sul server.
  • Durata della cache eccessivamente lunga: impostare una durata della cache troppo lunga per contenuti dinamici e frequentemente aggiornati può portare a visualizzare ai visitatori versioni obsolete delle pagine, causando problemi di aggiornamento dei contenuti e di usabilità. Un consiglio per gestire in modo opportuno la durata è verificare la strategia dei competitor meglio posizionati e “prendere spunto” per le nostre impostazioni.
  • Mancata controllo della versione delle risorse: senza un adeguato controllo della versione delle risorse statiche, i visitatori potrebbero continuare a utilizzare vecchie versioni della cache anche quando sono disponibili versioni aggiornate delle risorse, come CSS, JavaScript e immagini. Allo stesso modo, è importante verificare che la cache abbia memorizzato la pagina corretta, soprattutto tra i risultati di ricerca di Google.
  • Utilizzo di URL non canonici: l’uso di URL diversi per lo stesso contenuto può generare cache duplicate e spreco di risorse, poiché il browser o il server potrebbero memorizzare più copie dello stesso contenuto.
  • Mancata compressione dei file: la mancata compressione di risorse come file CSS, JavaScript e immagini può aumentare i tempi di caricamento e la larghezza di banda utilizzata, vanificando i benefici della cache.
  • Mancata configurazione corretta della cache del server: la configurazione errata della cache del server per un’applicazione dinamica può provocare errori, come la visualizzazione di contenuti obsoleti o incoerenti.
  • Mancata ottimizzazione per dispositivi mobili: se la cache non viene ottimizzata per i dispositivi mobili, gli utenti potrebbero riscontrare lunghi tempi di caricamento e un’esperienza utente compromessa su smartphone e tablet.
  • Mancata configurazione della cache dei CDN: la mancata configurazione o l’uso inadeguato di una rete CDN potrebbe influire negativamente sulla distribuzione e sull’ottimizzazione delle risorse statiche.

Per gestire questi problemi, è importante monitorare e configurare correttamente la cache, garantendo che sia aggiornata regolarmente e che sia compatibile con gli altri componenti del sito; è consigliabile testare accuratamente le modifiche apportate al sito e alle impostazioni della cache, per assicurarsi che non causino problemi all’esperienza utente o alle prestazioni del sito.

Come risolvere eventuali problemi con la cache di Google

Se una gestione efficiente dalla cache può potenzialmente dare una mano agli sforzi di conquista di visibilità organica, il rovescio della medaglia è rappresentato dalle perdite di traffico e di posizionamento che possono derivare da impostazioni sbagliate.

Quando riscontriamo problemi con la cache di Google, possiamo intervenire con alcuni controlli e correzioni:

  • Check del tag canonical e di un suo utilizzo corretto.
  • Check della sitemap e, se necessario, generazione di una nuova sitemap.
  • Check della Search Console di Google per eventuali avvisi o messaggi
  • Check dello strumento Controllo URL di GSC.
  • SEO audit per una diagnostica, utilizzando strumenti come Screaming Frog o lo Spider di SEOZoom.
  • Check delle impostazioni di caching del server.

Google e cache, i chiarimenti sulla SEO

Sul tema della caching è intervenuto di recente anche John Mueller, che ha dedicato un episodio delle sue pillole di AskGooglebot su YouTube alla risposta a un dubbio della community: ovvero, “Google deve memorizzare nella cache una pagina affinché appaia nella Ricerca”, e quindi è fondamentale archiviare  copia nella cache per comparire in Search?

Mueller spiega la caching per Google

La risposta breve del Search Advocate è “no”, le pagine non devono essere memorizzate nella cache per apparire in Ricerca Google, ma in realtà i dettagli sono un po’ più complicati.

Le pagine memorizzate nella cache sono un po’ separate dall’indicizzazione e non sempre riflettono ciò che è indicizzato, dice Mueller, ma spesso però sono uguali e questo può effettivamente creare un po’ di confusione.

Alcune pagine non vengono memorizzate nella cache a seguito di scelte di progettazione del sistema dell’infrastruttura di Google, e inoltre (come visto) anche noi utenti possiamo decidere che le nostre pagine non vengano memorizzate nella cache, usando la direttiva robots “noarchive”.

come usare il noarchive per la cache

Per le pagine basate su JavaScript, la pagina intera potrebbe non essere mostrata nella cache a causa delle politiche di sicurezza nei browser, poiché la pagina della cache viene caricata da un dominio Google.

Quindi, in breve, solo perché una pagina non è memorizzata nella cache non significa che ci sia un problema con l’indicizzazione di quella pagina. E, in generale, la cache non è necessaria per la Ricerca.

Iscriviti alla newsletter

Prova SEOZoom

7 giorni di Prova Gratuita

Inizia ad aumentare il tuo traffico con SEOZoom!
TOP