Tarayıcının Önbelleğe Alma Özelliğinden Yararlanmak
Nedir : Tarayıcının ön belleğe alma özelliğinden faydalanarak görseller, CSS, HTML veya JavaScript gibi dosyaları sayfa her ziyaret edildiğinde yeniden yüklenmeden tarayıcı ön belliğinden yüklenmesidir.
Çözüm : htaccess dosyasına belirli kodların eklenmesi.
Uzman Yorumu : Sunucularımızda genel olarak bunu ayarlıyoruz. Statik içerikler için zaman aşımı cloudflare ile de hazırlanıyor. Ancak bu uyarı genel olarak 3. parti yazılımlardan geliyor. Burada önemli olan kullandığımız içeriklerde versiyonlamayı kaldırmak. Yada ismi değiştirmek.
Genel Açıklama
Sayfa yükleme süreleri önemli ölçüde iyileştirilerek kısaltılabilir. Bunun için, sayfa ziyaretçilerinden internet sitenizin içeriği dosyaları kaydetmelerini ve tekrar kullanmalarını isteyebilirsiniz.
Süreleri Ayarlamak İçin Genel Kurallar Nelerdir?
Tarayıcı önbelleği nedir?
Bir tarayıcının bir internet sayfasını her yüklediğinde, sayfayı doğru şekilde görüntüleyebilmek için tüm web dosyalarını indirmesi gereklidir. Bu dosyalar, tüm CSS, HTML, JavaScript ve görüntüleri içermektedir.
Bazı sayfalar sadece birkaç dosyadan oluşabiliyorken ve boyut bakımından küçük olabilir – yalnızca birkaç kilobayt gibi bir boyuttan bahsediyoruz. Fakat; bu sayfalar dışındaki diğer sayfalar için oldukça çok dosya olabilir ve bu dosyalar birkaç megabayt büyüklüğe sahip olabilir. Örneğin; Twitter.com 3 MB ve üzeridir.
Bu tür yüklü dosyalar ile hız sorunu ikiye katlanır.
Tarayıcı önbelleği, bu dosyaların bazılarını yerel olarak kullanıcının tarayıcısında depolayarak yükün azalmasına ve sayfa hızının düşmesini engellemeye yardımcı olabilir. İnternet siteni ilk ziyarete edişlerinde yükleme süresi aynı olacaktır. Fakat; aynı kullanıcı web sitenizi yeniden ziyaret ettiği zaman, internet sayfasını yenilediğinde ya da internet sitenizde başka bir sayfaya geçtiğinde bile, yerel olarak ihtiyaç duydukları bazı dosyalara sahip olurlar. Bu da, tarayıcı önbelleğinin, yüklü dosyaların bazılarını yerel olarak kullanıcının tarayıcısında depolaması ile gerçekleşmektedir.
Bu durum, kullanıcının tarayıcısının indirmesi gereken veri miktarının daha az olduğu ve sunucunuza daha az istekte bulunulması gerektiği anlamına gelir. Elde edilen sonuç ise azalan sayfa yükleme süreleridir.
Nasıl İşliyor?
Tarayıcı önbelleğe alma işlemi, belirli aralıklarla güncellenmesi gereken belirli sayfaları ya da sayfa bölümlerini işaretleyerek çalışır. Örneğin; web sitenizdeki logonun günden güne değişmesi pek muhtemel değildir. Bu logo görüntünüzü önbelleğe alarak, ziyaretçinin tarayıcısına bu resmi sadece haftada bir defa indirmesi söylenebilir. Böylece, ziyaretçinin internet sitenize aynı hafta içinde yaptığı her ziyaret için tarayıcısının logo görüntüsünü tekrar indirmesi gerekmez.
Web sunucusuna, tarayıcıya bu dosyaları kaydetmesini ve geri geldiğinde bu dosyaları tekrar indirmemesini söyleyerek kullanıcılarınıza zaman kazandırırken aynı zamanda web sunucusu bant genişliğinizden tasarruf etmiş olursunuz.
Neden Önemli?
Tarayıcı önbelleğe almanın bu kadar önemli olmasının esas nedeni, web sunucunuzun yükünü hafifletmektir, bu işlem aynı zamanda kullanıcılarınızın yük süresini de azaltır.
Tarayıcı Önbelleği Kaldıracı Nasıl Kullanılır?
Tarayıcı önbelleğini etkinleştirmek için, belirli dosya türlerinin son kullanım zamanlarını belirlemek üzere HTTP başlıklarınızı düzenlemeniz gerekir.
Apache'yi Uygun Başlıkları Sunmak İçin Yapılandırmak
htaccess dosyanızı domaininizin kökünde bulun. Bu dosya gizli bir dosyadır, fakat; FileZilla ya da CORE gibi FTP istemcilerinde görünmelidir. Not defteri veya herhangi bir temel metin editörü ile htaccess dosyasını düzenleyebilirsiniz.
Bu dosyada, önbellek parametrelerimizi tarayıcıya ne tür dosyaları önbelleğe alacağını söyleyecek şekilde ayarlayacağız.
ExpiresActive On
# Images
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/x-icon "access plus 1 year"
# Video
ExpiresByType video/mp4 "access plus 1 year"
ExpiresByType video/mpeg "access plus 1 year"
# CSS, JavaScript
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
# Others
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
Web sitenizin dosyalarına göre farklı sonlandırma süreleri belirleyebilirsiniz. Css dosyaları gibi bazı dosya türleri daha sık güncellenirse, dosyalarda daha erken bir zaman aşımı süresi ayarlayabilirsiniz.
İşiniz bittiğinde dosyayı bir .txt dosyası olarak kaydetmelisiniz.
Herhangi bir CMS kullanıyorsanız, önbellek uzantıları ya da eklentileri bulunuyor olabilir.
Öneriler
Dikkat Edilmesi Gerekenler
Tarayıcıyı önbelleğe alırken, belirli dosyalarda parametreleri oldukça uzun süreli olacak şekilde ayarladıysanız, dikkatli olun. Ziyaretçileriniz güncellemelerden sonra internet sitenizin yeni sürümünü görüntüleyemeyebilir.
Dikkatli olmanız gereken bu durum, özellikle web sitenizdeki değişiklikler için dışarıdan bir tasarımcıyla çalışıyorsanız geçerlidir. Tasarımcı firma değişiklikleri yapmış olabilir, fakat; henüz siz bu yapılan değişiklikleri görememiş olabilirsiniz. Bunun sebebi, değiştirilmiş öğelerin tarayıcınızda önbelleğe alınmış olmasıdır.