Co to jest TTFB?
Jeśli testujesz swoją stronę w Google PageSpeed Insights, na pewno natknąłeś się na komunikat: „Zredukuj początkowy czas odpowiedzi serwera” (ang. Reduce initial server response time). To właśnie sygnał, że parametr TTFB wymaga poprawy. TTFB, czyli Time to First Byte, to jeden z najważniejszych wskaźników wydajności, na który zwracają uwagę zarówno roboty Google, jak i użytkownicy. Obrazuje on czas, jaki upływa od wysłania żądania do serwera do momentu otrzymania pierwszego bajtu danych – zanim jeszcze strona zacznie się ładować.
W tym artykule pokażemy Ci
- Co to jest TTFB?
- Jak TTFB działa na szybkość strony WWW?
- Jak sprawdzić TTFB?
- Jak poprawić wynik TTFB?
Co to jest TTFB?
TTFB (Time to First Byte) to miara czasu, jaki mija od momentu, gdy użytkownik zażąda strony, do chwili, gdy jego przeglądarka otrzyma pierwszy bajt danych z serwera. To nie jest czas pełnego załadowania strony – chodzi o sam początek odpowiedzi. Ten wskaźnik obejmuje:
- czas DNS lookup,
- nawiązanie połączenia TCP/SSL,
- czas przetwarzania żądania po stronie serwera,
- i czas, jaki serwer potrzebuje, by wygenerować odpowiedź.
W praktyce, TTFB to pierwszy moment, kiedy coś zaczyna się dziać – przeglądarka wie, że serwer żyje i zaczyna zwracać dane. Jeśli trwa to zbyt długo, użytkownik czuje opóźnienie jeszcze zanim cokolwiek zobaczy.
---
Jak TTFB działa na szybkość strony WWW?
TTFB to pierwszy wąski gardło, które użytkownik napotyka jeszcze przed jakąkolwiek interakcją z treścią strony. Długi czas oczekiwania na pierwszy bajt skutkuje:
- opóźnionym ładowaniem całej strony,
- niższą oceną w PageSpeed Insights (Web Vitals),
- negatywnym wpływem na SEO, bo Google zwraca uwagę na opóźnienia przy indeksowaniu.
Dla Googlebotów, długie TTFB oznacza: „ten serwer jest powolny, może nie warto indeksować wszystkiego za jednym razem”. Dla użytkownika: „strona muli, idę gdzie indziej”.
Szczególnie krytyczne w e-commerce: opóźnienia przy ładowaniu koszyka, checkoutu czy filtrów produktowych – wszystkie te elementy mogą być spowolnione przez wysoki TTFB.
Jak sprawdzić TTFB?
Najczęściej wskazuje się narzędzia z poniższej listy:
- Google PageSpeed Insights – sekcja Reduce initial server response time. Jeśli TTFB przekracza 600 ms, pojawi się ostrzeżenie.
- WebPageTest.org – pokazuje dokładny czas TTFB oraz waterfall request.
- Chrome DevTools (F12 → Network) – klikając na pierwszy request (np.
document), można podejrzeć wartość TTFB w zakładce „Timing”.
Warto testować w różnych porach dnia i lokalizacjach – hosting współdzielony potrafi mieć gorsze wyniki w godzinach szczytu.
Jak poprawić wynik TTFB?
To, co podkreślamy wielokrotnie: TTFB to nie problem front-endu. Optymalizacja obrazków czy lazy loading tu nic nie pomoże. Trzeba zejść poziom niżej, do back-endu i infrastruktury. Oto konkretne techniki:
1. Serwer LiteSpeed + LSCache
LiteSpeed Cache pozwala buforować dynamiczne strony (również dla zalogowanych użytkowników). To jedno z niewielu rozwiązań, które realnie skracają TTFB do 50–100 ms nawet dla WooCommerce. Apache czy Nginx bez warstwy cache dają dużo gorsze wyniki.
2. Pełna cache’yzacja HTML + ESI
Strona powinna być serwowana z cache, a jej dynamiczne fragmenty (np. koszyk, wishlisty) generowane przez ESI (Edge Side Includes). To technika dostępna m.in. w LSCache, omówiona szczegółowo w dokumentach.
3. Optymalizacja zapytań SQL i PHP
TTFB często wydłuża się przez:
- nadmiar zapytań do bazy danych,
- nieefektywne zapytania (np. brak indeksów),
- zbyt wiele wtyczek uruchamianych na każdej podstronie.
W jednym z filmów autorzy zredukowali liczbę zapytań z 108 do 17 i osiągnęli poprawę TTFB o 300–400 ms.
4. CDN (Cloudflare, QUIC.cloud)
CDN może przechować w cache statyczne wersje HTML, a także obsłużyć DNS i TLS handshake – skracając czas żądania do serwera. Gdy testowaliśmy testowano Cloudflare i QUIC.cloud – oba rozwiązania poprawiały wynik PageSpeed.
5. Zmiana hostingu / infrastruktury
Jeśli powyższe zawiodą, prawdopodobnie problemem jest zbyt wolny hosting współdzielony. Niektóre testy wskazywały na osiąganie 100/100 w PSI nawet na tanim hostingu, ale tylko wtedy, gdy serwer był odpowiednio skonfigurowany i strona dobrze zcache’owana.