Un sito ospitato a Milano impiega più tempo a rispondere a un visitatore di New York o di Singapore che a uno di Torino: la distanza aggiunge latenza a ogni andata e ritorno. La CDN colloca server detti di bordo (edge) in molte città e affida loro copie dei file. Il visitatore viene indirizzato verso quello più vicino, quasi sempre grazie al DNS: il nome del sito punta alla rete della CDN e non più direttamente al tuo server.
Come funziona una CDN
La CDN si comporta come una cache condivisa posta tra i visitatori e il tuo server, che in questo caso si chiama origine. A ogni richiesta il server edge controlla se possiede una copia valida. Se sì, la restituisce senza contattare l’origine; altrimenti la richiede, la inoltra e la conserva per i visitatori successivi.

La durata di conservazione segue gli header HTTP inviati dall’origine. La documentazione di MDN colloca le CDN tra le cache condivise, che memorizzano una sola risposta e la servono a molti utenti: Cache-Control: public, max-age=… autorizza questa memorizzazione, s-maxage fissa una durata specifica per le cache condivise, private e no-store la vietano. Cloudflare, per esempio, indica l’esito di ogni richiesta nell’header cf-cache-status: HIT (servito dalla cache), MISS (assente, richiesto all’origine), EXPIRED (copia scaduta), BYPASS o DYNAMIC (non memorizzato).
Cosa mette davvero in cache una CDN
Un dettaglio sorprende spesso: la documentazione di Cloudflare precisa che la sua CDN, per impostazione predefinita, non mette in cache né l’HTML né il JSON. Conserva i file statici riconosciuti dall’estensione (immagini, CSS, JavaScript, font, PDF, video), mentre le pagine WordPress continuano a essere generate dal tuo server a ogni visita. È possibile memorizzare anche le pagine con regole apposite, a patto di escludere tutto ciò che è personalizzato: area di amministrazione, carrello, account cliente, pagine di login.
Vantaggi e limiti
- Velocità: meno distanza per i file pesanti e, spesso, protocolli recenti come HTTP/2 e HTTP/3 attivi lato edge.
- Meno carico: ogni file servito dalla cache è una richiesta in meno per il tuo hosting.
- Protezione: una CDN in modalità proxy assorbe parte degli attacchi volumetrici e offre spesso un firewall applicativo, opzionale o incluso.
- Limiti: una cache scaduta mostra vecchie versioni dopo una modifica, quindi bisogna saperla svuotare (purge); inoltre il tuo server non vede più l’indirizzo IP dei visitatori, ma quello della CDN.
Per WordPress
- Due famiglie: la CDN in modalità proxy (Cloudflare, per esempio), che si mette davanti a tutto il sito dopo un cambio dei nameserver, e la CDN per i file, in cui un plugin riscrive gli indirizzi dei media verso un sottodominio della CDN.
- Ripristina il vero indirizzo IP dei visitatori, altrimenti la limitazione degli accessi, i log e i blocchi colpiscono i server della CDN. La nostra guida Cloudflare davanti a WordPress illustra le impostazioni lato server; WP Masquerade Pro legge anche l’header di Cloudflare, ma solo quando la connessione arriva da un intervallo IP ufficiale di Cloudflare, come spiega la pagina sul supporto di Cloudflare.
- Svuota la cache dopo ogni aggiornamento del tema o dei plugin, e verifica che il plugin di cache e la CDN non si contraddicano.
- Proteggi l’origine: se il tuo server resta raggiungibile direttamente tramite il suo indirizzo IP, un attaccante può aggirare la CDN e il suo firewall.
Le immagini servite dalla cache della CDN non arrivano più al tuo server: una protezione contro l’hotlinking va quindi configurata nella CDN stessa.