SEO & Pazarlama

TTFB Nedir ve Siteniz Neden Yavaş Görünüyor?

Yüksek TTFB, sunucu hızlı olsa bile kullanıcının beklediği anlamına gelir. Bu makalede ağ, sunucu ve tarayıcı sürelerini ayırmayı ve gerçekte nereyi optimize etmeniz gerektiğini öğreneceksiniz.

SEO & Pazarlama

TTFB'niz yüksek ve suçlunun kim olduğunu bilmiyorsunuz

Siteyi açıyorsunuz. Tarayıcı birkaç saniye beyaz sayfa gösteriyor ve sonra her şey bir anda yükleniyor. PageSpeed raporu TTFB'nizin 1.8 saniye olduğunu söylüyor. Geliştirici "sunucumuz hızlı" diyor, hosting yöneticisi "kodunuzda sorun var" diyor ve siz paranızı nereye harcayacağınızı bilemiyorsunuz.

Gerçek şu ki ikisi de haklı olabilir. TTFB (Time To First Byte) sadece ilk baytın tarayıcıya ulaşma süresi değildir; üç ayrı bölümün toplamıdır: ağ süresi, sunucudaki kuyruk ve işlem süresi ve yanıt oluşturma süresi. Bunları birbirinden ayırmazsanız, her optimizasyon körlemesine yapılır.

Bu makale tam da bu an için yazıldı. TTFB'yi tanımlamak için değil, birkaç komut ve belirli bir ölçüm yöntemiyle darboğazın nerede olduğunu ve hangi optimizasyonun gerçekten kullanıcının tarayıcısında görüleceğini anlamanız için.

Ağ süresini sunucu süresinden tek bir komutla ayırma

İhtiyacınız olan ilk araç curl'dur. PageSpeed Insights veya GTmetrix değil. Çünkü onlar nihai sonucu gösterir, ama burada detaylara ihtiyacımız var. Aşağıdaki komutu İran dışındaki bir sunucudan (örneğin Almanya veya Hollanda'da bir VPS) kendi sitenizde çalıştırın:

curl -o /dev/null -s -w "DNS: %{time_namelookup}s\nConnect: %{time_connect}s\nTLS: %{time_appconnect}s\nTTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" https://example.com

Çıktı şuna benzer olacaktır:

DNS: 0.042s
Connect: 0.187s
TLS: 0.351s
TTFB: 0.890s
Total: 1.240s

Şimdi sayıları yorumlayın. Connect ve TLS arasındaki fark, güvenli el sıkışma süresidir. TLS ve TTFB arasındaki fark, tam olarak istediğiniz şeydir: sunucunun ilk baytı göndermek için harcadığı süre. Bu sayı 0.5 saniyenin üzerindeyse, sorun sunucunuzda veya kodunuzdadır. Connect ve TLS yüksek ancak TTFB düşükse, sorun ağ yolundadır.

Önemli bir not: Bu testi İran içinden de çalıştırın. Harici ve dahili test sonuçları arasındaki büyük fark, yaptırım, filtreleme veya uluslararası yol kalitesi sorununu gösterir. İran içinden yapılan bu testin sonucunun, uluslararası internet yolları nedeniyle genellikle daha yüksek olduğunu unutmayın.

Burada hata yapıyorlar: Kendi sistemlerinden test yapmak

En yaygın gördüğüm hata, site yöneticisinin şirketin iç ağına bağlı kendi dizüstü bilgisayarından test yapmasıdır. Sonuç mükemmeldir, ancak Meşhed'deki mobil internet kullanan bir kullanıcı tamamen farklı bir deneyim yaşar. Test, gerçek kullanıcının bulunduğu yerden yapılmalıdır. SEO ve webmaster araçları genellikle dünyanın birkaç noktasından test yapar, ancak ilk teşhis için bu curl yeterlidir.

Sunucu süresi: En fazla optimizasyonun mümkün olduğu yer

TTFB'nizin 0.9 saniye olduğunu ve bunun 0.6 saniyesinin sunucuda işlem için harcandığını varsayalım. Bu sayı, sunucunuzun her istek için 600 milisaniye çalıştığı anlamına gelir. Önbelleksiz basit bir WordPress sayfası için bu değer olağandışı değildir. Ancak kabul edilebilir de değildir.

İlk adım, sayfa önbelleğini etkinleştirmektir. WordPress'te WP Rocket veya LiteSpeed Cache gibi bir eklenti kurun ve sayfa önbelleğini açın. Ardından TTFB'yi tekrar ölçün. Sayı 0.2 saniyenin altına düştüyse, sorun PHP işleme ve veritabanı sorgularından kaynaklanıyordu. Değilse, suçlu başka yerde.

İkinci adım, veritabanı sorgularını kontrol etmektir. MySQL kullanıyorsanız, bu komutu sunucu terminalinde çalıştırın:

mysql -u root -p -e "SHOW GLOBAL STATUS LIKE 'Slow_queries';"

Slow_queries sayısı yüksekse (saatte birkaç yüzden fazla), ağır sorguları bulmanız gerekir. WordPress'teki Query Monitor eklentisi, hangi sorgunun yavaş olduğunu ve hangi eklentinin suçlu olduğunu tam olarak gösterebilir.

Object cache'i unutmayın

Sayfa önbelleği yalnızca misafir kullanıcılar için çalışır. Giriş yapmış kullanıcı veya aktif sepet, sayfa önbelleğinden yararlanamaz. Bu durumlar için Redis veya Memcached gerekir. Sunucuya Redis kurmak ve WordPress'e Redis Object Cache gibi bir eklentiyle bağlamak, dinamik istekler için yanıt süresini %70'e kadar azaltabilir. Bu sayıyı satış kataloğundan değil, deneyimden söylüyorum.

Ağ süresi: Sorun sunucuda olmadığında

Şimdi ikinci durumu ele alalım. Harici testten TTFB 0.3 saniye, ancak İran içinden 1.2 saniye. Bu, sunucunuzun hızlı olduğu ancak İranlı kullanıcı ile sunucunuz arasındaki ağ yolunda sorun olduğu anlamına gelir. Burada hiçbir kod optimizasyonu yardımcı olmaz.

Çözümler iki kategoriye ayrılır. Birincisi, İran'da veya yakın bölgede (Türkiye, BAE) varlığı olan bir CDN kullanmak. İkincisi, siteyi İran içindeki bir sunucuya taşımak. Bu ikisi arasındaki seçim bütçenize ve ihtiyaçlarınıza bağlıdır. Kullanıcılarınız çoğunlukla İran'daysa ve siteniz yaptırıma tabi değilse, yerel sunucu daha iyi bir seçenektir. Uluslararası bir kitleniz varsa, Orta Doğu'da veri merkezi olan bir CDN daha mantıklı bir seçimdir.

DNS durumunuzu ve alan adı altyapınızı daha ayrıntılı incelemek için alan adı ve DNS teknik kontrolünü kullanabilirsiniz. Bazen sorun, kullanıcının eski IP'ye bağlanmasına neden olan yüksek DNS TTL'sidir.

Tarayıcı süresi: TTFB'nin göstermediği kısım

TTFB yalnızca ilk bayta kadar olan süreyi ölçer. Ancak kullanıcının ilk baytla işi yoktur. Sayfanın tamamen render edilmesini bekler. Bu ikisi arasında tarayıcı HTML'yi işlemeli, CSS ve JavaScript'i indirip çalıştırmalı ve görselleri yüklemelidir. Bu kısım TTFB'de görünmez, ancak LCP'de (Largest Contentful Paint) görünür.

TTFB'si mükemmel 0.1 saniye olan ancak LCP'si 4 saniyenin üzerinde olan siteler vardır. Sorun ağır JavaScript veya optimize edilmemiş görsellerdir. Bu durumlarda TTFB'ye dokunmayın. WebP ve AVIF gibi yeni formatlarla görsel optimizasyonuna gidin veya LCP sorununun kökünü bulun.

Sorunun nereden kaynaklandığını anlamak için basit bir kriter: TTFB düşük ancak sayfa geç yükleniyorsa, sorun tarayıcıdadır. TTFB yüksekse, sorun ağ veya sunucudadır. Bu basit ayrım, yanlış optimizasyon yolunun %80'ini ortadan kaldırır.

Önce hangisini azaltmalı?

TTFB'niz 0.8 saniyenin üzerindeyse, önce onu azaltın. Çünkü tarayıcıdaki diğer tüm optimizasyonlar yavaş bir temel üzerine kurulur. TTFB 0.4 saniyenin altındaysa, LCP ve CLS'ye geçin. Bu sıralamayı onlarca sitede uyguladım ve sonuç aldım.

İstisnalar da vardır. Siteniz yoğun etkileşimli bir web uygulamasıysa ve kullanıcı ilk yüklemeden sonra sayfada uzun süre kalıyorsa, INP (Interaction to Next Paint) optimizasyonu TTFB'den daha önemli olabilir. Ancak içerik ve e-ticaret sitelerinin %90'ı için yukarıdaki kural doğrudur.

Tüm hız metriklerinin kapsamlı bir incelemesi için Core Web Vitals pratik rehberini okuyun. Ayrıca yeni başladıysanız, site hızını artırma tam rehberi adım adım yolu gösterir.

Yaygın bir hatanın gerçek senaryosu

Birkaç ay önce TTFB'si 2.2 saniye olan bir siteyi inceliyordum. Site yöneticisi bir hafta boyunca kod optimizasyonuyla uğraşmış ve sonuç alamamıştı. curl testi TLS süresinin yaklaşık 1.4 saniye olduğunu gösterdi. Yani sorun koddan değil, güvenli el sıkışmadan kaynaklanıyordu. İncelemeler, sunucunun eski şifre paketleriyle TLS 1.0 kullandığını ve bazı ağ yollarının bu tür bağlantıya yüksek gecikmeyle yanıt verdiğini gösterdi. SSL yapılandırmasını TLS 1.3'e yükseltip OCSP Stapling'i etkinleştirerek TTFB 0.4 saniyeye düştü. Tek satır kod değiştirmeden.

Bu hatayı birçok kişi tekrarlıyor: Yüksek TTFB'nin kötü kod anlamına geldiğini varsayıyorlar. Oysa bazen sadece web sunucusunda veya SSL'de yanlış bir yapılandırmadır.

Sık sorulan sorular

SEO için uygun TTFB nedir?

Google kesin bir sayı açıklamadı, ancak deneyimler TTFB'nin 0.2 saniyenin altının mükemmel, 0.5 saniyenin altının iyi ve 0.8 saniyenin üzerinin inceleme gerektirdiğini gösteriyor. Bu sayılar İranlı kullanıcılar için ağ koşulları dikkate alındığında yaklaşık %30 daha yüksek düşünülmelidir.

TTFB ile tam sayfa yükleme süresi arasındaki fark nedir?

TTFB yalnızca ilk baytın gelişine kadar olan süredir. Tam yükleme süresi, tüm kaynakların (CSS, JavaScript, görseller) indirilmesini ve sayfanın son render edilmesini içerir. Bir site düşük TTFB'ye ve yüksek yükleme süresine sahip olabilir veya tam tersi.

CDN TTFB'yi azaltır mı?

Evet, sorun ağ yolundan kaynaklanıyorsa. CDN, içeriği kullanıcıya yakın konumlandırarak ağ gidiş-dönüş süresini azaltır. Ancak sorun ana sunucunun yavaş işlemesiyse, CDN yalnızca sorunu gizler ve kaynaktaki TTFB hala yüksektir.

TTFB neden İran içinde ve dışında farklıdır?

Uluslararası internet yolları ve birçok yabancı veri merkeziyle doğrudan bağlantının olmaması nedeniyle. Bu fark bazen 5 kata kadar çıkabilir. Kullanıcılarınız İran'daysa, testi İran içinden yapın ve kararınızı buna göre verin.

ServerNet Destek

ServerNet mühendislik ve yayın ekibi — altyapı, ağ ve web barındırma uzmanları.

SEO Hizmetleri
Paylaş:

Yorumlar 0

Henüz yorum yok — ilk siz olun!

Yorum bırakın

İlgili hizmet

SEO Hizmetleri

SEO bir maliyet değil, bir yatırımdır. Teknik SEO, içerik stratejisi ve ilkeli bağlantı kurma ile ServerNet, Google sıralamanızı yükseltir ve gerçek, kalıcı organik trafik oluşturur.