Web sitesi neden yavaş açılır?

Yapay zeka ile özetle:

Bağlantı kopyalandı

Site yavaş, çoğu zaman üç ayrı histen biridir. Sayfa geç belirir, tıklayınca bekler veya okunan satır kayar. Bu yazı, araç açmadan görülen nedenleri ayırır. Ölçümlerin adları ve eşikleri burada yoktur. Onlar [[article:core-web-vitals|Core Web Vitals yazısında]] durur.

Önce şikâyet, sonra ad

Üç his aynı tamire gitmez. Kapak geç geliyorsa bakılacak yer görsel ve sunucunun ilk cevabıdır. Düğme geç tepki veriyorsa bakılacak yer, sayfaya sonradan eklenen koddur. Satır kayıyorsa bakılacak yer, yeri ayrılmamış bir görsel veya geç gelen bir banttır. Hangi hissin ölçümde hangi ada denk geldiği, ve iyi sayılan eşiğin ne olduğu, diğer yazının işidir. Burada eşik tablosu yoktur.

Bir kez açıp hızlı bulmak da teşhis değildir. Aynı sayfa telefonda, zayıf bir bağlantıda, başka türlü bekleyebilir. Turu telefonda yapmak ayrı bir testtir. O test işin bitip bitmediğine bakar. Bu yazı beklemeye bakar.

Hissin ilk bakılacak yeri. Eşikler bu tabloda yoktur.
Ne hissedilirİlk bakılacak yerAdı nerede
Sayfa geç beliriyorKapak görseli ve sunucunun ilk cevabıDiğer yazı
Tıklayınca bekliyorSohbet, harita, sayaç gibi sonradan eklenen kodDiğer yazı
Okunan satır kayıyorYeri ayrılmamış görsel veya geç gelen bantDiğer yazı

Beklenen şey çoğu zaman görseldir

Ziyaretçi sayfayı açınca bir kare bekler. O kare, kameradan çıktığı boyutta duruyorsa bekleme tasarımın değil dosyanın süresidir. Ekranda küçük görünen bir fotoğraf, dosyası büyükse büyük dosyayı indirir. Çerçeveyi küçültmek indirmeyi küçültmez.

web.dev, görsellerde en hızlı isteğin hiç yapılmayan istek olduğunu yazar. Ekranın altında kalacak görselleri sonraya bırakmak ilk açılışı hafifletir. Aynı erteleme, açılır açılmaz görünen kapağa konursa kapak bilerek geç kalır. Ziyaretçinin boş alana baktığı süre, çoğu sayfada bu karardan çıkar.

Slayt, arka planda kendi kendine oynayan video ve üst üste binen birkaç kapak, aynı ilk saniyeyi paylaşır. Ziyaretçi birini görür. Diğerleri de inmek için sıraya girer. İlk ekranda durmayan görsel, o ekranın bekleyişine yazılır.

Sayfada başkasının kodu vardır

Sohbet balonu, harita, ısı haritası, fazladan bir sayaç, bir deneme aracı. Bunlar sitenin cümlesi değildir. Sayfaya sonradan giren başka hizmetlerin kodudur. web.dev, üçüncü parti betikleri yavaşlamanın sık nedeni olarak yazar. Nedeni iki yerde toplar: çok sayıda isteğin başka sunuculara gitmesi ve JavaScript'in ana işi meşgul etmesi. Betik sizin yazmadığınız bir yerden gelince, sayfa hafif olsa da bekleme o kodun süresine bağlanır.

web.dev'in saydığı yollardan biri, belirgin bir işe yaramayan betiği çıkarmaktır. Diğer yollar, betiğin sayfanın çizilmesini bekletmemesi ve yavaş bir dış sunucuya bağlı kalınmamasıdır. Bu yazı o yolların kodunu vermez. Verdiği soru şudur: bu kod ziyaretçiye ne gösterir. Cevap yalnızca bir kez eklemiştik ise kod, sayfanın işinden çok sayfanın yüküdür.

Harita, ofisin yerini göstermiyorsa bir resim de aynı işi görür. Sohbet, kimse bakmıyorsa balon yalnızca düğmenin üstünü kapatır. Sayaç, okunmuyorsa ilk saniyeden çıkabilir. Her biri tek tek küçük görünür. Bir arada, tıklamanın beklediği süreyi onlar doldurur.

İlk cevap geç geliyorsa

Sayfa daha çizilmeden, sunucunun ilk cevabı beklenir. Bunun adı TTFB'dir, ilk bayta kadar geçen süre. web.dev bunu Core Web Vitals ölçümü olarak yazmaz. Kaba bir yön olarak çoğu sitenin 0,8 saniye veya daha kısa bir TTFB hedeflemesini anar. İyi sayılan değer 0,8 saniye veya altı, zayıf sayılan 1,8 saniyenin üstüdür. Aynı sayfa, bu eşiğin zorunlu bir geçiş olmadığını da yazar. Eşik, sonraki deneyimi uzatmadığı sürece tek başına karar değildir.

Yönlendirme bu süreye eklenir. Adres çubuğu sayfa gelmeden bir veya iki kez değişiyorsa, ziyaretçi önce başka adreslere uğruyordur. web.dev, saha verisinin yönlendirmeyi gösterdiğini, laboratuvarın ise çoğu zaman son adresi ölçtüğü için bu ek süreyi kaçırabildiğini yazar. Hızlı görünen bir laboratuvar sonucu, adresin zıpladığı bir ziyareti anlatmıyor olabilir.

Sunucu uzaksa, önbellek tutmuyorsa veya her açılışta sayfayı sıfırdan kuruyorsa ilk cevap uzar. Bunları ayırmak ölçüm işidir ve adları diğer yazıdadır. Burada görülen işaret, sayfanın boşken bile geç başlamasıdır. Görsel inmeden önce boşluk uzun sürüyorsa bekleme dosyada değil, ilk cevaptadır.

Kurgusal bir açılış

Kayıp ile bekleme yan yana gelince neden tek bir kelimeye indirgenir. Aşağıdaki sahne, üç nedenin aynı sayfada durduğunu göstermek içindir. Müşteri kaydı değildir.

Kurgusal örnek

Bu örnek bir müşteri kaydı değildir. Sonuç, süre taahhüdü ve fiyat yoktur. Bir mimarlık stüdyosunun ana sayfası açılır. Kapak, bir yapı fotoğrafıdır ve kameradan çıktığı boyuttadır. Ekranda kısa bir çerçevede durur. Dosya, çerçevenin boyunda değildir. Ziyaretçi telefonda önce boş bir alan görür.

Fotoğraf geldikten sonra ofisin haritası ve bir sohbet balonu da iner. Balon, ara düğmesinin üstünü kapatır. Ziyaretçi önce fotoğrafı bekler, sonra düğmeyi arar. Şikâyet sitenin genel yavaşlığı diye yazılırsa üç ayrı şey karışır: ağır kapak, gerekmeyen harita, düğmeyi kapatan balon. Ölçümün hangi ada denk geldiği diğer yazıda sorulur. Tamir, önce bu üçünü ayırmakla başlar.

Tamir listesi değil, gözlem listesi

Aşağıdaki maddeler bir tamir tarifi değildir. Bir geliştiriciye verilmeden önce yazılan gözlemdir. Gözlem yoksa tamir tahmin olur. Tahmin, sayfaya yeni bir kod daha ekleyerek de bitebilir.

N2 Creative olarak site ve yazılım işinde yavaşlık cümlesini bu gözlemle açmayı doğru buluyoruz. Adlar ve eşikler ölçüm yazısında kalır. Burada kalan, ziyaretçinin beklediği şeydir.

  • Şikâyet hangisi: sayfa geç mi beliriyor, tıklama mı bekliyor, satır mı kayıyor.
  • Beklenen kapak, kameradan çıktığı boyutta mı duruyor. Çerçeve küçük, dosya büyük mü.
  • İlk ekranda ziyaretçinin görmediği kaç görsel veya video de iniyor.
  • Kapak, ekranın altındaki görseller gibi sonraya mı bırakılmış.
  • Sohbet, harita, sayaç ve deneme aracından hangisi ziyaretçiye bir şey gösteriyor.
  • Adres çubuğu, sayfa gelmeden değişiyor mu.
  • Boş ekran, görsel inmeden önce de uzun mu sürüyor.
  • Kayma varsa, yeri ayrılmamış görsel mi var, geç gelen bant mı.