Una Content Delivery Network (CDN) è una rete globale di server distribuiti, progettata per fornire i contenuti del tuo sito web più rapidamente servendoli da una posizione vicina a ciascun visitatore. Invece di far viaggiare ogni richiesta al tuo singolo server di origine, una CDN posiziona copie in cache dei tuoi asset statici (immagini, file CSS, JavaScript, font e talvolta persino pagine HTML complete) su decine o centinaia di server edge in tutto il mondo. Il risultato è una latenza inferiore, tempi di caricamento delle pagine più rapidi e una migliore esperienza per i tuoi visitatori, indipendentemente da dove si trovino.
Come le CDN forniscono i contenuti tramite server edge
Per capire una CDN aiuta seguire una richiesta passo dopo passo. Senza una CDN, un visitatore a Sydney che carica un sito WordPress ospitato a Francoforte invia ogni singola richiesta HTTP su circa 15.000 km di infrastruttura di rete. Ogni immagine, foglio di stile e file di script fa lo stesso viaggio di andata e ritorno. Con una CDN in atto, il flusso cambia significativamente:
- Il tuo server di origine a Francoforte contiene i file originali. La CDN copia periodicamente questi file (o alla prima richiesta) sui suoi server edge.
- Quando il visitatore a Sydney richiede una pagina, il routing DNS della CDN lo indirizza al server edge più vicino, che potrebbe essere a Sydney stessa o a Singapore.
- Il server edge controlla la sua cache locale. Se il file richiesto è lì e ancora valido, fornisce il file direttamente. Questo si chiama cache hit.
- Se il file non è ancora nella cache (un cache miss), il server edge lo recupera dall'origine, lo memorizza in cache localmente e poi lo fornisce al visitatore. Le future richieste da visitatori vicini ottengono la versione in cache.
Le posizioni dei server edge della CDN sono chiamate PoP (Points of Presence). I principali provider CDN gestiscono centinaia di PoP in ogni continente. Cloudflare, ad esempio, gestisce oltre 300 PoP a livello globale. BunnyCDN gestisce circa 120 PoP con un forte focus sull'efficienza dei costi.
CDN Pull vs. CDN Push
Esistono due architetture CDN fondamentali ed è importante capire la differenza quando si sceglie un provider:
- CDN Pull: i server edge recuperano automaticamente i contenuti dal tuo server di origine quando un visitatore li richiede. Questo è il modello più comune e viene utilizzato da Cloudflare, BunnyCDN e KeyCDN. Non è necessario caricare manualmente i file. La CDN gestisce tutto dietro le quinte. Per i siti WordPress, le CDN pull sono quasi sempre la scelta giusta perché i tuoi contenuti cambiano regolarmente e la CDN si adatta automaticamente.
- CDN Push: carichi manualmente i file nello storage della CDN, che li distribuisce da lì. Amazon S3 in combinazione con CloudFront può funzionare in questo modo. Le CDN Push ti danno più controllo su ciò che viene esattamente memorizzato in cache, ma richiedono più configurazione e manutenzione. Sono più adatte per grandi librerie multimediali o piattaforme di streaming video.
Cosa viene memorizzato in cache su una CDN
Per impostazione predefinita, le CDN memorizzano in cache gli asset statici. Questi sono file che non cambiano tra i visitatori:
- Immagini: file JPEG, PNG, WebP, AVIF, SVG, GIF dalla tua libreria multimediale e dal tema
- Fogli di stile: file CSS del tuo tema e dei plugin
- Script: file JavaScript, incluso jQuery e script dei plugin
- Font: file webfont (WOFF2, WOFF, TTF) caricati dal tuo tema
- Documenti: PDF scaricabili e altri documenti statici
Alcune CDN offrono anche full-page caching, in cui l'intero output HTML di una pagina WordPress viene memorizzato in cache nell'edge. APO (Automatic Platform Optimization) di Cloudflare per WordPress fa esattamente questo e può ridurre drasticamente il Time to First Byte (TTFB). Con il full-page caching CDN, il tuo server di origine deve a malapena lavorare per i visitatori anonimi.
Provider CDN popolari per siti WordPress
Il mercato CDN offre opzioni per ogni budget e caso d'uso. Ecco i provider più comunemente utilizzati con WordPress:
- Cloudflare: offre un generoso piano gratuito con CDN, hosting DNS, protezione DDoS di base e un Web Application Firewall (WAF). Il piano gratuito è davvero utile e sufficiente per molti siti WordPress di piccole e medie dimensioni. Cloudflare funziona come un reverse proxy completo, il che significa che tutto il tuo traffico passa attraverso la loro rete. Questo è diverso dalle CDN tradizionali. Il loro add-on APO a pagamento ($5/mese) memorizza in cache le pagine WordPress complete nell'edge per un TTFB estremamente veloce a livello globale.
- BunnyCDN: uno dei provider CDN più convenienti a circa $0,01 per GB nella maggior parte delle regioni. Veloce, facile da configurare e ben recensito nella comunità WordPress. BunnyCDN offre un plugin WordPress chiamato Bunny.net per una facile integrazione. Offre anche l'ottimizzazione delle immagini e Bunny DNS.
- StackPath: una CDN con WAF integrato e protezione DDoS. StackPath offre buone prestazioni in Nord America ed Europa. È più orientato all'enterprise di BunnyCDN ma offre un solido set di funzionalità.
- KeyCDN: una CDN pay-as-you-go con prezzi competitivi ed eccellente copertura europea. KeyCDN offre un plugin WordPress chiamato CDN Enabler (realizzato dalla stessa azienda) che riscrive automaticamente gli URL degli asset per puntare alla CDN.
- Amazon CloudFront: parte dell'ecosistema AWS. CloudFront è potente e altamente configurabile ma più complesso da configurare rispetto alle alternative. È la scelta migliore se il tuo sito WordPress è già in esecuzione su infrastruttura AWS (EC2, S3, RDS). I prezzi possono essere difficili da prevedere perché sono basati sull'utilizzo su più dimensioni.
Configurare una CDN per WordPress
Ci sono due principali approcci per integrare una CDN con il tuo sito WordPress:
- Metodo DNS CNAME: crei un sottodominio come
cdn.tuodominio.ite lo punti al provider CDN tramite un record DNS CNAME. Un plugin WordPress poi riscrive gli URL dei tuoi asset per utilizzare questo sottodominio CDN. Questo metodo funziona con BunnyCDN, KeyCDN e CloudFront. - Metodo proxy completo: il DNS dell'intero tuo dominio punta al provider CDN, e tutto il traffico passa attraverso la loro rete. Cloudflare utilizza questo approccio. Cambi i nameserver del tuo dominio in quelli di Cloudflare e loro gestiscono tutto. Questo metodo abilita anche il full-page caching e le funzionalità di sicurezza.
Diversi plugin WordPress semplificano la configurazione della CDN:
- CDN Enabler: un plugin gratuito leggero di KeyCDN. Riscrive gli URL nel tuo HTML per puntare al tuo hostname CDN. Semplice ed efficace.
- WP Rocket: include una funzionalità CDN integrata in cui inserisci semplicemente il tuo URL CDN e gestisce la riscrittura degli URL. WP Rocket si integra anche direttamente con Cloudflare per il cache purging.
- W3 Total Cache: supporta più provider CDN e offre opzioni di configurazione CDN dettagliate. Può effettuare il push dei file allo storage CDN o riscrivere gli URL per le CDN pull.
Impatto sulle prestazioni dell'utilizzo di una CDN
I miglioramenti delle prestazioni di una CDN dipendono dalla distribuzione geografica del tuo pubblico e dalla posizione del tuo server di origine. Ecco alcuni numeri realistici basati su scenari comuni:
- Miglioramento del TTFB: per i visitatori lontani dal tuo server di origine, il TTFB può scendere da 800-1200 ms a 50-200 ms con il full-page caching CDN. Si tratta di un miglioramento da 4x a 10x.
- Consegna di asset statici: i tempi di caricamento di CSS/JS/immagini migliorano tipicamente del 40-70% per i visitatori internazionali.
- Tempo complessivo di caricamento della pagina: a seconda di quanto sono pesanti di asset le tue pagine, i tempi totali di caricamento della pagina possono migliorare del 30-60% per i visitatori in regioni distanti.
Per un sito WordPress ospitato in Europa con un pubblico globale, una CDN è una delle ottimizzazioni delle prestazioni più impattanti che puoi fare.
Benefici di sicurezza delle CDN
Le CDN moderne fanno più che velocizzare le cose. Proteggono anche il tuo sito:
- Protezione DDoS: i provider CDN assorbono gli attacchi volumetrici attraverso la loro rete globale. Anche il piano gratuito di Cloudflare include mitigazione DDoS sempre attiva che può gestire attacchi di qualsiasi dimensione.
- Web Application Firewall (WAF): Cloudflare, StackPath e altre CDN offrono regole WAF che bloccano attacchi WordPress comuni (SQL injection, XSS, tentativi di login brute force) nell'edge, prima che le richieste dannose raggiungano il tuo server.
- Terminazione SSL/TLS: le CDN possono gestire i certificati SSL per te, crittografare il traffico tra il visitatore e il server edge e opzionalmente crittografare la connessione tra l'edge e la tua origine.
- Protezione dai bot: le CDN possono identificare e bloccare bot dannosi, scraper e crawler che sprecano le risorse del tuo server.
Quando non hai bisogno di una CDN
Una CDN non è sempre necessaria. In alcune situazioni, la complessità aggiunta non vale la pena:
- Pubblico locale: se il tuo sito WordPress serve un pubblico puramente locale (ad esempio, un ristorante a Monaco con solo visitatori tedeschi), e il tuo server è già in Germania, una CDN aggiunge un beneficio minimo per gli asset statici. Tuttavia, il piano gratuito di Cloudflare offre comunque DNS, SSL e funzionalità di sicurezza che valgono la pena.
- Traffico molto basso: se il tuo sito riceve meno di qualche centinaio di visitatori al giorno, il tuo server di origine può gestire il carico senza problemi. Una CDN migliorerà comunque leggermente la velocità, ma potrebbe non essere una priorità.
- Managed WordPress hosting: alcuni host WordPress gestiti come Kinsta, WP Engine o Cloudways includono una CDN nei loro piani di hosting. In tal caso, ne hai già una e non hai bisogno di un provider separato.
Cosa controlla InspectWP
InspectWP rileva l'uso della CDN analizzando gli header di risposta e i record DNS. Identifica se il tuo sito instrada il traffico attraverso un provider CDN come Cloudflare, Sucuri o altri. Se il tuo sito serve un pubblico globale e non viene rilevata alcuna CDN, questo viene segnalato come un possibile miglioramento delle prestazioni. Il report mostra anche quale provider CDN è in uso, in modo da poter verificare che la tua configurazione CDN funzioni correttamente.