Modifiche che non si vedono: la cache spiegata semplice

Hai modificato una pagina, salvato, ricaricato e… niente: il sito mostra ancora la vecchia versione. Nella stragrande maggioranza dei casi non hai sbagliato nulla, è semplicemente la cache. Vediamo cos’è e come svuotarla nell’ordine corretto.

Perché succede: i livelli di cache

La cache è una copia salvata delle pagine del sito, pensata per velocizzare il caricamento: invece di ricostruire ogni pagina da zero a ogni visita, il sistema serve una versione già pronta. È un’ottima cosa per le prestazioni, ma ha un effetto collaterale: dopo una modifica, può continuare a mostrare la copia vecchia finché non viene aggiornata.

Il punto che confonde di più è che la cache non è una sola. Possono esserci più livelli attivi contemporaneamente: il browser, un plugin di cache, la CDN e la cache del server di hosting. Se ne svuoti uno solo, gli altri possono continuare a servire la versione vecchia. Per questo la soluzione è procedere a livelli, nell’ordine giusto.

Passo 1: il browser

Il primo sospettato è il browser, che conserva una copia locale delle pagine visitate. La prova più rapida è un “hard refresh”, cioè un ricaricamento forzato: Ctrl + F5 su Windows oppure Cmd + Shift + R su Mac. Un test altrettanto utile è aprire la pagina in una finestra in incognito: se lì la modifica si vede, il problema era proprio la cache del tuo browser.

Se vedi le modifiche in incognito ma non nella finestra normale, hai già la risposta: non c’è nulla che non va nel sito, basta svuotare la cache del browser.

Passo 2: il plugin di cache

Se usi un plugin di cache (sono tra i più comuni per velocizzare WordPress), è qui che si trova la causa più frequente. Quasi tutti questi plugin offrono un pulsante per svuotare la cache con un solo clic, di solito ben visibile nella barra di amministrazione o nelle impostazioni del plugin.

Dopo un aggiornamento importante del sito, svuotare la cache del plugin è spesso l’unico passaggio necessario. Molti plugin permettono anche di svuotare la cache di una singola pagina, comodo quando hai modificato solo quella.

Passo 3: la CDN

Se il sito usa una CDN (una rete che distribuisce i contenuti da server vicini al visitatore, come Cloudflare), anche lì esiste una copia in cache. In questo caso bisogna svuotarla dal pannello della CDN: su Cloudflare, ad esempio, si trova nella sezione dedicata alla cache, con un’opzione per azzerare tutto (“Purge Everything”).

La CDN è spesso il livello che si dimentica, proprio perché è “fuori” da WordPress. Se hai svuotato il browser e i plugin ma la versione vecchia resta, è quasi sempre qui.

Passo 4: la cache dell’hosting

Molti hosting, soprattutto quelli ottimizzati per WordPress, aggiungono una propria cache a livello di server (a volte chiamata cache delle pagine o cache a oggetti). Anche questa va svuotata dal pannello dell’hosting o, se previsto, da un plugin fornito dal provider stesso. Nel dubbio, il supporto dell’hosting può dirti se è attiva e come azzerarla.

L’ordine giusto per svuotare tutto

Quando una modifica proprio non vuole comparire, conviene svuotare i livelli dal più vicino a te a quello più lontano: prima il browser, poi il plugin di cache, poi la CDN, infine la cache dell’hosting. Procedendo in quest’ordine eviti di “ripopolare” un livello con i dati vecchi di un altro, ed è la sequenza che risolve la quasi totalità dei casi nel giro di pochi minuti.

Non è sempre colpa della cache

In alcuni casi, le modifiche non si vedono per motivi diversi dalla cache e vale la pena escluderle. Il più comune è aver modificato la cosa sbagliata: una copia del sito in staging invece della versione online, un tema diverso da quello attivo o una pagina differente da quella che stai guardando. Un altro caso è vedere il sito “da loggato” in modo diverso da come lo vede un visitatore. Se dopo aver svuotato tutti i livelli di cache la modifica ancora non appare, conviene controllare di essere intervenuti davvero sul punto giusto.

Prossimi passi

La cache è un’alleata delle prestazioni: l’obiettivo non è disattivarla, ma sapere come svuotarla quando serve. Se invece il sito mostra un vero errore e non solo una versione vecchia, fanno al caso tuo gli articoli sugli errori comuni di WordPress e sulla modalità debug.

Dennis Ploetner@realloc

Senior Web Engineer presso Syde GmbH

  • Lodì, Italia
  • Membro della community WordPress da Aprile 2010

Dennis è uno sviluppatore Open Source appassionato di WordPress, con esperienza in soluzioni enterprise e plugin personalizzati. Vive in Italia, è madrelingua tedesco e parla fluentemente italiano, un ponte naturale tra culture e community diverse. Contribuisce attivamente a progetti Open Source e co-organizza il WordPress Meetup di Milano.