Cache (Önbellekleme), uzak sunucudaki siteye ait dosyaların lokalde tutularak yeni gelen kullanıcılara sunulması işlemidir. Böylece, sitenin yüklenmesi için gereken tüm dosyaların her ziyarette yeniden yüklenmesinin önüne geçilerek hem sunucu kaynaklarının gereksiz harcanmasının önüne geçilir hem de sitenin daha hızlı açılması konusunda yardımcı olur.
HTML, CSS, Javascript ve hatta görseller dahil birçok dosya önbelleğe alınabilir.
Yani kısaca, caching bir web sitesinin hızlı bir şekilde yüklenmesini sağlayarak kullanıcı deneyimini artırır ve SEO skorunu yükseltir.
Biraz daha daha detaylı anlatacak olursak, bir web sitesinin günde binlerce ziyaretçi aldığını varsayalım. Bu binlerce ziyaretçinin her biri için tarayıcılar tüm dosyaları yeniden yükleme işlemi yaparlar.
Yani o sayfadaki ana menünün, logonun, footer elementlerinin ve görsellerin binlerce kez tekrar tekrar indirildiğini hayal edin.
Bu şekilde düşünüldüğünde, eğer web sitesi anlık güncellenmiyorsa (ki çoğu zaman böyle olmaz) ne kadar gereksiz bir kaynak harcaması yapıldığını daha iyi anlayabilirsiniz.
Bunun yerine, her defasında yeniden yüklenen bu kaynak dosyaların son halinin sunucu taraflı kayıt altına alındığını ve tüm ziyaretçiler için bu versiyonun ekrana getirildiğini düşünün.
Hem tüm dosyalar yeniden indirilmeyecek hem de sunucu kaynaklarının tasarrufu sağlanabilecek.
İşte cache tam olarak bunu yapıyor.
Önbellekteki Sayfalar Nasıl Sunulur?
Öncelikle bir web sayfasının nasıl tarayıcı tarafından ekrana bastırıldığını anlamak gerekir.
Örneğin, bir blog sayfasının cache’i aktif ettiğini varsayalım. Bu siteye gelen ve anasayfayı ziyaret eden ilk kullanıcı normal bir şekilde sunucu tarafındaki tüm dosyaları indiren taraf olur. Tarayıcı da bu dosyaları okuyarak (HTML, CSS, JS …) analiz eder ve son halini kullanıcının ekranına getirir.
Bu ziyaretle beraber, sunucu tarafında bir önbellekleme işlemi başlatılır ve daha önce ilk ziyaretçinin indirdiği sunucu dosyaları geçici bellekte (RAM) tutulur. Bu dosyalar artık yeni ziyaretçilere normalden çok daha hızlı bir şekilde sunulmaya başlar.
Peki ama eğer web sitesinde değişiklik olursa ne olur?
Sitede bazı aktiviteler sonucunda önbellekteki dosyalar silinerek yeni hali yeniden RAM’e kaydedilir. Örneğin, WordPress kullanan bir blogun yeni yazı yayımlamasının ardından anasayfa, ilgili kategori ve içerik sayfalarının önbellekteki dosyaları silinerek yeni yazının görüneceği şekilde yeniden kayıt altına alınır.
SEO Açısından Önemli Midir?
HTML5 standartlarını uyulmuş ve gereksiz kod barındırmayan birçok web sitesi zaten hızlı bir şekilde yüklenebilir. Ancak, bir web sitesi ne kadar hızlı yüklenirse yüklensin doğru kurgulanmış önbellekleme ile daha iyi sonuçlar elde etmesi kaçınılmazdır.
SEO’nun kullanıcı deneyimini artırmak olduğunu düşündüğünüzde, site hızı konusunda inanılmaz faydası olan bu teknolojiyi de göz ardı etmek olmaz.
Cache Çeşitleri
Önbellekleme yapmanın birden fazla yolu bulunuyor.
1. Site taraflı önbellekleme
En sık kullanılan yöntemlerin başında gelir. Önbelleğe alınmış sayfa ziyaret edildiğinde, önceden kayıt altına alınmış dosyalar tarayıcıya gönderilecek kullanıcıya gösterilir.
Eğer bir WordPress siteniz varsa Wp Fastest Cache, WP Rocket ya da Litespeed Cache gibi eklentileri kurarak hızlı bir şekilde önbelleği aktif edebilirsiniz.
2. Tarayıcı Önbelleği
Sitenizin önyükleme ile gelmesini istediğiniz dosyaları kullanıcının tarayıcısında tutarak daha hızlı yükleme yapmaya yarayan yöntemdir.
Google Chrome, Mozilla Firefox ya da Opera gibi yeni nesin tüm tarayıcılar için önbellekleme yaptırabilirsiniz.
Bunun için .htaccess dosyası içerisinde aşağıdaki kod bloğunu kullanmanız yeterlidir:
# Enable GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</ifmodule>
# BEGIN Cache-Control Headers
<IfModule mod_expires.c>
<IfModule mod_headers.c>
<filesMatch "\.(ico|jpe?g|png|gif|swf)$">
Header append Cache-Control "public"
</filesMatch>
<filesMatch "\.(css)$">
Header append Cache-Control "public"
</filesMatch>
<filesMatch "\.(js)$">
Header append Cache-Control "private"
</filesMatch>
<filesMatch "\.(x?html?|php)$">
Header append Cache-Control "private, must-revalidate"
</filesMatch>
</IfModule>
</IfModule>
#Customize expires cache start - adjust the period according to your needs
FileETag MTime Size
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
ExpiresActive On
ExpiresByType text/html "access 600 seconds"
ExpiresByType application/xhtml+xml "access 600 seconds"
ExpiresByType text/css "access 1 month"
ExpiresByType text/javascript "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresDefault "access 1 month"
#Expires cache end
3. Sunucu Taraflı Önbellekleme
Bu yöntemi şöyle özetleyelim: site dosyalarınızın bir başka sunucu içerisinde barındırıldığını düşünün. Sitenize gelen her yükleme talebinde bazı dosyalarınızın anında tarayıcının talebine yanıt vererek yüklendiğini düşünün. Hem sunucu yükleriniz azalacak hem de bu sayede daha hızlı açılan bir web sayfanız olacaktır.
Bu teknolojiye Content Delivery Network (CDN) adı veriliyor.
Bu hizmeti veren birçok web servisi olmasına rağmen bunlardan en bilineni ve bizim de tavsiye ettiğimiz Cloudflare’dir. Cloudflare’in ücretsiz paketini kullanarak dahi sitenizin hem SEO hem de yükleme performansını önemli ölçüde artırabilirsiniz.
Özetle
Cache teknolojisi, web sitesi hızını artırarak kullanıcı deneyimini önemli ölçüde etkilemektedir. Doğru bir kurgu ile çok hızlı yükleme süreleri elde edebilir ve Core Web Vitals’ın önemli metriklerini de sağlayabilirsiniz. Aynı zamanda sunucu yüklerini de azaltmış olacaksınız.
Eğer sitenizde önbellekleme işlemi yapmıyorsanız bir an önce başlamanızı şiddetle tavsiye ediyoruz.