Ogni volta che un visitatore carica una pagina WordPress, il server deve eseguire PHP, interrogare il database, assemblare l'HTML e rimandarlo indietro. Questo processo richiede tempo, soprattutto sull'hosting condiviso. Un plugin di caching evita la maggior parte del lavoro memorizzando una copia HTML già pronta di ogni pagina. Il visitatore successivo ottiene il file pre-costruito invece di aspettare che WordPress generi tutto da zero. Il risultato è spesso un miglioramento del 50-90 percento nel tempo di caricamento della pagina, e il tuo server può gestire molto più traffico prima di rallentare.
Perché il caching è importante per le prestazioni di WordPress
WordPress è un CMS dinamico. Senza caching, anche un semplice post del blog attiva decine di query al database e più inclusioni di file PHP. Su una pagina con più plugin attivi, quel numero può salire a centinaia. Il caching elimina questo sovraccarico per la stragrande maggioranza dei visitatori che vedono lo stesso contenuto. Riduce anche il tuo Time to First Byte (TTFB), che influenza direttamente i Core Web Vitals e il posizionamento nei motori di ricerca. Se fai una sola cosa per accelerare il tuo sito WordPress, installa un plugin di caching.
Configurare WP Rocket (Premium, consigliato)
WP Rocket è un plugin premium, ma offre la migliore esperienza out-of-the-box. Ecco come metterlo in funzione:
- Acquista WP Rocket su wp-rocket.me e scarica il file zip.
- Nella tua amministrazione WordPress, vai su Plugin > Aggiungi nuovo plugin > Carica plugin e installa il file zip.
- Attiva il plugin. La cache delle pagine e la cache del browser sono abilitate automaticamente, senza necessità di configurazione.
- Vai su Impostazioni > WP Rocket > Cache. Abilita "Mobile Caching" se il tuo tema usa il responsive design (la maggior parte dei temi moderni lo fa). Lascia "Separate cache files for mobile devices" disabilitato a meno che il tuo tema non fornisca HTML completamente diverso agli utenti mobili.
- Nella scheda File Optimization, abilita "Minify CSS files" e "Minify JavaScript files" per ridurre le dimensioni dei file.
- Abilita "Optimize CSS Delivery" per rimuovere il CSS render-blocking. WP Rocket genera automaticamente il CSS critico per ciascuna pagina.
- Abilita "Delay JavaScript Execution" per impedire che script di terze parti (analytics, annunci, widget di chat) blocchino il rendering iniziale della pagina.
- Se stai utilizzando un CDN come Cloudflare o BunnyCDN, vai alla scheda CDN e inserisci il tuo URL CDN in modo che gli asset statici vengano serviti dal dominio CDN.
Configurare W3 Total Cache (Gratuito, versatile)
W3 Total Cache è uno dei plugin di caching più vecchi e configurabili. Può essere travolgente all'inizio, quindi concentrati su queste impostazioni principali:
- Installa W3 Total Cache dalla directory dei plugin di WordPress e attivalo.
- Vai su Performance > General Settings. Sotto "Page Cache", abilita la funzione e seleziona "Disk: Enhanced" come metodo. Questa opzione offre il miglior equilibrio tra prestazioni e compatibilità.
- Sotto "Minify", abilita la funzione e imposta la modalità su "Auto". Scegli "Disk" come metodo di cache minify.
- Sotto "Browser Cache", abilita la funzione. Questo dice ai browser di memorizzare i file statici localmente in modo che non debbano essere scaricati di nuovo nelle visite successive.
- Salva tutte le impostazioni e vai su Performance > Page Cache. Sotto "Cache Preload", abilita il priming automatico in modo che la cache venga costruita prima che arrivino i visitatori.
- Se il tuo hosting supporta Memcached o Redis, puoi passare l'object cache e il database cache a tali backend per una velocità aggiuntiva. Se sei su hosting condiviso, mantieni "Disk" per evitare problemi di compatibilità.
Configurare WP Super Cache (Gratuito, semplice)
WP Super Cache è mantenuto da Automattic e si concentra sulla semplicità. È una scelta solida se vuoi il caching senza la complessità:
- Installa WP Super Cache dalla directory dei plugin.
- Vai su Impostazioni > WP Super Cache.
- Nella scheda Easy, seleziona "Caching On" e fai clic su "Update Status".
- Passa alla scheda Advanced. Seleziona "Use mod_rewrite to serve cache files" per le migliori prestazioni sui server Apache. Questo metodo serve le pagine in cache senza nemmeno caricare PHP.
- Spunta "Compress pages so they are served more quickly to visitors" per abilitare la compressione GZIP.
- Sotto "Expiry Time & Garbage Collection", imposta il timeout della cache. Un valore di 3600 secondi (1 ora) funziona bene per la maggior parte dei siti. I siti che raramente aggiornano i contenuti possono usare intervalli più lunghi.
Configurare LiteSpeed Cache (Gratuito, migliore per server LiteSpeed)
Se il tuo provider di hosting esegue il server web LiteSpeed o OpenLiteSpeed, questo plugin offre il caching a livello di server che è più veloce di qualsiasi soluzione basata su PHP:
- Installa LiteSpeed Cache dalla directory dei plugin.
- Vai su LiteSpeed Cache > Cache e assicurati che l'interruttore principale della cache sia abilitato.
- Lascia "Cache Logged-in Users" disabilitato a meno che tu non abbia un sito di membership dove gli utenti loggati vedono gli stessi contenuti.
- Sotto "Cache > TTL", mantieni i valori predefiniti. Il TTL della cache pubblica di 604800 secondi (7 giorni) è appropriato per la maggior parte dei siti.
- Vai su Page Optimization. Abilita CSS Minify, JS Minify e CSS/JS Combine. LiteSpeed Cache gestisce queste operazioni a livello di server, quindi sono più veloci e più affidabili rispetto alle alternative basate su plugin.
- Abilita "QUIC.cloud CDN" per un'opzione CDN gratuita se il tuo sito ha traffico moderato.
Nota: LiteSpeed Cache funziona anche su server Apache e Nginx, ma solo le funzionalità di ottimizzazione della pagina sono disponibili. Il caching a livello di server richiede un server web LiteSpeed.
Cosa escludere dalla cache
Non tutte le pagine dovrebbero essere memorizzate nella cache. Le pagine dinamiche che mostrano contenuti diversi per utente o per sessione si rompono quando vengono servite dalla cache. Ecco le esclusioni più importanti:
- Pagine WooCommerce: Le pagine del carrello, del checkout e dell'account dovrebbero essere escluse. La maggior parte dei plugin di caching rileva WooCommerce e aggiunge automaticamente queste esclusioni, ma ricontrolla sotto le impostazioni di esclusione.
- Pagine per utenti loggati: Disabilita il caching per gli utenti loggati a meno che il contenuto del tuo abbonamento non sia identico per tutti i membri. La memorizzazione nella cache di dashboard personalizzate mostra i dati di un utente a un altro.
- Endpoint REST API: Le risposte API non dovrebbero essere servite dalla cache delle pagine, poiché sono in genere dinamiche. La maggior parte dei plugin esclude il percorso
/wp-json/per default. - Pagine di conferma dei moduli: Se i tuoi moduli reindirizzano a una pagina "grazie" con contenuto dinamico, escludi quell'URL.
- Pagine con dati in tempo reale: Quotazioni di borsa, punteggi live o altri contenuti che cambiano frequentemente dovrebbero bypassare la cache.
Preloading e warming della cache
Una cache fredda significa che il primo visitatore dopo una pulizia o scadenza della cache deve aspettare la generazione di una pagina fresca. Il preloading della cache risolve questo visitando automaticamente le tue pagine in background per costruire la cache prima che arrivino i visitatori reali. WP Rocket chiama questa funzione "Preload Cache", W3 Total Cache la chiama "Cache Preload" e LiteSpeed Cache include un crawler integrato. Abilita il preloading in modo che gli URL basati sulla tua sitemap siano sempre caldi e pronti per essere serviti.
Come testare l'efficacia della cache
Dopo aver configurato il tuo plugin di caching, verifica che funzioni correttamente:
- Apri una finestra del browser in incognito/privata (per evitare che i cookie di login bypassino la cache).
- Carica il tuo sito e visualizza il sorgente della pagina. La maggior parte dei plugin di caching aggiunge un commento HTML in fondo, qualcosa come
<!-- This page is cached by WP Rocket -->o<!-- Page generated by LiteSpeed Cache -->. - Misura il tuo TTFB prima e dopo il caching. Usa gli strumenti di sviluppo del tuo browser (scheda Network) o un servizio come webpagetest.org. Una pagina memorizzata nella cache dovrebbe avere un TTFB inferiore a 200ms su un hosting decente. Senza caching, il TTFB sull'hosting condiviso supera spesso gli 800ms.
- Esegui un load test con uno strumento come Loader.io o k6 per confermare che il tuo server può gestire più visitatori contemporanei con il caching abilitato.
Svuotare la cache dopo gli aggiornamenti
Ricorda di svuotare la tua cache dopo aver apportato modifiche al tuo sito. Questo include la pubblicazione di nuovi articoli, l'aggiornamento di plugin o temi, la modifica di menu o widget e la regolazione delle impostazioni del tema. La maggior parte dei plugin di caching svuota automaticamente la cache quando pubblichi o aggiorni contenuti, ma le modifiche ai file del tema, alle impostazioni dei plugin o al CSS personalizzato possono richiedere una pulizia manuale della cache. Troverai un pulsante "Clear Cache" o "Purge All" nella barra degli strumenti di amministrazione o nelle impostazioni del plugin.
Verifica il caching con InspectWP
Dopo aver configurato il tuo plugin di caching, esegui una nuova scansione InspectWP. La sezione WordPress rileva il tuo plugin di cache attivo. Controlla la sezione delle prestazioni per miglioramenti nel TTFB e nella codifica dei contenuti (GZIP o Brotli). Se il plugin di cache non viene rilevato, assicurati che sia attivato e che la pagina che stai scansionando non sia esclusa dal caching.