Come configurare un CDN per velocizzare WordPress
Un CDN (Content Delivery Network) è una rete di server distribuiti nel mondo che serve i contenuti del tuo sito dal server più vicino al visitatore. Se il tuo hosting è in Europa e un visitatore naviga dal Giappone, senza CDN deve aspettare che i dati attraversino mezzo mondo. Con un CDN, le risorse statiche vengono servite da un server vicino al Giappone, riducendo drasticamente i tempi di caricamento. In questa guida ti spiego come configurare un CDN per WordPress.
Come funziona un CDN
Quando attivi un CDN, i file statici del tuo sito (immagini, CSS, JavaScript, font) vengono copiati e distribuiti su decine di server in tutto il mondo, chiamati edge server o PoP (Points of Presence). Quando un visitatore richiede una pagina, il CDN serve i file statici dal PoP più vicino geograficamente, mentre il contenuto dinamico (HTML generato da PHP) viene ancora servito dal tuo server di origine.
Il risultato è un miglioramento significativo dei tempi di caricamento per i visitatori lontani dal tuo server e una riduzione del carico sul server di origine, che deve gestire meno richieste per i file statici.
Cloudflare: il CDN più usato
Cloudflare è il CDN più popolare al mondo con un piano gratuito generoso che include CDN, protezione DDoS, certificato SSL e regole di caching base. Per configurare Cloudflare con WordPress:
- Crea un account gratuito su cloudflare.com e aggiungi il tuo dominio.
- Cloudflare scansiona i record DNS del tuo dominio e li importa automaticamente.
- Cambia i nameserver del dominio con quelli forniti da Cloudflare nel pannello del tuo registrar.
- Dopo la propagazione DNS (da pochi minuti a 24 ore), il tuo sito sarà servito tramite Cloudflare.
Cloudflare funziona come un proxy inverso: tutto il traffico passa attraverso i suoi server, che decidono cosa servire dalla cache e cosa richiedere al tuo server di origine. Installa il plugin ufficiale Cloudflare per WordPress per ottimizzare la configurazione e svuotare la cache direttamente dalla bacheca.
Bunny CDN: alternativa leggera e veloce
Bunny CDN è un CDN pay-per-use con prezzi molto competitivi (a partire da 0.01 dollari per GB). A differenza di Cloudflare, Bunny CDN funziona come un CDN pull tradizionale: configuri un hostname CDN che punta al tuo sito e i file statici vengono serviti da quel hostname. Bunny CDN offre prestazioni eccellenti, un pannello di controllo intuitivo e server distribuiti in tutto il mondo.
Per integrare Bunny CDN con WordPress, crea una pull zone nel pannello di Bunny CDN, poi usa un plugin come CDN Enabler o FlyingPress per riscrivere gli URL dei file statici sostituendo il dominio del tuo sito con l’hostname CDN.
Configurare le regole di caching
Un CDN è efficace solo se le regole di caching sono configurate correttamente. I file statici devono essere cachati a lungo, mentre le pagine dinamiche non devono essere cachate (a meno che non usi un plugin di page caching specifico per CDN):
- Immagini (jpg, png, webp, svg): cache di 30 giorni o più. Le immagini cambiano raramente.
- CSS e JavaScript: cache di 7-30 giorni. Quando cambiano, WordPress aggiunge un parametro di versione all’URL che invalida automaticamente la cache.
- Font (woff2, woff): cache di 365 giorni. I font non cambiano praticamente mai.
- Pagine HTML: non cachare di default, a meno che non usi un sistema di page caching avanzato.
Su Cloudflare, puoi configurare queste regole nella sezione “Caching” delle impostazioni. Su Bunny CDN, le regole si configurano nella pull zone.
Evitare problemi con il CDN e WordPress
Alcuni problemi comuni quando si usa un CDN con WordPress:
- Font non caricati (errore CORS): se i font vengono serviti dal CDN ma il browser li blocca per motivi di sicurezza, aggiungi l’header Access-Control-Allow-Origin: * nelle impostazioni del CDN.
- Bacheca di WordPress lenta: escludi /wp-admin/ e /wp-login.php dal CDN per evitare problemi con la bacheca.
- Cache non aggiornata: dopo aver modificato il sito, svuota la cache del CDN per mostrare le modifiche ai visitatori. Il plugin Cloudflare lo fa automaticamente.
- Conflitti con plugin di caching: se usi un plugin di caching come WP Rocket o FlyingPress, assicurati che le impostazioni CDN del plugin siano coerenti con la configurazione del CDN.
Misurare l’impatto del CDN
Dopo aver configurato il CDN, misura il miglioramento delle prestazioni. Usa strumenti come GTmetrix o Pingdom scegliendo diverse posizioni geografiche per i test. Confronta i tempi di caricamento prima e dopo il CDN. Il miglioramento più evidente sarà per i visitatori lontani dal tuo server di origine. Per visitatori vicini al server, il miglioramento potrebbe essere minimo o nullo.
Negli header HTTP delle risposte puoi verificare se il CDN sta servendo i file dalla cache. Su Cloudflare, cerca l’header cf-cache-status: HIT che indica che il file è stato servito dalla cache. Su Bunny CDN, cerca CDN-Cache: HIT.
Serve aiuto con le prestazioni?
Se vuoi configurare un CDN per il tuo sito WordPress e ottimizzare le prestazioni per un pubblico globale, il team di SoccorsoWP può scegliere e configurare la soluzione migliore per il tuo caso. Apri un ticket e velocizza il tuo sito per tutti i visitatori.