CoreDash Boyutu: Gezinme Türü

bfcache, prerender ve reload performansında hata ayıklamak için Core Web Vitals verilerinizi kullanıcıların sayfaya nasıl ulaştığına göre segmente edin.

Ücretsiz deneme

Trusted by market leaders · Client results

nestlealeteiaperionnina carehappyhorizonadevintadpg mediaharvardfotocasaworkivavpnloopearplugsmy work featured on web.deverasmusmcsaturncomparesnvmonarchebaymarktplaatswhowhatwearkpn

Boyut: Gezinme Türü (nt)

CrUX verilerinizdeki her sayfa görüntülemesi bir gezinme türü taşır. Bu size tarayıcının sayfayı nasıl yüklediğini söyler ve hangi tarayıcı sistemlerinin dahil olduğunu belirler: ağ yığını, back/forward cache, prerender işlem hattı veya bir oturum geri yükleme. CoreDash bunu nt boyutu olarak sunar, böylece Core Web Vitals değerlerini her gezinme bağlamı için ayrı ayrı filtreleyebilir ve karşılaştırabilirsiniz.

Veriler PerformanceNavigationTiming API'den, özellikle type özelliğinden gelir. Bunu performance.getEntriesByType("navigation")[0].type ile okursunuz. Chrome bu değeri CrUX'a gönderilen her web vitals ölçümüyle birlikte raporlar ve CoreDash herhangi bir özel kod yazmanıza gerek kalmadan segmentlere ayırabilmeniz için bunu saklar ve indeksler.

coredash metric table urls

Gezinme Türü neden önemlidir?

LCP veya INP'yi tüm gezinme türleri genelinde toplamak, teknik olarak doğru ancak pratik olarak yanıltıcı bir sayı üretir. Bir back/forward cache isabeti milisaniyeler içinde tamamlanır. Soğuk bir gezinme (cold navigate) ise DNS, TCP, TLS ve TTFB için bekler. Oturumlarınızın %20'si bfcache isabetiyse, p75 LCP'nizi aşağı çekerler ve yeni gezinmelerdeki gerçek bir sorunu görmeyi zorlaştırırlar.

Bunun tersi de doğrudur. Sitenizde bfcache bozuksa, back/forward oturumları yeni gezinmeler kadar kötü performans gösterecektir. Gezinme türüne göre segmentlere ayırmadan bunu asla fark edemezsiniz çünkü toplam değer sabit kalır.

Prerender en çarpıcı durumdur. Doğru şekilde önceden oluşturulmuş (prerendered) bir sayfa, kullanıcı linke tıklamadan önce oluşturma işlemi bittiği için sıfıra yakın bir LCP göstermelidir. Önceden oluşturulmuş sayfalarınız normal LCP sayıları gösteriyorsa, Speculation Rules yapılandırması yanlıştır ve prerender ya tetiklenmiyordur ya da kullanılmadan önce atılıyordur.

Gezinme Türleri

navigate

Standart bir gezinme: kullanıcı bir URL yazdı, başka bir siteden bir bağlantıya tıkladı veya bir yönlendirmeyi takip etti. Bu, herhangi bir önbelleğe alma kısayolu olmayan tam bir sayfa yüklemesidir. Tarayıcı; DNS araması, bağlantı kurma ve tam kaynak yükleme dahil olmak üzere tüm istek sürecinden geçer. CoreDash verilerinde navigate oturumların yaklaşık %65'ini oluşturur. Bu sizin temel çizginizdir (baseline). Diğer her gezinme türü, navigate ile karşılaştırılmasına göre değerlendirilmelidir.

reload

Kullanıcı F5 tuşuna bastı, tarayıcının yeniden yükle düğmesine tıkladı veya kodunuz location.reload() çağrısı yaptı. Tarayıcı, önbelleğe alınmış kaynaklar için yeniden doğrulama (revalidation) istekleri gönderir; bu da kullanıcının aynı sayfada olmasına rağmen TTFB'nin genellikle bir gezinmeden daha kötü görünmesi anlamına gelir. reload TTFB'niz navigate TTFB'den önemli ölçüde yüksekse, önbellek başlıklarınız eski içeriği sunmak yerine her yeniden yüklemede yeniden doğrulamayı tetikliyor demektir. Tipik CoreDash trafiğinde oturumların yaklaşık %10'u yeniden yüklemelerdir.

back_forward

Kullanıcı tarayıcının geri veya ileri düğmesine bastı. Eğer back/forward cache (bfcache) çalışıyorsa, bu mümkün olan en hızlı gezinme türüdür. Tarayıcı, hiçbir ağ isteği yapmadan sayfayı bellekten geri yükler. Bir bfcache isabeti için LCP, etkili bir şekilde bellekten boyama (paint) süresidir ve bu neredeyse anlıktır.

back_forward metrikleriniz navigate ile benzer görünüyorsa bfcache çalışmıyor demektir. En yaygın nedenler unload olay işleyicileri, Cache-Control: no-store yanıt başlıkları ve gezinmeden önce kapatılmayan açık IndexedDB bağlantılarıdır. CoreDash verileri back_forward gezinmelerini oturumların yaklaşık %20'sine yerleştirir, bu da bunu yüksek etkili bir düzeltme haline getirir.

prerender

Sayfa, kullanıcı bağlantıya tıklamadan önce Speculation Rules API kullanılarak arka planda yüklendi. Kullanıcı tıkladığında, önceden oluşturulmuş doküman anında etkinleştirilir. Doğru şekilde etkinleştirilmiş bir prerender için LCP sıfıra yakındır çünkü tüm oluşturma çalışmaları gezinme olayından önce tamamlanmıştır.

prerender LCP'niz normal görünüyorsa, üç şeyden biri olmuştur: prerender etkinleştirilmeden önce atılmıştır, speculation rule yanlış URL'leri hedeflemiştir veya sayfa önceden oluşturmayı engelleyen başlıklar veya JavaScript kullanıyordur. CoreDash oturumlarının yaklaşık %3'ü prerender etkinleştirmeleridir, ancak Speculation Rules uygulandığında bu pay hızla artar.

restore

Tarayıcı kapatıldıktan veya sekme çöktükten sonra sekme geri yüklendi. Tarayıcı sayfayı sıfırdan yeniden yükler, ancak oturum yeni bir gezinmeden ziyade bir geri yükleme (restore) olarak kabul edilir. Performans soğuk bir gezinmeye benzer. Bu, oturumların yaklaşık %2'sini oluşturur ve nadiren optimizasyon çalışmalarının odağıdır, ancak istikrarsız tarayıcı oturumları olan kullanıcılarınız varsa izlemeye değerdir.

Hata Ayıklama İş Akışı

  1. navigate LCP değerini genel LCP hedefinizle karşılaştırın. Bu, yeni yükleme performansı için gerçek verinizdir. Eğer navigate zaten geçiyorsa, sorununuz başka yerdedir.
  2. back_forward değerini navigate ile karşılaştırın. Eğer birbirlerine yakınlarsa bfcache bozuktur. Chrome DevTools'u açın, Application paneline gidin ve bfcache testini çalıştırın. DevTools çıktısı, tam olarak hangi özelliklerin veya başlıkların bfcache uygunluğunu engellediğini listeleyecektir.
  3. prerender LCP değerini kontrol edin. Eğer 200ms'nin üzerindeyse prerender işlem hattı beklenen sonucu vermiyor demektir. Speculation Rules JSON'ınızın geçerli olduğunu doğrulayın, hedef sayfaların herhangi bir engelleyici mantık döndürmediğini kontrol edin ve Chrome DevTools'da Speculation Rules altında etkinleştirmelerin sayıldığını onaylayın.

Mühendislik Deneyim Kuralı

  • navigate: Normal optimizasyon yoluyla LCP eşiğinizi karşılamalıdır: hızlı TTFB, LCP görselinde fetchpriority="high", render-blocking kaynak yok.
  • back_forward: navigate'ten 10 ila 20 kat daha hızlı olmalıdır. Değilse bfcache bozuktur.
  • prerender: 200ms'nin altında LCP göstermelidir. Değilse Speculation Rules'unuz yanlış yapılandırılmıştır.
  • reload: TTFB, navigate'ten önemli ölçüde kötü olmamalıdır. Eğer öyleyse, önbellek yeniden doğrulama başlıklarınızı düzeltin.

Gezinme Türü, "Sayfam nasıl performans gösteriyor?" sorusunu "Sayfam her bir tarayıcı yükleme stratejisi altında nasıl performans gösteriyor?" sorusundan ayıran boyuttur. Bu ayrım, tahmin yürütmek ile hata ayıklamak arasındaki farktır.