Kullanıcılar ve arama motorları için sayfanın açılış hızının çok önemli olduğunu biliyoruz. Rekabetin ve internet kullanımın arttığı günümüzde kaliteli siteler arasında yer almak rekabet edebilmenin tek yolu.
Gece vakti gözlerinize daha nazik davranan karanlık moda geçin.
Gündüz vakti gözlerinize daha nazik davranan ışık moduna geçin.
Gece vakti gözlerinize daha nazik davranan karanlık moda geçin.
Gündüz vakti gözlerinize daha nazik davranan ışık moduna geçin.
Kullanıcılar ve arama motorları için sayfanın açılış hızının çok önemli olduğunu biliyoruz. Rekabetin ve internet kullanımın arttığı günümüzde kaliteli siteler arasında yer almak rekabet edebilmenin tek yolu. Kaliteli sitelerin özelliklerinden birisi de düşük yüklenme süreleri ve hızlı bir şekilde açılan sayfalar. Bu sebeple hız optimizasyonu web siteleri için Web sitesi sahipleri hem sunucu yükünü hafifletmek hem de kullanıcılara daha hızlı bir deneyim sunmak için çok önemlidir. Açık kaynaklı Brotli sıkıştırması da hız optimizasyonu çalışmalarında sıkça tercih edilen yöntemlerden birisidir.
Bu içerikte Brotli nedir, nasıl kullanılır, ne işe yarar, diğer sıkıştırma yöntemlerinden farkları nelerdir gibi soruların cevaplarına değineceğiz.
Keyifli okumalar.
Brotli Google çalışanı olan Zoltán Szabadka ve Jyrki Alakuijala tarafından geliştirilen, 2013 yılında yayımlanan, kayıpsız bir şekilde HTML, CSS, Javascript kodlarının sıkıştırmaya yarayan algoritmadır. Kod Parçalarının dosya boyutunu küçülterek sunucu ve tarayıcı arasındaki veri alışverişini kolaylaştırır ve daha hızlı bir şekilde gerçekleşmesini sağlar.
Brotli’nin çalışma mantığı basitçe sunucudan tarayıcıya iletilen sayfalara ait dosyaların boyutlarının sıkıştırılmasıdır. Dosya boyutlarının azalmasıyla tarayıcı ve sunucu arasındaki veri alışverişi daha kısa sürer ve sayfaların daha hızlı yüklenmesi amaçlanır. Bu sayede tarayıcının web sitesini kullanıcılara normalden daha hızlı göstermesi sağlanır.
Brotli, sunucu ve tarayıcı arasındaki alışverişi hızlandırmak için web sayfalarını oluşturmak için gerekli olan dosyaların boyutlarını sıkıştırmak için kullanılır. Bu sıkıştırma işlemini anlamak ve Brotli nasıl çalışır öğrenmek için aşağıdaki maddeleri inceleyebilirsiniz:
Kullanıcı Brotli sıkıştırması kullanan bir sunucudan istekte bulunur. Yani tarayıcıya bir URL girer.
Tarayıcı Accept-Encode yani Kabul-Kodlama üst bilgisini kullanarak sunucuya getireceği(ileteceği) içeriği ve dosyaları belirtir.
Sunucu sıkıştırma algoritmasına bağlı olarak ileteceği sıkıştırılmış dosyalara karar verir.
Sunucu içerik-kodlama(content-encoding) üst bilgisini tarayıcıya iletir.
Tarayıcı önce sunucudan sıkıştırılmış olarak iletilen verileri açar(encode) ve sayfayı yükler.
Kayıpsız dosya sıkıştırmak için en çok terch edilen yöntem olan Brotli, Gzip alternatifi olarak bilinmektedir. Gzip, tıpkı Brotli gibi sunucuda yer alan dosyaların boyutlarını küçültmeye yarayan bir yazılımdır. Ancak W3techs raporuna göre web sitelerinin %35’i dosya sıkıştırma yöntemi olarak Brotli’yi tercih etmektedir. Neden GZİP alternatifi olarak görüldüğünü ve en çok tercih edilen sıkıştırma yöntemi olarak görüldüğünü anlamak için bu iki sıkıştırma yöntemi arasındaki farkları incelemekte fayda var. Brotli ve GZİP arasındaki farklar şunlardır;
Brotli, GZİP ile kıyaslandığında HTML dosyalarını % 21
Javascript dosyalarını %14
CSS dosyalarını ise %17 daha küçük boyutlarda sıkıştırabilmektedir.
Brotli GZİP’e göre daha az bant genişliği kullanır, böylece yüklenme hızını da arttırır.
Gzip 32 KB sabir bir pencere kullanırken, Brotli 1-16 KB arası kayar bir pencere kulanmaktadır.
Gzip sıkıştırma düzeyleri 1-9 aralığındayken, Brotli 1-11’e kadar sıkıştırma düzeyine sahiptir. En yüksek düzey 10-11 en düşük ise 1’dir. Aşırı sıkıştırma veri alışverişi sırasında sorun yaratabileceği için önerilen değerler 4-9 arasıdır.
Brotli ilk yayımlandığı zaman fazla tarayıcı tarafından desteklenmese de günümüzde birçok tarayıcı Brotli Sıkıştırmasını desteklemektedir. canıuse.com sitesini ziyaret ederek Brotli destekleyen tarayıcı ve tarayıcı sürümlerini görmek mümkün.
Bu tabloya göre Brotli Sıkıştırmasını destekleyen tarayıcılar;
Chrome
Safari
Edge
Firefox
** Internet Explorer Brotli’yi desteklememektedir.
Brotliyi kurma işlemi kullanılan sunucuya göre değişebilmektedir. Bazı sunucular default olarak Brotli sıkıştırmasını kullansa da manuel olarak etkinleştirmek için bazı adımları izlemek gerekir.
Ngnix sunucular için Brotli kurulumunda öncelikle Ngnix.config file dosyasına erişmeniz gerekir. Bu dosya aşağıdaki konumlardan birisinde olacaktır;
/usr/local/nginx/config
/etc/nginx
/usr/local/etc/nginx
Dosyayı açtıktan sonra aşağıda yer alan metni ilgili dosyaya eklemeniz ve sıkıştırma tercihinize göre optimize etmeniz gerekmektedir.
brotli on;
brotli_statistic on;
brotli_comp_level 9;
brotli_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss;
Yukarıda yer alan komutları ilgili dosyaya eklediğinizde Brotli’yi sunucunuzda etkinleştirmiş olacaksınız. brotli_comp_level komutuna atanan değer 1-11 arasında değişebilmektedir ancak dengeli ve iyi bir performans için 4-9 arası bir değer seçilmesi önerilir.
Brotli’nin etkin olup olmadığını kontrol etmek için kullanabileceğiniz iki yöntem vardır. İlk yöntem web sitesindeki herhangi bir sayfayı açıp, sağ tıklarayak “inspect” yani incele demektir. Network sekmesine gelip sayfayı yenilediğinizde yüklenen dosyalardan birine tıklayın. Response headers kısmında content-encode:br komutunu görüyorsanız sıkıştırmanın etkin olduğunu anlayabilirsiniz.
Brotli veya herhangi bir sıkıştırma yönteminin etkin olup olmadığını öğrenmenin bir diğer yolu ise giftofspeed.com gibi kontrol Tool’ları kullanmaktır. Bu ve benzeri sitelere URL girişi yaparak ilgili sayfada/sitede Brotli veya GZİP sıkıştırılmanın etkin olup olmadığını kontrol etmek mümkün.
Brotli, web sitesi sahipleri ve kullanıcılara pek çok fayda sağlar. Brotli kullanmanın avantajlarından kısaca bahsedelim.
Web sayfasının yüklenmesi için gerekli dosyalar sıkıştırıldığında daha az bant genişliği kullanır. Azaltılmış bant genişliği kullanımı sayfaların daha hızlı açılmasını sağlar. Sayfa yüklenme hızının sıralama faktörü olarak görüldüğü ve kullanıcılar için önemi de göz önünde bulundurulduğunda Brotli kullanımının ne kadar faydalı olduğu daha iyi anlaşılmaktadır. Daha hızlı sayfalar organik sonuçlardaki pozisyonları da olumlu etkileyecektir.
Kullanıcılar web sitelerinin yüklenme hızları konusunda çok hassastır. Sayfa yüklenme hızının düşük olduğu web siteleri, ziyaretçilerini rakiplerine kaptırır. Daha iyi bir kullanıcı deneyimi sunabilmek ve hızlı açılan sayfalara sahip olmak için Brotli kullanımı faydalı olacaktır. Daha hızlı açılan sayfalar kullanıcıların farklı alternatifler aramasını önleyerek Bounce Rate oranının düşmesini sağlayacaktır.
Brotli günümüzde birçok tarayıcı tarafından destekleniyor. İlk çıktığı zamanlar destekleyen taracıyı sayısı az olsa da artık bu bir sorun olmaktan kalktı. Bu da Brotli kullanmanın kolaylaşması ve yaygınlaşması demek. Daha hızlı sayfalar için bu fırsatı değerlendirmemek rakiplerden geri kalmanıza sebep olabilir.
Brotli az veri kullanımı sayesinde mobil kullanıcılara büyük oranda tasarruf sağlar. Sıkıştırma Algoritması sayesinde küçülen dosya boyutları mobil kullanıcıların daha az veri kullanmasını sağlar. Sayfa hızı artarken kullanılan veri de azalır. Kullanıcılar daha az veri kullanarak daha hızlı sayfalara erişir. Brotli ile sıkıştırılan dosyalar mobil cihazlarda daha az işlemci gücü kullanacağından hızın yanında şarj tüketimini de azaltacaktır.
Web içeriklerine ait dosyaları sıkıştırmak için uzun bir süre kullanılan Gzip, LZ77 ve Huffman kodlamasına dayanan açık kaynaklı sıkıştırma yazılımıdır. Brotli, günümüzde sağladığı birçok avantaj ve kolaylıkla Gzip alternatifi olarak kullanılmaktadır. Sunucudan tarayıcıya iletilen dosyaların boyutlarının sıkıştırılmasıyla daha hızlı sayfalara sahip olmayı sağlar. Gzip ile kıyaslandığında çok daha fazla sıkıştırma imkanı sağlayan Brotli, hemen hemen tüm tarayıcılarda desteklenmektedir. Brotli sıkıştırması hem web sitesi sahiplerine hem de kullanıcılara büyük avantajlar sağladığı için günümüzde en çok tercih edilen sıkıştırma yöntemi olarak görülmektedir.