Her şeyden önce, hız ile başlayalım!
Günümüzde hız, Google sıralaması ve müşteri memnuniyeti ile doğrudan bağlantılı olduğundan, herhangi bir web sitesinin başarısı için kritik bir faktördür.
Site hızı ile karlılık arasındaki ilişkinin ne kadar yakın olduğuna dair bazı rakamlar koymak gerekirse, sayfa yanıtındaki 1 saniyelik gecikmenin dönüşümlerde %7’lik bir azalmaya neden olabileceği ortaya çıkıyor.
Web site hızı 2021 ve sonrasından neden çok önemlidir yazımızı da mutlaka okumanızı öneririm.
Akıllı önbellek geçersiz kılma (cache invalidation) konusuna ve web sitelerinin yükleme sürelerine nasıl fayda sağladığına girmeden önce, öncelikle önbelleğe almayı hız optimizasyonu sürecinde neyin bu kadar yararlı kıldığını belirlememiz gerekiyor.
Önbelleğe alma nedir ve neden herkes kullanır?
Teknolojik olarak konuşursak, bir kullanıcı web sitenize erişmeye çalıştığında, tarayıcısı sunucunuza HTML ve PHP dosyalarını, komut dosyalarını, görüntüleri ve yazı tiplerini içeren istekler gönderir. Sunucu yanıt verdikten sonra, tarayıcı bu bilgileri tam olarak çalışan bir web sayfası halinde bir araya getirir.
Bu işlem birkaç saniye sürebilir, bu da o kullanıcının ilgisini çekme şansınızı büyük ölçüde azaltmanız için yeterlidir.
Ve bu, önbelleğe alma kavramının devreye girdiği yerdir.
Web sitesi hız optimizasyonu için önbelleğe almanın ne kadar etkili olabileceğine dair en sevdiğim örnek bir arkadaşımızın deneyiminden geliyor ve konuşmalarından birinde izleyicilerine “3,485,250 bölü 23,235 kaçtır?” sorusunu soruyor.
Oldukça sessiz birkaç dakikadan sonra, birisi cevabı bulup haykırabilmiş (Bu arada, bu cevap 150 idi). Hemen ardından, arkadaşımız soruyu tekrar sordu ve bu sefer herkes hemen aynı sonucu söyleyebildi.
Bu örneği, web sitenizin bağlamına uygulandığında, önbelleğe almanın temel fikri, zaman alan hesaplamaları bir kez yapmak ve ardından (hızlı bir şekilde!) zaten mevcut olan cevabı sunmaktır.
Örneğin, TurboPak, sitenizin her sayfası için cihaz başına (mobil, tablet ve masaüstü) önbelleğe alınmış sürümler oluşturur- bunları “anlık görüntüler” olarak düşünebilirsiniz. Bir kullanıcı web sitesine erişmeye çalıştığında, karmaşık istek sürecinden tekrar geçmek yerine anında anlık görüntü sunulur. Bu şekilde, bir sayfa yükleme süresi, gerçekte olduğunun bir kesiti haline gelir.
Teknolojik olarak konuşursak, bir kullanıcı web sitenize erişmeye çalıştığında, tarayıcısı sunucunuza HTML ve PHP dosyalarını, komut dosyalarını, görüntüleri ve yazı tiplerini içeren istekler gönderir. Bu isteğin sunucunuz tarafından karşılanması normalde önbelleğe alınmış sürüm olmadan gerçekleşir.
Peki, web sitenizde her değişiklik yaptığınızda ne olur?
Bu harika bir soru.
Önbelleğe alınan anlık görüntüler teknik olarak statik HTML dosyaları olduklarından, kendilerini güncelleyemezler.
Yağmurda dışarıda oynadıktan hemen sonra köpeğinizin fotoğrafını çekmek ve bunu banyodan sonra bir resmiyle karşılaştırmaya çalışmak gibidir.
Sadece eşleşmeyecekler. Bu nedenle, eskisinin yerini alan yeni bir anlık görüntünün yapılması gerekiyor.
Bunu gerçekleştirmenin bir yolu, içeriğinizin sık sık yeni anlık görüntülerini almaktır. Ancak bu, uygulamanızın üzerindeki yükü artıracaktır.
Dolayısıyla, yüzeyde, web sitesi sahiplerinin önbelleğe alma konusunda karşılaştıkları bir ikilem var gibi görünüyor.
Bir yandan, içeriği daha uzun süre önbelleğe alarak elde edilen daha düşük uygulama yükü ve daha hızlı yanıt süresi seçeneğine sahipsiniz. Öte yandan, çevrimiçi yayınlar yayınlamaz taze içerik sunmak istersiniz.
Peki önbellek geçersiz kılma nedir?
Web sitenizde bir düzenleme yaptıktan sonra yeni bir anlık görüntünün alınması gerektiğinde devreye giren TurboPak işlevi, önbellek geçersiz kılmadır.
Önbellek geçersiz kılma aslında yukarıdaki bahsettiğimiz sorunu çözer ve hepsine sahip olmanıza izin verir.
Esasen, önbellek geçersiz kılmayı kullandığınızda olan şey, uygulama verileri güncellenir güncellenmez, web sunumunun otomatik olarak güncelliğini yitirdiği için geçersiz kılınmasıdır, böylece bir ziyaretçi / müşteri bir sonraki veriyi istediğinde yeni güncellenmiş sürümü alır.
Hadi akıllıca yapalım
Bu nedenle, geçersiz kılma yoluyla TurboPak, sayfalarda yapılan değişiklikleri tespit ederek ve otomatik olarak yeni bir önbelleğe alınmış sürüm oluşturarak site ziyaretçilerinizin en son içeriğinizi görmesini sağlar.
Ancak bu, eski önbelleğin yeni anlık görüntü ile değiştirilmesi için temizlenmesi gerektiğinden, bir değişiklik yapıldığında sayfa hızınızın düştüğü anlamına mı geliyor?
Aslında hayır!
Akıllı Önbellek Geçersiz Kılma (Smart Cache Invalidation) özelliğimiz, sayfanın önceki önbelleğe alınmış sürümünü gerçek zamanlı ziyaretçilere sunarken, önbelleğin arka planda güncellenmesine olanak tanır.
Bu işlem, bir güncelleme algılandığında otomatik olarak gerçekleşir ve tamamlanması genellikle yalnızca saniyeler (en fazla bir dakika) sürer.
Bu, web sitenizin ziyaretçilerine asla optimize edilmemiş (yavaş) sayfalar sunmayacağınız anlamına gelir.
Önbellek geçersiz kılmaya ilişkin sonuç
Kısacası, önbellek geçersiz kılma, hızdan ödün vermeden yeni içerik sunmanızı garanti eden web sitesi optimizasyonu için son derece değerli bir araçtır.
Phil Karlton zamanında söylediği ünlü sözü ile ‘Bilgisayar Bilimi’nde (computer science) sadece iki zor şey vardır: önbellek geçersiz kılma ve bir şeyleri isimlendirmek” demiştir.
Neyse ki TurboPak ile önbellek geçersiz kılmanın ne kadar zor olduğu konusunda endişelenmenize gerek kalmaz.
Bu özelliği önceden yapılandırılmış ve en kısa sürede kullanıma hazır sunuyoruz.
Yorum kısmında önbellek geçersiz kılma hakkında (veya web sitesi hızı ve hızlandırma ile ilgili herhangi bir şey) herhangi bir sorunuz varsa yazabilirsiniz, size cevap vereceğimizden emin olabilirsiniz.
Tabii TurboPak ekibi olarak blog sayfalarımızda daha birçok bilgi ve rehber paylaşıyoruz, onlara bakmanızı da öneririz.
Siz de fikrinizi belirtin