Performance e cache: come velocizzare un sito WordPress

Cache, lazy load, GZIP, ottimizzazione JS e immagini: la guida pratica per ridurre i tempi di caricamento e migliorare i Core Web Vitals di WordPress.

WordPress6 min

Un sito WordPress lento perde traffico, conversioni e posizionamento. Google da anni considera la velocità un fattore di ranking e i Core Web Vitals sono diventati la metrica di riferimento. La buona notizia è che la maggior parte dei problemi di performance si risolve con un set di interventi standard: cache, ottimizzazione immagini, gestione di JS e CSS.

In questa guida vediamo cosa fare in ordine di impatto, quali strumenti usare e cosa evitare per non rompere il sito (in particolare su WooCommerce).

I tre livelli di cache

1. Cache di pagina

Il browser di chi visita il sito non chiede ogni volta a WordPress di rigenerare la pagina: riceve una versione HTML statica già pronta, salvata dal plugin di cache. Questo elimina query al database e riduce il TTFB anche del 70-80%.

Plugin più diffusi:

  • LiteSpeed Cache (gratis, richiede server LiteSpeed): il più potente sul suo stack
  • WP Rocket (a pagamento): il più semplice, configurazione "one-click"
  • W3 Total Cache (gratis): potente ma con curva di apprendimento ripida
  • WP-Optimize (freemium): buon compromesso, include ottimizzazione DB

2. Cache del browser

Le risorse statiche (immagini, CSS, JS, font) vengono salvate nel browser dell'utente per giorni o mesi: alla seconda visita il sito si carica quasi istantaneamente. Si attiva con header HTTP Cache-Control e Expires. Tutti i plugin sopra lo configurano automaticamente.

3. Cache lato server (object cache)

Per siti complessi (e-commerce, membership, magazine ad alto traffico) la cache di pagina non basta: anche le query al database vanno cachate. Si usa Redis o Memcached lato server. Va attivato dall'hosting o dal plugin (LiteSpeed e WP Rocket lo gestiscono se disponibile).

Compressione: GZIP e Brotli

Il server può comprimere CSS, JS e HTML prima di inviarli al browser, riducendo il peso del 70-80%. GZIP è universalmente supportato; Brotli (più recente) comprime meglio ma serve un server compatibile.

Quasi tutti gli hosting moderni hanno GZIP attivo di default. Brotli si attiva di solito da pannello hosting o da plugin di cache. Verifica con gtmetrix.com: nel report compare la voce "Enable text compression".

Immagini: il fattore di impatto numero uno

Le immagini sono di solito il 60-80% del peso di una pagina. Ottimizzarle significa:

Compressione e formato

Plugin consigliati: ShortPixel, Imagify, Smush, EWWW Image Optimizer. Ognuno ha un piano gratuito con limiti mensili e piani a pagamento per volumi maggiori (canone annuo nell'ordine di poche decine di euro).

Cosa fanno:

  • Comprimono ogni immagine al caricamento (lossless o lossy)
  • Generano una versione WebP o AVIF servita ai browser compatibili (tutti i moderni)
  • Comprimono anche le immagini già in libreria (operazione bulk una tantum)

Dimensioni corrette

Caricare un JPG da 4000px e mostrarlo a 800px è uno spreco. WordPress genera automaticamente versioni multiple (srcset) e serve quella giusta per ogni schermo, ma se carichi originali enormi pesano comunque sul server.

Lazy loading

Le immagini sotto la "piega" vengono caricate solo quando l'utente scrolla. WordPress 5.5+ ha lazy loading nativo (loading="lazy"), tutti i plugin di cache lo estendono anche a iframe e video.

JavaScript e CSS: ridurre il render-blocking

Quando il browser incontra un file JS o CSS che blocca il rendering, deve scaricarlo e processarlo prima di mostrare la pagina. Risultato: schermo bianco per 1-2 secondi.

Le ottimizzazioni standard:

  • Defer/async per JS non critico: caricato in parallelo, eseguito dopo il rendering
  • Minify CSS e JS: rimuove spazi e commenti, riduce peso del 20-30%
  • Combine CSS/JS (con cautela): unisce più file in uno, riduce le richieste HTTP. Su HTTP/2 e HTTP/3 è meno utile e a volte peggiora
  • Eliminate unused CSS: rimuove CSS non usato dalla pagina specifica (gestito da plugin avanzati)
  • Critical CSS: estrae il CSS necessario per la prima vista e lo inserisce inline

WP Rocket e LiteSpeed Cache hanno tutte queste opzioni. Attivale una alla volta e testa: alcune possono rompere effetti grafici o slider.

Database e housekeeping

Un database WordPress accumula revisioni di articoli, transient scaduti, commenti spam, dati di plugin disinstallati. Periodicamente:

  • Elimina revisioni vecchie (mantieni le ultime 3-5)
  • Pulisci transient scaduti
  • Rimuovi tabelle di plugin disinstallati
  • Ottimizza tabelle con OPTIMIZE TABLE

Plugin come WP-Optimize automatizzano queste operazioni con uno scheduler.

CDN e hosting

Se il sito ha utenti distribuiti geograficamente, una CDN serve i file statici dal server più vicino all'utente. Cloudflare è la scelta più popolare (piano gratuito generoso). Per immagini molto pesanti, Bunny.net e KeyCDN offrono ottimi rapporti qualità/prezzo.

L'hosting resta il primo collo di bottiglia. Hosting condivisi a 30 €/anno reggono siti vetrina semplici; per WooCommerce o traffico oltre alcune migliaia di visite/giorno serve hosting dedicato WordPress (SiteGround, Kinsta, WP Engine, Cloudways, hosting italiani specializzati).

Errori comuni

  • Due plugin di cache attivi: si conflittano e rallentano il sito.
  • Cache attiva sul checkout WooCommerce: clienti vedono carrelli di altri. Verifica le esclusioni.
  • Combine JS aggressivo: rompe Google Maps, slider, form. Disattiva e prova senza.
  • WebP servito a browser non compatibili: ormai raro, ma verifica con strumenti tipo webpagetest.org.
  • Immagini originali da 5 MB: nessuna ottimizzazione recupera questo errore. Comprimi all'origine.
  • CDN che cacha pagine HTML del backend admin: rende impossibile lavorare in WordPress. Escludi /wp-admin/.

In sintesi

Velocità su WordPress è una somma di interventi: hosting decente, plugin di cache configurato bene, immagini in WebP, JS deferred, CDN se serve. Nessuno di questi singoli interventi fa miracoli, insieme portano un sito da 6 secondi di caricamento a meno di 2.

Quando consegniamo un sito, lo lasciamo già con cache configurata, immagini ottimizzate e Core Web Vitals nella zona "Buono". Se erediti un sito lento, parti dal misurare con PageSpeed Insights e affronta i suggerimenti in ordine di impatto.

Domande frequenti

L'obiettivo realistico è un Largest Contentful Paint sotto 2,5 secondi su mobile in connessione 4G, con un Time to First Byte sotto 600 ms. Su desktop puoi puntare a tempi inferiori al secondo. Sotto questi numeri Google considera il sito 'Buono' nei Core Web Vitals e l'esperienza utente è fluida. Sopra i 4 secondi cominci a perdere conversioni: ogni secondo in più di caricamento riduce sensibilmente il tasso di conversione, soprattutto su mobile.

Il prossimo passo non impegna

Mezz'ora di call per capire se possiamo esserti utili. Decidi tu dopo.

Prenota la call

Servizi correlati

I servizi di cui parla questo articolo