Kaynakları <link rel="preload"> ile önceden yüklemek, tarayıcıya yakında bir kaynağa ihtiyaç duyulacağını bildirir. Ancak ön yüklemeler, kaynak türü için varsayılan önceliği devralır ve özellikle resimler için bu öncelik düşüktür. fetchpriority kullanmak, bu göreceli önceliği hassaslaştırmanıza olanak tanır. Özellikle de resim ön yüklemelerinin yüksek öncelikle önceden yüklenmesini sağlayarak daha erken başlamalarını ve daha fazla bant genişliği kaynağı kullanmalarını sağlar.
Nasıl uygulanır?
- Önceden yükleme adaylarını belirleyin: Tarayıcı tarafından erken keşfedilmeyen (ör. CSS'deki video poster resimleri veya arka plan resimleri) ancak sayfanın görünümü için gerekli olan kaynakları bulun.
- Kritik resim ön yüklemelerini yükseltin: LCP resmi veya varsayılan olarak önceliklendirilmeyen diğer kritik resimler için
<link rel="preload" fetchpriority="high">kullanarak bunların diğer ön yüklemelere göre önceliklendirilmesini sağlayın. Yazı tiplerinin varsayılan olarak yüksek öncelikli olduğunu unutmayın. - Kritik olmayan ön yüklemelerin önceliğini azaltın: İlk oluşturma için kritik olmayan kaynaklar (ör. arka plan videosu veya ikincil yazı tipleri) için
<link rel="preload" fetchpriority="low">kullanın. - Kaynak türleriyle koordinasyon: Farklı
astürlerinin farklı varsayılan öncelikleri olduğunu unutmayın. Gerektiğinde bu varsayılanları geçersiz kılmak içinfetchprioritykullanın.
Örnek kod
<!-- Elevate priority for a video poster image that acts as the LCP candidate -->
<link rel="preload" href="/images/video-poster.jpg" as="image" fetchpriority="high">
<!-- Elevate priority for a critical LCP image that is hidden in CSS -->
<link rel="preload" href="/images/hero-background.jpg" as="image" fetchpriority="high">
<!-- Deprioritize a secondary font to avoid network contention -->
<link rel="preload" href="/fonts/secondary-font.woff2" as="font" type="font/woff2" fetchpriority="low" crossorigin>
En İyi Uygulamalar
- ZORUNLU: Ağ çakışmasını ve öncelik artışının etkisini azaltmayı önlemek için
fetchpriority="high"özelliğini en fazla 1-2 kritik resim ön yüklemesinde kullanın. - ZORUNLU: Largest Contentful Paint (LCP) resimlerinde
fetchpriority="high"kullanın. - ÖNERİLEN: Bant genişliği çakışmasını önlemek için bir sayfadaki toplam ön yükleme sayısını en fazla 2 resim ve 2-3 temel yazı tipiyle sınırlayın.
- Tarayıcının erken başlatmasını istediğiniz ancak kritik kaynaklar (özellikle kritik olmayan yazı tipleri) pahasına başlatmasını istemediğiniz ön yüklemeler için
fetchpriority="low"KULLANIN. - Ön yüklemenin kullanılmasını sağlamak için
asözelliğini doğru şekilde BELİRTİN. - Arka plan resimleri için önceden yüklemelere güvenmek yerine, kritik kaynakları (LCP resimleri gibi)
<img>etiketleri aracılığıyla HTML'de statik olarak bulunabilir hale getirmeyi TERCİH EDİN. - Yazı tipi ön yüklemelerinin her zaman
crossoriginözelliğine sahip olduğundan emin OLUN (aynı kaynak olsa bile). - Desteği sonlandırılan
importanceözelliğini KULLANMAYIN.fetchpriorityile değiştirildi.
Yedek strateji
<link rel="preload"> öğesindeki fetchpriority özelliği, progresif geliştirmedir. Bu özelliği desteklemeyen tarayıcılar, ilgili kaynak türü için varsayılan önceliklerini kullanarak kaynağı önceden yüklemeye devam eder. Uyumluluğu sağlamak için her zaman doğru as ve type özelliklerini sağlayın.