Quando si parla della velocità complessiva del tuo sito, spesso ci concentriamo sulle prestazioni e sulle ottimizzazioni del front-end per migliorare la velocità di caricamento delle pagine.
Tuttavia, a volte è utile considerare la questione dal punto di vista del server, da dove il tuo sito web inizia effettivamente a caricarsi.
Oggi approfondiremo in che modo il TTFB (time to first byte) influisce sul tuo sito e discuteremo alcuni semplici modi per ridurlo. Il TTFB è un fattore di prestazione spesso trascurato, ma dovrebbe essere preso in considerazione quando si testa la velocità del tuo sito.
Che cos’è il TTFB?
TTFB sta per time to first byte. In parole semplici, si tratta di una misura del tempo che il browser deve attendere prima di ricevere il primo byte di dati dal server. Più tempo ci vuole per ottenere quei dati, più tempo ci vuole per visualizzare la pagina. Un errore comune è pensare che questo valore venga calcolato dopo i tempi di ricerca DNS volte; tuttavia, il calcolo originale del TTFB in ambito di rete include sempre la latenza di rete. Si tratta di un processo in tre fasi e ritardi e latenza possono verificarsi in qualsiasi momento durante il processo, contribuendo al TTFB totale.

1. Richiesta al server
Quando qualcuno visita il tuo sito web, la prima cosa che accade è l’invio di una richiesta HTTP dal client (browser) al server. In questa fase, esistono diversi fattori che possono causare ritardi.
Tempi lenti di ricerca DNS potrebbero contribuire ad aumentare il tempo di elaborazione della richiesta. Se il server si trova geograficamente lontano, ciò può introdurre latenza dovuta alla distanza che i dati devono percorrere. Inoltre, se si dispone di regole firewall complesse, ciò potrebbe aumentare il tempo di instradamento. E non dimenticare la velocità di connessione Internet del client.
2. Elaborazione da parte del server
Dopo che la richiesta è stata inviata, il server deve elaborarla e generare una risposta. Ciò potrebbe causare una serie di ritardi diversi, quali chiamate lente al database, un numero eccessivo di script di terze parti, mancata memorizzazione nella cache della prima risposta, codice o tema mal ottimizzati e risorse del server inefficienti quali I/O del disco o memoria.
3. Risposta al client
Dopo che il server ha elaborato la richiesta, deve rimandarla al client (o meglio, inviare il primo byte). Questo processo è fortemente influenzato sia dalla velocità di rete del server che da quella del client. Se il client dispone di una connessione Internet lenta da un hotspot Wi-Fi, ciò si rifletterà sul TTFB.
Il TTFB è importante?
È importante comprendere che il TTFB (time to first byte) non è la stessa cosa della velocità del sito web. Si tratta in realtà di una misura della reattività. Sul web ci sono molte discussioni sull’importanza o meno del TTFB. Alcuni sostengono che sia irrilevante (Cloudflare, LittleBizzy), mentre altri sostengono che sia importante (Ilya Grigorik, ingegnere delle prestazioni web presso Google). Entrambe le parti sollevano alcune argomentazioni valide sul perché sia o non sia importante, oltre ad alcune domande su come venga effettivamente calcolato.
Moz ha persino condotto uno studio approfondito sulla correlazione tra posizionamento nei risultati di ricerca e tempo al primo byte. Tuttavia, è difficile stabilire se questa fosse la causa o se i siti con un TTFB inferiore fossero semplicemente più veloci in generale, il che a sua volta potrebbe essere influenzato dal fattore di posizionamento di Google relativo alla velocità della pagina.
Tuttavia, piuttosto che perdere tempo a discutere se sia importante o meno, preferiamo concentrarci sulle ottimizzazioni che puoi apportare per migliorare questa metrica. Tutto ciò che fai può contribuire alla velocità complessiva del tuo sito e questo, a sua volta, influirà sul tuo TTFB. Nei nostri test, i siti con un TTFB molto più elevato si caricano semplicemente più lentamente e sembrano più lenti.
In generale, qualsiasi valore inferiore a 100 ms è ottimo e rappresenta un buon TTFB. Google PageSpeed Insights raccomanda meno di 200 ms per il tempo di risposta del server. Se ii trovi nell’intervallo 300-500 ms, si tratta di un valore piuttosto standard. Se invece superi i 600 ms, potresti avere una configurazione errata sul tuo server oppure potrebbe essere il momento di passare a uno stack web migliore. Oppure segui i nostri consigli riportati di seguito su come ridurre il tuo TTFB. E ricorda che la negoziazione SSL/TLS può anch’essa essere un fattore determinante.
Come misurare il tuo TTFB
Esistono moltissimi modi diversi per testare il tuo TTFB. Ne esploreremo un paio qui di seguito. Ma ricorda: ogni strumento fornirà risultati leggermente diversi, quindi è importante sceglierne uno e utilizzarlo come riferimento.
Misurare il TTFB con DevTools di Google Chrome
Puoi misurare il TTFB in Google Chrome avviando DevTools. Ricorda però che, se stai effettuando il test dal computer, il TTFB è influenzato dalla latenza di rete e dalla connessione Internet. Pertanto, è probabilmente più efficace utilizzare uno strumento di terze parti (come illustrato più avanti) che effettui il test da un data center.
- Seleziona “Altri strumenti” > “Strumenti di sviluppo” dal menu di Chrome.
- Fai clic con il tasto destro del mouse su un elemento della pagina e seleziona “Ispeziona”
- Utilizza le scorciatoie da tastiera Ctrl+Shift+I (Windows) o Cmd+Opt+I (Mac)
Puoi aprire la finestra “Rete” e verificare le prestazioni del tuo sito.

Misurare il TTFB con lo strumento di Geekflare
Geekflare offre una fantastica raccolta di strumenti gratuiti che puoi utilizzare per testare e risolvere i problemi del tuo sito web. Lo strumento TTFB di Geekflare è integrato nel loro strumento di audit del sito web. Puoi utilizzarlo per comprendere meglio il tuo punteggio TTFB.

Misurare il TTFB con WebPageTest
Puoi anche misurare il tuo TTFB con WebPageTest. Secondo il loro glossario, il tempo target è il tempo necessario per le negoziazioni DNS, socket e SSL + 100 ms. Per ogni 100 ms oltre il tempo target verrà sottratto un punto dal voto. Come puoi vedere nel nostro test qui sotto, questo sito ha registrato un TTFB di 0,256 s, ovvero 256 ms.

Misura il TTFB con Pingdom
Chrome e WebPageTest lo chiamano TTFB. Tuttavia, se utilizzi Pingdom, viene in realtà indicato come tempo di “attesa”. Assicurati di dare un’occhiata anche alla nostra guida approfondita su come utilizzare Pingdom.

Misura il TTFB con GTmetrix
In GTmetrix, proprio come in Pingdom, il TTFB viene indicato come “tempo di attesa”. Assicurati di dare un’occhiata anche alla nostra guida approfondita su come utilizzare GTmetrix.

Misurare il TTFB con lo strumento di KeyCDN
KeyCDN dispone di un ottimo strumento di test delle prestazioni web con cui è possibile misurare il TTFB da 14 località diverse contemporaneamente. Come si può vedere qui sotto nel nostro test, il TTFB è basso negli Stati Uniti e molto più alto all’estero. Questo perché il nostro server si trova fisicamente negli Stati Uniti. Questa è la prova che la latenza e la distanza influiscono sul TTFB.

Esistono anche altri strumenti per misurare il TTFB, come il Sucuri Performance Tool e ByteCheck. Lo sapevi? Anche Google Analytics dispone di una sezione che consente di visualizzare il tempo di risposta medio. È sufficiente cliccare su “Comportamento > Velocità del sito > Panoramica”.

4 modi per ridurre il TTFB sul tuo sito
Ora vediamo alcuni modi per ridurre il TTFB sul tuo sito.
1. Utilizzare un host veloce
Il primo modo per ridurre il TTFB è assicurarti di utilizzare un host veloce. Abbiamo confrontato il TTFB di un host condiviso di terze parti (con sede a Phoenix, in Arizona) con quello di Kinsta (con sede a Council Bluffs, in Iowa). Abbiamo utilizzato esattamente la stessa configurazione con il tema predefinito Twenty Seventeen attivo.
TTFB su hosting condiviso
In tutte le regioni, il TTFB medio è stato di 520 ms. Negli Stati Uniti e in Canada, il TTFB medio è stato di 240 ms.

TTFB di Kinsta
In tutte le regioni, il TTFB medio è stato di 412 ms. Negli Stati Uniti e in Canada, il TTFB medio è stato di 164 ms.

Quindi, semplicemente utilizzando un host più veloce, abbiamo riscontrato una riduzione del 20% del TTFB a livello globale. E una riduzione del 32% del TTFB negli Stati Uniti e in Canada.
Disporre di una buona applicazione, database e hosting WordPress gestito (come Kinsta), con un’architettura attentamente studiata, è fondamentale per ridurre il TTFB.
Questo è anche un buon motivo per scegliere con cura una sede fisicamente situata in una regione in cui si trovano i propri clienti. Se la maggior parte dei clienti si trova negli Stati Uniti, non ospitare il server in Europa (anche se un CDN può aiutare a compensare in parte questo aspetto).
2. Implementare un CDN
Un altro modo semplice per ridurre il TTFB è utilizzare un Content Delivery Network (CDN). Se hai un sito web che serve visitatori in diverse parti del paese o in tutto il mondo, questo può ridurre drasticamente il tuo TTFB. Come abbiamo visto sopra, la posizione è molto importante. Abbiamo eseguito un piccolo test per mostrare la differenza utilizzando KeyCDN come nostro provider CDN. Ogni test è stato eseguito 5 volte e ne è stata calcolata la media.
TTFB senza CDN
Abbiamo prima eseguito un test con il nostro CDN disabilitato e, come puoi vedere, il nostro tempo di caricamento totale era di 1,45 s e il nostro TTFB medio su una risorsa era di circa 136 ms.

TTFB con CDN
Abbiamo quindi abilitato il nostro CDN e ripetuto il test. Come puoi vedere, i nostri tempi di caricamento totali sono scesi a 788 ms e il nostro TTFB medio è ora di 37 ms! Che differenza può fare un CDN. Un altro aspetto importante da notare è che abbiamo scelto la località di Stoccolma per eseguire questo test. Perché? Perché volevamo mostrare il reale miglioramento che si può ottenere riducendo la distanza fisica. A Stoccolma è presente un POP del CDN, quindi i nostri contenuti vengono forniti da Stoccolma.

Nota: se utilizzi Cloudflare, potresti riscontrare un TTFB leggermente più elevato. Ciò è molto probabilmente dovuto al sovraccarico e alla complessità aggiuntivi derivanti dall’esecuzione del servizio di proxy completo. Ricorda che Cloudflare dispone di firewall aggiuntivi e altre funzionalità che alcuni provider CDN non hanno. Dovrai quindi valutare autonomamente quale soluzione possa offrirti maggiori vantaggi.
Se il tuo sito non è ottimizzato correttamente, accettare un TTFB leggermente più alto potrebbe valere la pena.
Tuttavia, potresti anche dare un’occhiata alla guida di WP Bullet sull’utilizzo della caching delle pagine con Cloudflare per ridurre il TTFB. Ciò potrebbe richiedere alcune configurazioni e test aggiuntivi. Assicurati di eseguire i tuoi test, poiché ogni ambiente è diverso.
Lettura consigliata: Come configurare Cloudflare APO per WordPress.
3. Utilizzare la cache sul sito
Un terzo metodo, e probabilmente uno dei più semplici, per ridurre il TTFB consiste nell’utilizzare la cache sul proprio sito. Molti pensano che la cache serva solo a ridurre i tempi di caricamento, ma in realtà contribuisce anche a diminuire il TTFB, poiché riduce il tempo di elaborazione del server. Abbiamo eseguito nuovamente alcuni test con e senza la cache attiva. Ogni test è stato ripetuto 5 volte e ne è stata calcolata la media.
Senza cache attiva
Abbiamo testato il sito tramite Pingdom e, senza cache attiva, il nostro sito ha registrato un tempo di caricamento di 1,17 s e un TTFB di 560 ms.

Con la cache abilitata
Abbiamo quindi abilitato la cache e sottoposto nuovamente il sito al test su Pingdom. Questa volta il nostro sito ha registrato un tempo di caricamento di 643 ms e un TTFB di 57 ms.

Quindi, abilitando la cache, siamo riusciti a ridurre il nostro TTFB di ben il 90%! Puoi leggere ulteriori informazioni sulla cache di Kinsta. Lo facciamo a livello di server , il che significa che non sono necessari plugin di caching. Se non utilizzi un hosting WordPress gestito, ti consigliamo di utilizzare un plugin di caching gratuito come Cache Enabler.
4. Utilizzare un provider DNS premium
E, ultimo ma non meno importante, anche il DNS influisce sul TTFB. È difficile calcolare con esattezza in che misura sia influenzato, ma è comunque possibile osservare i tempi complessivi di ricerca DNS e notare che esistono provider più veloci e altri più lenti. Abbiamo eseguito un paio di test con lo strumento di test della velocità SolveDNS. Ecco un esempio di un dominio che utilizza il DNS gratuito di NameCheap e i relativi tempi di risposta.
DNS gratuito di NameCheap

Di seguito è riportato un esempio che utilizza il DNS premium di Amazon Route 53. Come si può notare, in generale i tempi di ricerca DNS sono molto più rapidi con Amazon. In genere, i provider di DNS premium offrono velocità migliori. Cloudflare è un servizio gratuito che offre anch’esso ottime prestazioni.
DNS di Amazon Route 53

Assicurati di dare un’occhiata al nostro post sul perché utilizzare un provider DNS premium. Qui a Kinsta abbiamo stretto una partnership con Amazon Route 53 e il servizio è disponibile gratuitamente per tutti i clienti.
Riepilogo
Esistono numerose altre aspetti che potresti ottimizzare o correggere per ridurre il TTFB, come la cache del database, l’IO del disco, l’utilizzo dello swap, la RAM, le impostazioni PHP, quelle di MySQL, le impostazioni di rete, l’overhead TLS, ecc. Tuttavia, quelli menzionati sopra sono abbastanza semplici da implementare e ti garantiranno il miglioramento più rapido delle prestazioni. Quindi, la prossima volta che qualcuno ti chiederà come ridurre il TTFB, ricorda che un host veloce, una CDN, la cache e il DNS giocano tutti un ruolo fondamentale. Risolvere o migliorare questi colli di bottiglia sarà la soluzione giusta.
Qual è stata la tua esperienza con il TTFB? Ci piacerebbe conoscerla nei commenti qui sotto.