Ön yük, prefeting, ön bağlantı: WordPress sitenizi tarayıcı kaynakları talimatlarıyla nasıl hızlandırabilirsiniz
Web sitemizi hızlandırmak için bu kitaptaki her numarayı kullanıyoruz. Görüntüleri optimize etmek. CDN. GZIP. Önbelleğe almak. Ancak site daha karmaşık hale geldiğinden ve sayfanın ağırlığı ile yüklendiğinden, kullanıcı etkileşimlerine reaktif olarak yanıt vermek yeterli değildir. Proaktif olmalıyız – kullanıcının ne istediğini tahmin etmeliyiz ve hatta içeriği istemeden önce onlar için hazırlamalıyız. Kaynakların talimatları ve yönü ile bunu yapabilirsiniz – gerçek web sitesinin performansı için önceki sayfanız için kaynak almak ve indirmek için tarayıcıyı tanıyın ve bu daha iyi hissedilir. Bu teknik bir ön plan olarak bilinir.
Bu yazıda, üç ana kaynak talimatını araştıracağız: nasıl çalıştığı, faydaları ve nasıl kullanılacağı ile birlikte ön yük, önleme ve ön bağlantı. Kazanma öncesi nedir? Steve Souuders, 2013 yılında önceden önyükleme (öngörücü taramadan) terimini yarattı. Önleme öncesi, kullanıcı eylemlerini öngörmek ve sitenizde gerçekten ihtiyaç duymadan önce isteyebilecekleri içerik hazırlamakla ilgilidir. Bu, Santiago Valdarrama tarafından yazıldığı gibi, makalesinde bir listeden yazıldığı gibi, bir adım önde olan bir adım olan bir kavramdır: Önceden öne çıkan performansı geliştirmek:
“Tarayıcı sahne arkasında çalıştı ve mümkün olduğunca çabuk navigasyon oluşturmak için sitemizde kalıplar aradı. Sıkıştırma öncesi şunlara dayanmaktadır: Kendi sayfalarımızdaki içgörüleri daha fazla kullanıcı modeli analiziyle birleştirebiliriz. Tarayıcının daha iyi bir iş yapmasına yardımcı olarak, kullanıcılarımız için deneyimi hızlandırır ve geliştiririz. ” Merak ediyor olabilirsiniz, “Bu önbellekleme anlamı değil mi?” Peki. Önbellek tarayıcısı, sayfaları hızlı bir şekilde yüklemek için çok önemlidir. Ancak önbelleklemenin biraz yardım gerektirdiği zamanlar vardır: ilk web sitesi ziyareti: Kullanıcı siteyi ilk ziyaret ettiğinde, tarayıcıları statik kaynakları saklamadı.
Silinmiş Tarayıcı Verileri: Tarayıcı önbelleğini silen kullanıcılar, sitenizi tekrar ziyaret ettiklerinde artık kaynaklarınızın bir kopyasına sahip olmayacaktır.
Tarayıcı verilerinin süresi doldu: HTTP arşivine göre, kaynakların% 69’unun önbellek başlığı yoktur veya bir günden daha az bir önbellekte saklanabilir. Kullanıcı bu sayfayı yeniden ziyaret etmişse ve tarayıcı kaynakların süresi dolduğunu belirlerse, güncellemeyi kontrol etmek için HTTP isteklerine ihtiyaç vardır. Yanıt önbellek kaynaklarının hala geçerli olduğunu gösterse de, bu ağın gecikmesi, özellikle hücresel olarak sayfanın daha yavaş yüklenmesini sağlar.
Eski tarayıcı verileri: Kullanıcılar önceki ziyaretlerden içerik kaydetmiş olsa da, web sitesi yeni kaynaklarla değişmiş veya güncellenmiş olabilir.
Neyse ki, arama teknikleri bu sorunun üstesinden gelmenize yardımcı olabilir.
1. Pramuarah Hiç bir tarayıcıya sayfa yükleme olayını geciktirmeden önemli bir yazı tipi veya komut dosyası hakkında bilgi vermek istediniz mi? Ön yükle bunu yapabilirsiniz. Bu yön, tarayıcıya mevcut navigasyonun bir parçası olarak kaynakların gerekli olduğunu söyler ve mümkün olan en kısa sürede alınması gerekir. Aşağıda nasıl kullanılacağına dair bir örnek:
Akamai’nin bu web standardı üzerinde çalışan ana mimar Yoav Weiss tarafından açıklandığı gibi:
“[Preload, web geliştiricileri için daha ayrıntılı bir yükleme kontrolü sağlar. Bu, geliştiricilere komut dosyası tabanlı kaynak yükleyicileri tarafından uygulanan performans cezaları yaşamadan özel yükleme mantığını belirleme olanağı sağlar. ” Pramuian aracılığıyla ihtiyaç duyulan kaynakları belirlediğinizde, kaynak bir öncelik olarak indirilir ve Dom, JavaScript veya CSS’ye yönlendirilene kadar bekleyen tarayıcıda saklanır. Öznitelikler, doğru işlenebilmesi için ne tür bir kaynak türü tarayıcısının indirileceğini söyler. Onsuz, tarayıcı daha önce yayınlanan kaynakları kullanmayacaktır. Aşağıdakileri içerebilecek değerler:
“Yazı tipi”
“Senaryo”
“Stil”
“resim”
“Medya”
“Belge”
Google’a göre önemli bir hata ve eksiklikleri olan değiştirme. Chrome dışında bir tarayıcıda asla uygulanmadı. Bu nedenle, Chrome 50 Mart 2016’da desteği sildi. Ön yükün tarayıcı için zorunlu bir talimat olduğunu bulmak da önemlidir. Bu yazıda göreceğimiz diğer kaynak talimatlarının aksine, Pramuep isteğe bağlı değil, tarayıcı tarafından yapılması gereken bir şeydir. Weiss, Chrome’da yayınlanmadan önce Pramuep için kesin bir rehber yayınladı. Bu kaynak talimatlarını etkili bir şekilde nasıl kullanacağınızı öğrenmek istiyorsanız, yönergeleri okumanızı şiddetle tavsiye ederim. Ön yüklemenin en büyük içerikli boya puanını optimize etmek için de yararlı olduğunu unutmayın. 2. Önce neyin tıklanacağını tahmin edebileceğinizi veya bir sonraki kullanıcıyla etkileşim kurabileceğinizi düşünün. Ön planlama kaynak talimatları Pramuep’ten biraz farklıdır. Kritik bir şey daha hızlı hale getirmeye çalışmaz; Bunun yerine, daha önce kritik olmayan bir şey yapmaya çalıştı-eğer bir fırsat olsaydı. Önceden, tarayıcıya, kullanıcı beklediğiniz eylemi alırsa, navigasyonun veya gelecekteki etkileşimlerin bir parçası olarak daha sonra kullanıcılara ihtiyaç duyabileceğini düşündüğünüz kaynakları almasını söyleyebilirsiniz. Bu kaynak daha sonra sayfa şu anda yüklenmeyi bitirdiğinde ve bir bant genişliği olduğunda tarayıcıdaki en düşük önceliğe alınacaktır.
Bu, ön yargının en iyi bir sonraki kullanıcının eylemlerini tahmin etmek ve gerekli komut dosyalarını veya görüntüleri almak gibi hazırlamak için kullanıldığı anlamına gelir. 3 tip ön getirme vardır ve yukarıda açıkladığım şey genellikle ön planlama bağlantısı olarak bilinir. MDN Mozilla web belgesine göre, bağlantıyı almak için: “… Tarayıcı sayfayı yüklemeyi bitirdikten sonra, gizlice belirli belgeleri almaya ve önbelleğe kaydetmeye başlar. Kullanıcı daha önce alınan belgelerden birini ziyaret ettiğinde, belge önbellek tarayıcısından hızlı bir şekilde sunulabilir. ” Bu tür bir önceden yazma için tarayıcı, html veya http link: header’da ön yarma arıyor. İşte bir bağlantı etiketi kullanma örneği:
Ve bu, HTTP: Header: Header:
Bağlantı: ; Rel = ön yarma
Diğer ön bildirim türleri önsezler ve prending DN’lerdir. DNS önleme DNS’nin ilk alımı, tarayıcıya kullanıcılar keşfettiğinde arka plandaki DNS’yi aramasını söylemenizi sağlar. Dolayısıyla, kullanıcı beklendiği gibi bağlantıyı tıkladığında, DNS ekranı oluştu ve böylece gecikmeyi azalttı. İlk DNS koleksiyonu, bağlantı özniteliğine rel = “dns-prefetch” etiketi ekleyerek belirli URL’lere eklenebilir. Örnek olarak:
Mozilla MDN MDN DNS Ön -Yetkili Giriş şöyle açıkladı: “DNS talebi bant genişliği açısından çok küçük, ancak özellikle hücresel ağlarda gecikme çok yüksek olabilir. DNS’nin sonuçlarını spekülatif olarak alarak, kullanıcı bir bağlantıyı tıkladığında olduğu gibi belirli zamanlarda gecikme önemli ölçüde azaltılabilir. Bazı durumlarda, gecikme bir saniye azaltılabilir. ” PRARENDINGER PRARENDINGER her şeyi artırır ve tarayıcıya sayfayı indirmesini söylemenizi sağlar. Diyelim ki, örneğin, kullanıcıların verandanıza inecekleri ve daha sonra hizmetleri ziyaret etmeye devam edecekleri ve bu en popüler navigasyon olduğu için hizmetler.html’yi ziyaret etmeye devam edecekleri kesin olarak biliyorsunuz (çünkü bu genel bir kullanım deseni olduğu için). Bir tarayıcı kaynak talimatları verebilirsiniz:
Ana sayfayı indirdikten sonra tarayıcı daha sonra arka planda Services.html’yi indirecek ve istedikleri anda kullanıcılara hazırlayacaktır. Sonunda “Hizmet” bağlantısını tıkladıklarında, oluşturma sayfası anında yüklenir. Ancak kullanıcı “Hizmet” sayfanızı ziyaret etmek için tıklamaz ve bunun yerine “Hakkında” sayfasına giderse ne olur? Söylemenize gerek yok, ön oluşturucu riskli bir tekniktir çünkü bir sonraki kullanıcının adımlarına bahis yaparsınız. Haklıysanız, diğer tüm sayfaları indirme zamanından tasarruf edeceksiniz. Ancak yanılıyorsanız, büyük bant genişliği atıklarına neden olabilir, bu da hücresel kullanıcılar için zararlıdır.
Uygulama nedir? Tarayıcı kaynakları indirmeye başlamadan önce gereken gidiş -dönüş gezilerinin sayısı sayesinde üçüncü taraf kaynakları sayfayı gerçekten yavaşlatabilir. Bu ileri geri yolculuk, DNS, TCP el sıkışma ve HTTPS için TLS müzakerelerini aramayı içerir. Sayfalara ve ağ koşullarına bağlı olarak, bu alternatif gezi, birkaç farklı ana bilgisayardan kaynak isterseniz hızlı bir şekilde artarak yüzlerce milisaniye veya daha fazla gecikmeyi ekleyebilir. Örneğin, sayfanız Social, Yorumlar için Gravatar ve Google Analytics’i paylaşmak için Twitter ve Facebook’a bağlanabilir. Peki ya bu alternatif gezilerin bazılarını ortadan kaldırabilir ve algılanan performansı ve gerçek yükleme süresini hızlandırabilirseniz? Uygulamalar, tarayıcıya sayfanızın harici kaynaklarla bağlantı kurmayı planladığını söylemenizi sağlar ve sürecin mümkün olan en kısa sürede başlamasını istersiniz. İşte bu kaynak talimatlarını nasıl kullanacağınıza dair bir örnek: sayfanızdaki Google Fonts web yazı tipinin görünümünü hızlandırmak istediğinizi söyleyin. Bu hizmet güvenilirdir ve Google’ın Global CDN’si nedeniyle genellikle hızlıdır. Ancak @font-face kuralları önce tarayıcı bir webfont isteği yapmadan önce CSS dosyasında bulunması gerektiğinden, oluşturma sayfası sırasında stil olmadan (FoUC) gerçek bir stil flaşı olabilir. Pre -Drawn ile aşağıdaki ön -Drewn talimatlarını ekleyerek bu gecikmeyi büyük ölçüde azaltabilirsiniz:
Kıdemli ön uç geliştirici Viget Jeremy Frank tarafından yazıldığı gibi, önceden çizilmiş talimatlar için rehberinde yazıldığı gibi, Prakoneksi’nin testinde kritik oluşturma yolundan 3 alternatif geziyi çıkararak ve gecikmenin yarım saniyesinden daha fazlasını kesen: harika olan şeyleri ekliyor: Bu spesifik örnek, Preconnect kullanmanın oluşturma engellemesini azaltmaya ve boyama süresini artırmaya yardımcı olmasıdır (bir kez daha LCP dahil). Google Ilya Grigoric Web Performansına göre: “Uygulama Optimizasyon Ekipmanı kutunuzda önemli bir araçtır … Talep Yolundan çok sayıda pahalı alternatif geziyi ortadan kaldırabilir Bazı durumlarda, talep gecikmesini yüzlerce ve hatta binlerce azaltma milisaniye. ” SONUÇ KULLANIM ÖNLEME TEKNİKLERİ Birkaç yıldır var olmuştur ve Web genelinde fark edebileceğinizden daha yaygındır-Google, kullanıcıları için neredeyse anında arama yapmak için kaynak talimatlarını kullanır. Ayrıca, WP roketiyle parmaklarınızı kaldırmadan ön yükleme ve DNS prefetingching’ten yararlanabilirsiniz! Ve web performansının geliştirilmesinin de temel web hayati puanınızı artırmak anlamına geldiğini unutmayın! Sitenizde ön açıklamaya başlamaya hazır mısınız? Sayfanız ve kullanıcınız hakkında bildiklerinizi düşünün; Kullanıcıların sitenizde nasıl gezintiğini ve hangi kaynakları kullandıklarını öğrenmek için Google Analytics’inizi kazarak kullanıcı modelinizi not edin. Bu bilgilerle silahlı olarak, kullanıcı deneyimini hızlandırabilir ve geliştirebilirsiniz.