Come ridurre il tempo di risposta del server WordPress (TTFB)
Il TTFB (Time To First Byte) misura il tempo che passa tra la richiesta del browser e il primo byte di risposta dal server. È uno dei Core Web Vitals più importanti per Google e un indicatore diretto delle prestazioni del tuo server. Un TTFB alto significa che il server impiega troppo tempo a elaborare la richiesta prima ancora di iniziare a inviare la pagina. In questa guida ti mostro come ridurre il TTFB del tuo sito WordPress con interventi concreti e misurabili.
Cos’è il TTFB e come misurarlo
Il TTFB include tre componenti: il tempo di connessione al server, il tempo di elaborazione della richiesta (esecuzione PHP e query al database) e il tempo di trasmissione del primo byte di risposta. Google considera un TTFB sotto i 200ms come buono, tra 200 e 500ms come da migliorare, e sopra i 500ms come scarso.
Puoi misurare il TTFB del tuo sito in diversi modi:
- PageSpeed Insights: cerca la voce “Tempo di risposta iniziale del server” nella sezione diagnostica.
- GTmetrix: il TTFB appare nei dettagli del waterfall della pagina.
- Chrome DevTools: apri gli strumenti sviluppatore (F12), vai nella tab Network, ricarica la pagina e clicca sulla prima richiesta. Il “Waiting (TTFB)” mostra il tempo di attesa.
- WebPageTest: offre il test più dettagliato con la possibilità di scegliere la località del server di test.
Misura il TTFB da diverse località geografiche. Se il sito è ospitato in Europa ma il TTFB è alto solo per visitatori americani, il problema è la distanza geografica e la soluzione è un CDN.
La causa principale: hosting inadeguato
La causa più frequente di un TTFB alto è un hosting non all’altezza. Su hosting condivisi economici, il tuo sito condivide CPU, RAM e disco con centinaia di altri siti. Quando il server è sotto carico, le prestazioni di tutti i siti ospitati degradano. Se il TTFB del tuo sito supera costantemente i 500ms anche con pochi visitatori, l’hosting è probabilmente il collo di bottiglia.
Le opzioni per migliorare la situazione sono:
- Hosting WordPress gestito: provider come Kinsta, Cloudways o SiteGround utilizzano infrastrutture ottimizzate per WordPress con cache a livello server, PHP aggiornato e risorse dedicate.
- VPS (Virtual Private Server): risorse dedicate e garantite a un costo contenuto. Richiede competenze tecniche per la gestione ma offre prestazioni molto superiori all’hosting condiviso.
- Server dedicato: tutta la potenza del server è riservata al tuo sito. La soluzione migliore per siti ad alto traffico.
Aggiornare la versione di PHP
La versione di PHP ha un impatto diretto e significativo sul TTFB. PHP 8.2 e 8.3 sono drasticamente più veloci rispetto alle versioni precedenti. PHP 8.3 è fino al 300% più veloce di PHP 7.0 nell’esecuzione di WordPress.
Per verificare la versione attuale, vai su Strumenti → Salute del sito nella dashboard di WordPress e cerca “Versione PHP” nella sezione Informazioni. Se stai usando PHP 7.x o inferiore, l’aggiornamento è l’intervento singolo più efficace che puoi fare.
L’aggiornamento si effettua dal pannello del tuo hosting (Plesk, cPanel). Prima di aggiornare, verifica che i tuoi plugin e il tema siano compatibili con la nuova versione. La maggior parte dei plugin aggiornati supporta PHP 8.x, ma plugin obsoleti o abbandonati potrebbero generare errori. Testa sempre su un ambiente di staging prima di aggiornare in produzione.
Attivare OPcache
OPcache è un’estensione PHP che memorizza il bytecode compilato degli script PHP nella memoria del server. Senza OPcache, PHP deve compilare ogni file .php a ogni richiesta. Con OPcache attivo, la compilazione avviene una sola volta e le richieste successive usano il codice già compilato, riducendo significativamente il tempo di elaborazione.
Sulla maggior parte degli hosting moderni, OPcache è già attivo. Per verificare, controlla la pagina phpinfo() o usa il plugin Query Monitor che mostra lo stato di OPcache nella sezione Environment. Se non è attivo, puoi abilitarlo dal pannello hosting o aggiungendo queste righe al file php.ini:
opcache.enable=1 opcache.memory_consumption=256 opcache.max_accelerated_files=10000 opcache.revalidate_freq=60
Ottimizzare il database
Un database non ottimizzato rallenta ogni query e quindi ogni pagina del sito. Con il tempo, il database accumula dati inutili: revisioni degli articoli (WordPress salva ogni modifica come revisione), commenti spam, opzioni transienti scadute, meta dati orfani e tabelle frammentate.
Per ottimizzare il database:
- Installa il plugin WP-Optimize (gratuito).
- Nella sezione Database, esegui: pulizia delle revisioni (conserva solo le ultime 2-3), rimozione dei commenti spam e cestinati, pulizia delle opzioni transienti scadute, ottimizzazione delle tabelle.
- Configura la pulizia automatica settimanale.
- Limita le revisioni future aggiungendo in wp-config.php: define(‘WP_POST_REVISIONS’, 3);
Su siti con WooCommerce, il database può contenere anche sessioni scadute, log delle azioni e dati transienti dei carrelli abbandonati. Pulisci regolarmente anche questi dati.
Ridurre il carico dei plugin
Ogni plugin attivo aggiunge codice PHP che viene eseguito a ogni richiesta, anche se il plugin non è necessario in quella pagina. Troppi plugin o plugin mal ottimizzati sono una causa frequente di TTFB alto.
Per identificare i plugin più pesanti:
- Installa Query Monitor: nella sezione “Queries by Component” mostra quante query al database genera ogni plugin e quanto tempo impiegano.
- Nella sezione “PHP Errors” mostra avvisi e errori che rallentano l’esecuzione.
- Verifica il numero totale di query: un sito WordPress ottimizzato dovrebbe avere meno di 50 query per pagina. Se ne hai più di 100, qualcosa non va.
Le azioni da prendere: disattiva i plugin che non usi, sostituisci i plugin pesanti con alternative più leggere e usa un plugin come Asset CleanUp per impedire il caricamento di CSS e JS di plugin che non servono in pagine specifiche.
Implementare la cache a livello server
La cache a livello server è molto più efficace della cache gestita da plugin PHP. Le opzioni principali sono:
- Nginx FastCGI Cache: se il server usa Nginx, questa cache serve le pagine direttamente dalla memoria senza avviare PHP. Il TTFB può scendere sotto i 50ms.
- Redis Object Cache: memorizza i risultati delle query al database nella RAM. Riduce drasticamente il carico sul database per pagine non cacheable (wp-admin, pagine personalizzate per utente).
- Varnish Cache: un reverse proxy cache che si posiziona davanti al web server e serve le pagine dalla memoria. Molto efficace per siti ad alto traffico.
Queste soluzioni richiedono accesso alla configurazione del server (VPS o dedicato). Su hosting condivisi, la cache server è gestita dal provider e non puoi configurarla direttamente.
Usare un CDN
Un CDN (Content Delivery Network) distribuisce copie del tuo sito su server in tutto il mondo. Quando un visitatore richiede una pagina, viene servita dal server geograficamente più vicino, riducendo la latenza di rete che contribuisce al TTFB.
Cloudflare è il CDN più popolare e offre un piano gratuito con cache delle risorse statiche, protezione DDoS e ottimizzazione automatica. Il piano Pro (20$/mese) aggiunge la cache delle pagine HTML e ottimizzazioni aggiuntive. In alternativa, BunnyCDN offre prestazioni eccellenti a costi basati sul consumo effettivo.
Per i siti con pubblico prevalentemente italiano, se il server è già in Italia o in Europa il vantaggio del CDN sul TTFB è minore. Il CDN resta utile per scaricare risorse statiche (immagini, CSS, JS) dal server principale e per la protezione DDoS.
Vuoi un sito WordPress più veloce?
Ridurre il TTFB richiede spesso interventi su più livelli: hosting, PHP, database, plugin e cache server. Ogni sito ha colli di bottiglia specifici che vanno identificati con un’analisi dedicata. Il team di SoccorsoWP può eseguire un audit completo delle prestazioni del tuo sito, identificare le cause del rallentamento e implementare le ottimizzazioni necessarie per portare il TTFB sotto i 200ms. Apri un ticket e fai volare il tuo sito.