Doküman isteğiyle ilgili gecikme

Adam Raine
Adam Raine

Yayınlanma tarihi: 27 Mart 2025

Tüm ağ istekleri ve sayfa içeriği buna bağlı olduğu için sayfa için ilk doküman isteği en önemli istektir. İlk doküman isteğini optimize etmek performansı artırır.

Analizin kontrol ettiği veriler

Analiz, aşağıdaki koşullardan herhangi birinin ilk doküman isteğini etkileyip etkilemediğini kontrol eder:

  • Gezinme isteği bir veya daha fazla kez yönlendirildi.
  • Sunucunun isteğe yanıt vermesi 600 ms'den uzun sürdü.
  • Yanıt sıkıştırılmamış.
Devtools, yönlendirmeleri ortadan kaldırarak belge gecikmesinin azaltılabileceğini bildiriyor
Devtools, yönlendirmeleri ortadan kaldırarak belge gecikmesinin azaltılabileceğini bildiriyor

Yönlendirmelerden kaçının

Yönlendirmeler, sayfa yükleme hızınızı yavaşlatır. Bir tarayıcı yönlendirilen bir kaynağı istediğinde sunucu genellikle aşağıdaki gibi bir HTTP yanıtı döndürür:

HTTP/1.1 301 Moved Permanently
Location: /path/to/new/location

Ardından tarayıcı, kaynağı almak için yeni konumda başka bir HTTP isteği göndermelidir. Ağda yapılan bu ek yolculuk, kaynağın yüklenmesini geciktirebilir.

Bağlantıların, kaynağın mevcut konumuna yönlendirdiğinden emin olun. Mobil kullanıcıları sayfanızı mobil sürümüne yönlendirmek için yönlendirmeler kullanıyorsanız sitenizi duyarlı tasarım kullanacak şekilde yeniden tasarlayabilirsiniz.

Sunucu yanıt sürelerini azaltma

Sunucu yanıt sürelerini iyileştirmenin ilk adımı, sunucunuzun sayfa içeriğini döndürmek için tamamlaması gereken temel kavramsal görevleri belirlemek ve ardından bu görevlerin her birinin ne kadar sürdüğünü ölçmektir. En uzun görevleri belirledikten sonra bunları hızlandırmanın yollarını bulun.

Sunucu yanıtlarının yavaş olmasının birçok olası nedeni ve bu sorunu düzeltmenin birçok yolu vardır:

  • Sayfaları daha hızlı hazırlamak için sunucunun uygulama mantığını optimize edin. Sunucu çerçevesi kullanıyorsanız çerçevede bunu yapmayla ilgili öneriler bulunabilir.
  • Sunucunuzun veritabanlarını sorgulama şeklini optimize edin veya daha hızlı veritabanı sistemlerine geçin.
  • Sunucu donanımınızı daha fazla bellek veya CPU içerecek şekilde yükseltin.
  • Ağ gecikmesini azaltmak için bir CDN kullanın. Bu, özellikle doküman CDN uç düğümünde önbelleğe alınabiliyorsa etkilidir.

Daha fazla bilgi için TTFB'yi optimize etme kılavuzunu inceleyin.

Sıkıştırmayı etkinleştirin

Metin sıkıştırma, ilk HTML belgesinin genel boyutunu azaltabilir. Bir tarayıcı, kaynak isteğinde bulunduğunda desteklediği sıkıştırma algoritmalarını belirtmek için Accept-Encoding HTTP istek başlığını kullanır.

Accept-Encoding: gzip, compress, br, zstd

Ayrıca Metin tabanlı öğelerin kodlamasını ve aktarım boyutunu optimize etme başlıklı makaleyi de inceleyin.

Sunucunuz, kullandığı sıkıştırma algoritmasını belirtmek için Content-Encoding HTTP yanıt üst bilgisini döndürmelidir.

Devtools, doküman isteğinde gzip sıkıştırmasının kullanıldığını bildiriyor
Geliştirici Araçları, belge isteğinde gzip sıkıştırma kullanıldığını bildiriyor

Pakete özel yönergeler

WordPress

  • Web sunucunuzun yapılandırmasında metin sıkıştırmayı etkinleştirin.
  • Hafif bir tema (ideal olarak blok tema) seçip tam sayfayı önbelleğe alma veya statik site çözümü uygulayın. Sunucu yükünü en aza indirmek için gereksiz eklentileri devre dışı bırakın.
  • Barındırma hizmetinizi, yönetilen veya özel hizmete yükseltebilirsiniz.

Drupal

  • Yönlendirme modülü yüklüyse gereksiz yönlendirmeleri inceleyip kaldırın.
  • Internal Page Cache, Internal Dynamic Page Cache ve BigPipe gibi bir veya daha fazla Drupal önbelleğe alma modülüyle trafiği azaltın. Yanıt süresini daha da iyileştirmek için bunları bir CDN ile birlikte kullanın. Barındırma sunucularınız, PHP OPcache kullanmalıdır.
  • Veritabanı sorgu sürelerini azaltmak için Redis veya Memcached gibi belleği önbelleğe alma tekniklerini kullanabilirsiniz.
  • Sunucu yanıt süresini azaltmak için yüksek performanslı temalar, modüller ve daha hızlı sunucular kullanın.

React

  • React Router kullanıyorsanız rota gezinmeleri için <Redirect> bileşeninin kullanımını en aza indirin.
  • Sunucu tarafında React bileşenleri oluşturuyorsanız istemcinin tüm işaretleme parçalarını bir defada alması yerine farklı parçaları alıp birleştirmesine izin vermek için renderToNodeStream() veya renderToStaticNodeStream() kullanmayı düşünün.

Joomla

  • Gzip Sayfa Sıkıştırma ayarını etkinleştirin (Sistem > Genel yapılandırma > Sunucu).
  • Şablonlar, uzantılar ve sunucu özellikleri öğelerinin tümü sunucunun yanıt süresini etkiler. Bir optimizasyon uzantısını dikkatle seçerek veya sunucunuzu yeni sürüme geçirerek, daha ileri düzeyde optimize edilmiş bir şablon bulmayı değerlendirin.

Magento

Kaynaklar