Yüklenmeyi bitirmiş gibi görünen bir web sitesine girdiğinizde, öğelerden herhangi birine tıkladığınızda, bir süre yanıt alamadığınız oldu mu? İlk düşünceniz, web sitesinin bozuk olduğu ya da internetinizde bir sorun olduğu yönünde olabilir.

Fakat sebep ikisi de değilse, az önce deneyimlediğiniz şeye “Total Blocking Time” denir. Total Blocking Time (TBT), Google’ın PageSpeed Insights’ındaki (PSI) puanınız için en önemli ölçümdür (LCP ile birlikte).

Total Blocking Time (TBT) Nedir?

Toplam Engelleme Süresi yani Total Blocking Time (TBT), bir web sayfasının yükleme sırasında kullanıcı girdisine yanıt vermemesini ölçen bir web performans metriğidir. Lighthouse v.8’e göre bu metrik, web sitenizin toplam performansının %30’unu oluşturur.

Bir kullanıcı bir web sitesine istekte bulunduğunda, tarayıcı HTML‘yi ayrıştırmak, DOM’i oluşturmak, CSS, Javascript ile her bir öğenin stilini yürütmek ve sayfanın kullanıcının görünüm alanında görüntülenmesini sağlayan diğer temel görevleri yürütmek için ana iş parçacığını kullanır.

Herhangi bir noktada, uzun bir görev meydana gelirse, ana iş parçacığı bloke olur. Bu olduğunda, tarayıcı görevi durduramaz veya kesintiye uğratamaz ve tamamlanana kadar kullanıcı girişine yanıt verilmez.

Bu ölçüm, First Contentful Paint (FCP) ve Time to Interactive (TTI) arasındaki tüm uzun görevlerin toplamını bularak yapılır.

İdeal Total Blocking Time (Toplam Engellenme Süresi) Puanı Nedir?

İdeal bir total blocking time süresi, 300 ms’nin altındaki herhangi bir süredir. Bu süre 300 ila 600 ms arasındaysa, iyileştirmeye ihtiyaç vardır. Kötü bir toplam engelleme süresi 600 ms’dir ve web siteniz bu durumdaysa, hemen gerekli düzeltmeleri yapmanız gerekir.

TBT Nasıl Hesaplanır?

TBT’yi ölçmek, FCP ve TTI’nin iki belirli zamanlama noktası arasında, tarayıcı CPU işlemesinin gözlemlenmesini gerektirdiğinden karmaşık bir işlemdir. TBT daha sonra 50 ms’den uzun süren tüm CPU işleme görevlerinin toplanmasıyla hesaplanır.

Sunucu Seçimi ile TBT Arasındaki İlişki

Sunucu, sitenizin hızında ve performansında çok önemli bir rol oynar. Sunucuya site üzerinden gelen paralel isteklerin sayısı ve sunucunun cevap süresi, SSD ya da NVME harddisk kullanımı ve memcache özelliği açık hale getirildiğinde de; yanıt süresini daha da azaltır. Paylaşımlı hosting de firmalar bu özelliği açmayabilir. 

Şu anda paylaşımlı bir hosting planındaysanız, artan TTFB’yi deneyimlemenizin nedeni bu olabilir. Paylaşımlı hosting planları, yüksek bir trafiğe sahip web sitelerin yönetimi için genellikle yetersiz kaynaklara sahiptir. TBT’yi pozitif etkileyen faktörler; CPU, RAM ve disk seçimidir.

Total Blocking Time (TBT) Neden Önemlidir? 

Largest Contentful Paint ve Cumulative Layout Shift ile birlikte TBT, üç temel Google Web Vital ölçümünden biridir.

TBT’nin, dönüşüm ve hemen çıkma oranıyla ilgili olarak kullanıcı deneyimini doğrudan etkilediği kabul edilir.

Web sitenizi ziyaret eden bir ziyaretçi, telefonuna veya masaüstüne bir web sayfası yüklediğinde ve ardından onunla etkileşime geçmeye çalıştığında, istekleri geciktiğinde hayal kırıklığına uğrayabilir.

TBT süresi çok uzunsa, web sayfası yanıt vermiyor olarak kabul edilir. Bu daha sonra Google tarafından sıralama süreçlerinde cezalandırılmalara neden olabilir. TBT, kontrollü test koşullarında ölçülen ve “Lab testi” olarak adlandırılan bir ölçümdür, ancak First Input Delay (FID) ile yakından ilişkilidir ve iyileştirilmesinin FID için faydalı olduğu kabul edilir. 

FID, tıklamalar veya dokunmalar gibi farklı eylemlerden sonraki gecikmeyi ölçer. Kaydırma ve yakınlaştırmalar bu ölçümü tetiklemez. 

Belirli bir zamanda girdi sağlamak için gerçek bir kullanıcı gerektirir. Girdi yoksa, ölçülecek hiçbir şey yoktur ve farklı zamanlarda aynı butona tıklayan bir kullanıcı, ana iş parçacığında hangi görevlerin yürütüldüğüne bağlı olarak farklı bir sonuç üretecektir.

TBT ve FID, her ikisi de FCP ve TTI arasında gerçekleşir ve ana iş parçacığındaki uzun süreli görevler onlara önemli ölçüde zarar verebilir.

Ayrıca hem FID hem de TBT, bir sayfadaki yanıtsızlığın ciddiyetini ölçer. Aradaki fark, TBT’nin bunu kullanıcı girişi olmadan ölçmesidir. Sadece her uzun süreli görev için engelleme süresini bir araya getirir.

Bu nedenle, her ikisine de bakmak, bir sayfanın etkileşiminin uzun süreli görevlerden ne kadar etkilendiğinin net bir resmini verir. FID ve TBT çok benzer olduğundan, ikisi de genellikle aynı JavaScript sorunlarından etkilenir.

Total Blocking Time Nasıl Ölçülür? 

Toplam engelleme sürenizi ölçmenin en iyi yolu, ana iş parçacığında meydana gelen uzun görevleri belirlemektir. Tüm bu görevlerin toplamı, TBT’nizi oluşturan şeydir. TBT’nizi ölçmenin iki yolu vardır: Laboratuvar ya da saha araçları. TBT’nizi ölçmek için kullandığınız araca bağlı olarak, neredeyse benzer sonuçlar alırsınız, ancak her araç farklı çalışır.

Lab Tools ile, web sayfasının TBT puanını, yükleme süresi boyunca olduğu gibi alırsınız.

Laboratuvar araçları örnekleri aşağıdakileri içerir:

  • WebPage Test
  • ChromeDev Tools
  • Lighthouse

Saha araçları ile sonuçlar, sayfadayken gerçek kullanıcı deneyimlerine dayanır.

Saha araçları örnekleri aşağıdakileri içerir:

  • PageSpeed Insights
  • Chrome User Experience Report 
  • Search Console (Core Web Vitals Report)
  • GTmetrix

Total Blocking Time (TBT) Optimizasyonu Nasıl Yapılır?

1. CPU etkinliğinin nedenini belirleyin

Chrome DevTools gibi bir araçta CPU zaman çizelgesi kaydına bakın. Kodunuzun hangi bölümleri uzun görevlere neden oluyor belirleyin.

2. Üçüncü taraf komut dosyalarını inceleyin

Sohbet widget’ları veya A/B test araçları gibi üçüncü taraf kodlar, sayfanıza büyük miktarda CPU işleme ekleyebilir. Bazılarının kaldırılıp kaldırılamayacağını veya gerektiğinde yüklenip yüklenmeyeceğini düşünün.

3. Uzun görevleri bölün

Tüm JavaScript güncellemelerini bir arada çalıştırmak yerine, işi aşamalar halinde yapmayı planlayın.

Örneğin, bir grafik ve harita oluşturuyorsanız, önce grafiği oluşturabilir ve ardından haritayı oluşturmadan önce 50 ms bekleyebilirsiniz. Bu şekilde kullanıcı girdisi, iki oluşturma adımı arasındaki boşlukta işlenebilir ve sayfa boyunca yanıt vermeye devam eder.

4. Kodunuzu hızlandırın

Engelleme süresini azaltmanın bir yolu da, JavaScript kodunuzun daha hızlı çalışmasını sağlamaktır. Bu yalnızca TBT’yi iyileştirmekle kalmaz, aynı zamanda sayfanızın genel olarak daha hızlı yüklenmesini de sağlar.

Yavaş Sunucu Yanıt Süresi Ne Demektir?

Sunucu Yanıt Süresi (SRT), bir web istemcisinin bir istekte bulunması (örneğin, bir bağlantıya tıklamak veya adres çubuğuna bir URL girmek) ile sunucunun bu isteğe yanıt vermesi arasındaki süredir.

İyi bir SRT ve hız için optimize edilmiş bir site ile web siteniz neredeyse anında yükleniyormuş gibi görünür. İyi bir SRT’ye sahip değilseniz, sayfanın yüklenmesi daha uzun sürer, bu da kullanıcı deneyimine ve nihayetinde arama motoru sıralamalarına zarar verebilir.

SRT, Time to First Byte (TTFB) olarak bilinen bir birimde ölçülür. TTFB, HTTP istemcisinin isteğini yapması ile ilk veri baytını alması arasındaki süreyi ölçer. Milisaniye cinsinden ölçülür.

  • SRT 100 ms’den daha hızlıysa, mükemmeldir.
  • 100 – 200 ms iyidir. Google PageSpeed Insights, SRT’nizi 500 ms’nin altında tutmanızı önerir.
  • 200 ms –1 saniye kabul edilebilir, ancak iyileştirme yapmanız gerekir.
  • 1 saniyenin üzerindeki herhangi bir SRT, yavaş sunucu yanıt süresi olarak kabul edilir.

WordPress Siteler için TTFB Optimizasyonu Nasıl Yapılır? [BONUS]

WordPress siteler için TTFB’yi nasıl optimize edeceğinize dair bazı ipuçlarını aşağıda bulabilirsiniz:

1. Önbelleğe Alma Özelliğini Kullanın

WordPress sitenizde halihazırda bir önbelleğe alma mekanizmanız yoksa, TTFB’yi azaltmak için bunu dikkate almanız gerekir. Önbelleğe alma, sitenizin sunucusundaki yükü azaltır ve verilerin daha hızlı iletilmesine ve görüntülenmesine olanak tanır.

Bir WordPress kullanıcısı olarak, WordPress web sitenizde önbelleğe almayı kollaylaştırmanın birçok yolu vardır. En kolay yöntemlerden biri, W3 Total Cache, Fastest Cache veya WP Rocket gibi bir önbelleğe alma eklentisi kullanmaktır.

2. Bir İçerik Dağıtım Ağından (CDN) Yararlanın

Bir CDN site hızını artırmaya ve TTFB’yi düşürmeye yardımcı olabilir. CDN, sitenizin her ziyaretçinin konumuna en yakın veri merkezinden yüklenmesini sağlayan, dünya çapında bulunan dağıtılmış sunuculardan oluşan bir ağdır. Bu, WordPress sitenizin daha hızlı yüklenmesine olanak tanır.

WordPress sitenizde CDN kullanma seçenekleriniz, web barındırıcınıza bağlı olarak değişecektir. Örneğin, bazı planlar yerleşik CDN özellikleriyle gelirken, diğerlerinde kullanabileceğiniz CDN eklentileri veya hizmetleriyle ilgili kısıtlamalar vardır.

Sunucu yanıt sürelerini azaltmak için en popüler CDN seçenekleri; Cloudflare, Medianova ve Maxcdn’dir.

3. WordPress Veri tabanınızı Optimize Edin

WordPress sayfaları, yüklenmesi genellikle statik metin dosyalarından daha uzun süren dinamik dosyalardan oluşur. Bu dosyaları barındıran WordPress veri tabanı aşırı derecede şişmişse, sitenizin TTFB’sini artırabilir.

WordPress veri tabanınızı optimize ederek bu ağırlığın bir kısmını azaltabilirsiniz. Bunu yapmanın en hızlı ve en kolay yolu, Autoptimize gibi bir araç kullanmaktır.

Bu, aşağıdakiler için kullanabileceğiniz ücretsiz bir WordPress eklentisidir:

  • Önbellek komut dosyalarını ve stillerini küçültmek
  • Görüntüleri optimize etmek
  • HTML’yi küçültmek

4. Premium Alan Adı Sistemi (DNS) Sağlayıcısı Kullanın

DNS arama süreleri de TTFB’yi optimize etmede rol oynar. Bu nedenle, TTFB’yi azaltmaya ve sunucu yanıt sürelerini iyileştirmeye çalışıyorsanız, ücretsiz bir çözüm yerine Amazon Route 53 gibi premium bir DNS sağlayıcısı kullanmak size yardımcı olabilir.

Birçok web sitesi bakım ve yönetim aracında olduğu gibi, bir DNS’nin premium sürümleri genellikle ücretsiz seçeneklerden daha iyi performans sağlar. CDN’lere benzer şekilde, premium bir DNS dünya genelinde çeşitli sunucu konumlarına sahip olacaktır ve genellikle size daha büyük bir ağa daha iyi erişim sağlayacaktır.

5. Gereksiz Eklentileri Silin

Tıpkı WordPress veri tabanınızı optimize ederken olduğu gibi, sitenizi olabildiğince hafif tutmak da TTFB’yi azaltmaya ve genel performansı artırmaya yardımcı olabilir. Gereksiz ağırlığı ortadan kaldırmak için web sitenizde yüklü olan kullanılmayan veya gereksiz eklentileri silebilirsiniz.

Çok fazla eklenti sitenizi yavaşlatabilir, eklenti çakışmalarına neden olabilir ve sunucu yanıt sürelerini artırabilir. Bu nedenle, web sitenize hangi eklentileri yüklediğiniz konusunda seçici olmanız ve bunları düzenli olarak güncellediğinizden emin olmanız gerekir. Artık belirli bir eklentiye ihtiyacınız yoksa, devre dışı bırakmak ya da sitenizden tamamen silmeniz gerekir. Bu, gereksiz şişkinliği en aza indirecek ve daha yalın bir web sitesi oluşturacaktır.

6. WordPress Hosting’inizi Yükseltin

Hosting sağlayıcınız, sitenizin hızında ve performansında çok önemli bir rol oynar. Bu nedenle, yavaş yükleme sürelerinden ve sorunlu bir TTFB’den muzdaripseniz (ve yukarıda belirtilen ipuçları yardımcı olmadıysa), farklı bir ana bilgisayara geçmeyi veya en azından planınızı yükseltmeyi düşünmenin zamanı gelmiş olabilir.

Şu anda paylaşımlı bir hosting planındaysanız, artan TTFB’yi deneyimlemenizin bir nedeni bu olabilir. Paylaşımlı hosting planları, her siteyi olabildiğince hızlı hale getirmek için gereken ekipman ve gücü bir yana, yoğun trafiğe sahip sitelerin yönetimi için genellikle yetersiz kaynaklara sahiptir.

Bu nedenle, TTFB’yi azaltmak için paylaşımlı hosting’den yönetilen WordPress hosting’e yükseltme yapmanızı öneririz.