Web sitesi yükleme sürelerini optimize etmek ve kullanıcı deneyimini küresel olarak iyileştirmek için preload, prefetch ve preconnect gibi kaynak ipuçlarını nasıl kullanacağınızı öğrenin.
Kaynak İpuçlarıyla Web Sitesi Hızını Artırma: Preload, Prefetch ve Preconnect
Günümüzün hızlı dijital dünyasında, web sitesi hızı çok önemlidir. Kullanıcılar web sitelerinin hızlı yüklenmesini ve anında yanıt vermesini bekler. Yavaş yükleme süreleri, kötü bir kullanıcı deneyimine, daha yüksek hemen çıkma oranlarına ve sonuç olarak iş kaybına yol açabilir. Kaynak ipuçları, geliştiricilerin tarayıcıya hangi kaynakların önemli olduğunu ve bunlara nasıl öncelik vereceğini söyleyerek web sitesi yükleme sürelerini optimize etmelerine yardımcı olabilecek güçlü araçlardır. Bu makale, üç temel kaynak ipucunu incelemektedir: preload
, prefetch
ve preconnect
ve uygulama için pratik örnekler sunmaktadır.
Kaynak İpuçlarını Anlamak
Kaynak ipuçları, tarayıcıya bir web sayfasının gelecekte ihtiyaç duyacağı kaynaklar hakkında talimat veren direktiflerdir. Geliştiricilerin tarayıcıyı kritik kaynaklar hakkında proaktif olarak bilgilendirmesine olanak tanırlar ve tarayıcının bu kaynakları normalde yapacağından daha erken getirmesini veya bunlara bağlanmasını sağlarlar. Bu, yükleme sürelerini önemli ölçüde azaltabilir ve algılanan performansı iyileştirebilir.
Üç temel kaynak ipucu şunlardır:
- Preload: İlk sayfa yüklemesi için gereken kritik kaynakları getirir.
- Prefetch: Gelecekteki navigasyonlar veya etkileşimler için ihtiyaç duyulması muhtemel kaynakları getirir.
- Preconnect: Önemli üçüncü taraf sunucularla erken bağlantılar kurar.
Preload: Kritik Kaynaklara Öncelik Verme
Preload Nedir?
Preload
, tarayıcıya geçerli navigasyon için gereken bir kaynağı mümkün olan en kısa sürede getirmesini söylemenizi sağlayan bildirim temelli bir getirmedir. Bu, özellikle CSS veya JavaScript aracılığıyla yüklenen resimler, yazı tipleri, komut dosyaları veya stil sayfaları gibi tarayıcı tarafından geç keşfedilen kaynaklar için kullanışlıdır. Bu kaynakları önceden yükleyerek, bunların oluşturmayı engellemesini önleyebilir ve web sitenizin algılanan yükleme hızını iyileştirebilirsiniz.
Preload Ne Zaman Kullanılır?
preload
için kullanın:
- Yazı Tipleri: Özel yazı tiplerini erken yüklemek, biçimlendirilmemiş metin flaşını (FOUT) veya görünmez metin flaşını (FOIT) önleyebilir.
- Resimler: Sayfanın üst kısmındaki resimlere öncelik vermek, hızlı bir şekilde yüklenmelerini sağlayarak ilk kullanıcı deneyimini geliştirir.
- Komut Dosyaları ve Stil Sayfaları: Kritik CSS veya JavaScript dosyalarını erken yüklemek, oluşturmayı engellemeyi önler.
- Modüller ve Web İşçileri: Modülleri veya web işçilerini önceden yüklemek, uygulamanızın yanıt verme hızını iyileştirebilir.
Preload Nasıl Uygulanır
HTML belgenizin <head>
bölümünde <link>
etiketini kullanarak preload
uygulayabilirsiniz:
<link rel="preload" href="/fonts/myfont.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="preload" href="/styles/critical.css" as="style">
<link rel="preload" href="/scripts/app.js" as="script">
<link rel="preload" href="/images/hero.jpg" as="image">
Açıklama:
rel="preload"
: Tarayıcının kaynağı önceden yüklemesi gerektiğini belirtir.href="/path/to/resource"
: Önceden yüklenecek kaynağın URL'si.as="type"
: Önceden yüklenen kaynağın türünü belirtir (örneğin, yazı tipi, stil, komut dosyası, resim).as
özniteliği zorunludur ve tarayıcının kaynağa düzgün bir şekilde öncelik vermesi ve işlemesi için çok önemlidir. Doğruas
değerini kullanmak, tarayıcının doğru İçerik Güvenlik İlkesini (CSP) uygulamasını ve doğruAccept
başlığını göndermesini sağlar.type="mime/type"
: (İsteğe bağlı ancak önerilir) Kaynağın MIME türünü belirtir. Bu, tarayıcının özellikle yazı tipleri için doğru kaynak biçimini seçmesine yardımcı olur.crossorigin="anonymous"
: (Farklı bir kaynaktan yüklenen yazı tipleri için gereklidir) İstek için CORS modunu belirtir. Bir CDN'den yazı tipleri yüklüyorsanız, büyük olasılıkla bu özniteliğe ihtiyacınız olacaktır.
Örnek: Bir yazı tipini önceden yükleme
Web sitenizde 'OpenSans' adlı özel bir yazı tipine sahip olduğunuzu varsayalım. Önceden yükleme olmadan, tarayıcı bu yazı tipini yalnızca CSS dosyasını ayrıştırdıktan sonra keşfeder. Bu, metnin doğru yazı tipiyle oluşturulmasında bir gecikmeye neden olabilir. Yazı tipini önceden yükleyerek, bu gecikmeyi ortadan kaldırabilirsiniz.
<link rel="preload" href="/fonts/OpenSans-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous">
Örnek: Kritik bir CSS dosyasını önceden yükleme
Web sitenizde ilk görünümü oluşturmak için gerekli olan kritik bir CSS dosyanız varsa, onu önceden yüklemek algılanan performansı önemli ölçüde iyileştirebilir.
<link rel="preload" href="/styles/critical.css" as="style">
Preload için En İyi Uygulamalar
- Kritik Kaynaklara Öncelik Verin: Yalnızca ilk sayfa yüklemesi için gerekli olan kaynakları önceden yükleyin. Aşırı önceden yükleme performansı olumsuz etkileyebilir.
- Doğru
as
Özniteliğini Kullanın: Tarayıcının kaynağı doğru şekilde işlemesini sağlamak için her zaman doğruas
özniteliğini belirtin. type
Özniteliğini Ekleyin: Tarayıcının doğru kaynak biçimini seçmesine yardımcı olmak içintype
özniteliğini ekleyin.- Çapraz Kaynak Yazı Tipleri için
crossorigin
Kullanın: Farklı bir kaynaktan yazı tipleri yüklerken,crossorigin
özniteliğini eklediğinizden emin olun. - Performansı Test Edin: Gerçekten yükleme sürelerini iyileştirdiğinden emin olmak için her zaman önceden yüklemenin performans etkisini test edin. Etkiyi ölçmek için Google PageSpeed Insights veya WebPageTest gibi araçlar kullanın.
Prefetch: Gelecekteki İhtiyaçları Öngörme
Prefetch Nedir?
Prefetch
, tarayıcıya gelecekteki navigasyonlar veya etkileşimler için ihtiyaç duyulması muhtemel kaynakları getirmesini söyleyen bir kaynak ipucudur. Geçerli sayfa için gereken kaynaklara odaklanan preload
'dan farklı olarak, prefetch
kullanıcının bir sonraki hamlesini öngörür. Bu, özellikle sonraki sayfaların veya bileşenlerin yükleme hızını iyileştirmek için kullanışlıdır.
Prefetch Ne Zaman Kullanılır?
prefetch
için kullanın:
- Sonraki Sayfa Kaynakları: Kullanıcının bir sonraki belirli bir sayfaya gitmesi muhtemel olduğunu biliyorsanız, kaynaklarını önceden getirin.
- Kullanıcı Etkileşimleri için Kaynaklar: Bir kullanıcı etkileşimi belirli kaynakların yüklenmesini tetiklerse (örneğin, bir modal pencere, bir form), bu kaynakları önceden getirin.
- Diğer Sayfalardaki Resimler ve Varlıklar: Kullanıcının ziyaret etmesi muhtemel diğer sayfalarda kullanılan resimleri veya varlıkları önceden yükleyin.
Prefetch Nasıl Uygulanır
HTML belgenizin <head>
bölümünde <link>
etiketini kullanarak prefetch
uygulayabilirsiniz:
<link rel="prefetch" href="/page2.html">
<link rel="prefetch" href="/images/product.jpg">
<link rel="prefetch" href="/scripts/modal.js">
Açıklama:
rel="prefetch"
: Tarayıcının kaynağı önceden getirmesi gerektiğini belirtir.href="/path/to/resource"
: Önceden getirilecek kaynağın URL'si.
Örnek: Sonraki sayfanın kaynaklarını önceden getirme
Web sitenizde çok adımlı bir form gibi net bir kullanıcı akışı varsa, kullanıcı geçerli adımdayken sonraki adımın kaynaklarını önceden getirebilirsiniz.
<link rel="prefetch" href="/form/step2.html">
Örnek: Bir modal pencere için kaynakları önceden getirme
Web siteniz açıldığında ek kaynaklar yükleyen bir modal pencere kullanıyorsa, sorunsuz bir kullanıcı deneyimi sağlamak için bu kaynakları önceden getirebilirsiniz.
<link rel="prefetch" href="/scripts/modal.js">
<link rel="prefetch" href="/styles/modal.css">
Prefetch için En İyi Uygulamalar
- Tutarlı Kullanın: Prefetch, kullanıcının önceden getirilen kaynaklara ihtiyacı olmasa bile bant genişliğini ve kaynakları tüketebileceği için tutarlı bir şekilde kullanılmalıdır.
- Olası Gezinmelere Öncelik Verin: Gerçekleşmesi en muhtemel sayfalar veya etkileşimler için kaynakları önceden getirin.
- Ağ Koşullarını Göz Önünde Bulundurun: Prefetch, kararlı ve hızlı internet bağlantısı olan kullanıcılar için en uygunudur. Yavaş veya ölçülü bağlantılardaki kullanıcılar için büyük kaynakları önceden getirmekten kaçının. Kullanıcının bağlantı türünü algılamak ve önceden getirmeyi buna göre ayarlamak için Ağ Bilgisi API'sini kullanabilirsiniz.
- Performansı İzleyin: Web sitenizin performansı üzerindeki önceden getirmenin etkisini, net bir fayda sağladığından emin olmak için izleyin.
- Dinamik Önceden Getirmeyi Kullanın: Kullanıcı davranışına ve analiz verilerine göre önceden getirmeyi dinamik olarak uygulayın. Örneğin, şu anda geçerli sayfada bulunan kullanıcılar tarafından sık ziyaret edilen sayfalar için kaynakları önceden getirin.
Preconnect: Erken Bağlantılar Kurma
Preconnect Nedir?
Preconnect
, önemli üçüncü taraf sunucularla erken bağlantılar kurmanıza olanak tanıyan bir kaynak ipucudur. Bir bağlantı kurmak, DNS araması, TCP el sıkışması ve TLS müzakeresi dahil olmak üzere çeşitli adımlar içerir. Bu adımlar, bu sunuculardan kaynakların yüklenmesine önemli gecikme ekleyebilir. Preconnect
, bu adımları arka planda başlatmanıza olanak tanır, böylece tarayıcının sunucudan bir kaynak getirmesi gerektiğinde bağlantı zaten kurulmuş olur.
Preconnect Ne Zaman Kullanılır?
preconnect
için kullanın:
- Üçüncü Taraf Sunucular: Yazı tiplerine, CDN'lere, API'lere veya web sitenizin bağlı olduğu diğer kaynaklara ev sahipliği yapan sunucular.
- Sık Kullanılan Sunucular: Web siteniz tarafından sık erişilen sunucular.
Preconnect Nasıl Uygulanır
HTML belgenizin <head>
bölümünde <link>
etiketini kullanarak preconnect
uygulayabilirsiniz:
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preconnect" href="https://cdn.example.com">
Açıklama:
rel="preconnect"
: Tarayıcının sunucuya önceden bağlanması gerektiğini belirtir.href="https://example.com"
: Önceden bağlanılacak sunucunun URL'si.crossorigin
: (İsteğe bağlı, ancak CORS ile yüklenen kaynaklar için gereklidir) Bağlantının CORS gerektirdiğini belirtir.
Örnek: Google Yazı Tiplerine önceden bağlanma
Web siteniz Google Yazı Tipleri kullanıyorsa, https://fonts.gstatic.com
adresine önceden bağlanmak, yazı tipi yükleme gecikmesini önemli ölçüde azaltabilir.
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
crossorigin
özniteliği burada çok önemlidir çünkü Google Yazı Tipleri, yazı tiplerini sunmak için CORS kullanır.
Örnek: Bir CDN'ye önceden bağlanma
Web siteniz statik varlıkları sunmak için bir CDN kullanıyorsa, CDN'nin ana bilgisayar adına önceden bağlanmak, bu varlıkların yükleme gecikmesini azaltabilir.
<link rel="preconnect" href="https://cdn.example.com">
Preconnect için En İyi Uygulamalar
- Ölçülü Kullanın: Çok fazla sunucuya önceden bağlanmak, tarayıcının bağlantı kurmak için sınırlı kaynakları olduğundan performansı aslında düşürebilir.
- Önemli Sunuculara Öncelik Verin: Web sitenizin performansı için en kritik olan sunuculara önceden bağlanın.
- DNS Ön Getirmeyi Göz Önünde Bulundurun: Tamamen önceden bağlanmanız gerekmeyen, ancak yine de DNS'yi erken çözmek istediğiniz sunucular için
<link rel="dns-prefetch" href="https://example.com">
kullanmayı düşünün. DNS ön getirme yalnızca DNS araması gerçekleştirir, bu da tam bir ön bağlantıdan daha az kaynak yoğundur. - Performansı Test Edin: Net bir fayda sağladığından emin olmak için her zaman ön bağlantının performans etkisini test edin.
- Diğer Kaynak İpuçlarıyla Birleştirin: En iyi performansı elde etmek için ön bağlantıyı ön yükleme ve ön getirme ile birlikte kullanın. Örneğin, yazı tiplerinize ev sahipliği yapan sunucuya önceden bağlanın ve ardından yazı tipi dosyalarını önceden yükleyin.
Optimum Performans için Kaynak İpuçlarını Birleştirme
Kaynak ipuçlarının gerçek gücü, bunları stratejik olarak birleştirmede yatar. İşte pratik bir örnek:
Bir CDN'de barındırılan özel bir yazı tipi kullanan ve kritik bir JavaScript dosyasını yükleyen bir web sitesi hayal edin.
- CDN'ye önceden bağlanın: Yazı tipine ve JavaScript dosyasına ev sahipliği yapan CDN'ye erken bir bağlantı kurun.
<link rel="preconnect" href="https://cdn.example.com" crossorigin>
- Yazı Tipini Önceden Yükleyin: FOUT'u önlemek için yazı tipini yüklemeye öncelik verin.
<link rel="preload" href="https://cdn.example.com/fonts/myfont.woff2" as="font" type="font/woff2" crossorigin="anonymous">
- JavaScript Dosyasını Önceden Yükleyin: Gerekli olduğunda kullanılabilir olmasını sağlamak için JavaScript dosyasını yüklemeye öncelik verin.
<link rel="preload" href="https://cdn.example.com/scripts/app.js" as="script">
Kaynak İpuçlarını Analiz Etme Araçları
Kaynak ipuçlarınızın etkinliğini analiz etmenize yardımcı olabilecek çeşitli araçlar vardır:
- Google PageSpeed Insights: Web sitenizin performansını optimize etmek için kaynak ipuçlarının kullanımı da dahil olmak üzere öneriler sunar.
- WebPageTest: Web sitenizin performansını farklı konumlardan ve ağ koşullarından test etmenizi sağlar.
- Chrome DevTools: Chrome DevTools'daki Ağ paneli, kaynak yüklemesinin zamanlamasını gösterir ve optimizasyon fırsatlarını belirlemenize yardımcı olabilir.
- Lighthouse: Web sayfalarının kalitesini iyileştirmek için otomatik bir araç. Performans, erişilebilirlik, aşamalı web uygulamaları, SEO ve daha fazlası için denetimleri vardır.
Yaygın Tuzaklar ve Bunlardan Nasıl Kaçınılır
- Kaynak İpuçlarını Aşırı Kullanma: Çok fazla kaynak ipucu kullanmak performansı olumsuz etkileyebilir. En kritik kaynaklara odaklanın.
- Yanlış
as
Özniteliği: Ön yükleme için yanlışas
özniteliğini kullanmak, kaynağın doğru şekilde yüklenmesini engelleyebilir. - CORS'u Yoksayma: Farklı bir kaynaktan kaynak yüklerken
crossorigin
özniteliğini eklememek, yükleme hatalarına neden olabilir. - Performansı Test Etmeme: Net bir fayda sağladıklarından emin olmak için her zaman kaynak ipuçlarının performans etkisini test edin.
- Yanlış Yollar: Kaynak ipuçları için belirtilen tüm dosya yollarını ve URL'lerin doğru olduğundan emin olmak için iki kez kontrol edin ve doğrulayın, aksi takdirde bir hataya neden olur.
Kaynak İpuçlarının Geleceği
Kaynak ipuçları sürekli olarak gelişmektedir ve tarayıcı özelliklerine yeni özellikler ve iyileştirmeler eklenmektedir. Kaynak ipuçlarındaki en son gelişmelerden haberdar olmak, web sitenizin performansını daha da optimize etmenize yardımcı olabilir. Örneğin, modulepreload
, özellikle JavaScript modüllerini önceden yüklemek için tasarlanmış daha yeni bir kaynak ipucudur. Ayrıca, kaynak ipuçları için priority
özniteliği, bir kaynağın önceliğini diğer kaynaklara göre belirtmenize olanak tanır. Bu özellikler için tarayıcı desteği hala gelişmektedir, bu nedenle uygulamadan önce uyumluluğu kontrol edin.
Sonuç
Kaynak ipuçları, web sitesi yükleme sürelerini optimize etmek ve kullanıcı deneyimini iyileştirmek için güçlü araçlardır. preload
, prefetch
ve preconnect
'i stratejik olarak kullanarak tarayıcıyı kritik kaynaklar hakkında proaktif olarak bilgilendirebilir, gecikmeyi azaltabilir ve web sitenizin algılanan performansını artırabilirsiniz. Kritik kaynaklara öncelik vermeyi, kaynak ipuçlarını dikkatli kullanmayı ve değişikliklerinizin performans etkisini her zaman test etmeyi unutmayın. Bu makalede özetlenen en iyi uygulamaları izleyerek, web sitenizin performansını önemli ölçüde iyileştirebilir ve dünya çapındaki kullanıcılarınız için daha iyi bir deneyim sağlayabilirsiniz.