Gzip Nedir? Ne İşe Yarar? Nasıl Yapılır?
Web sitenizin çok daha hızlı yüklenmesini gzip sıkıştırma yaparak sağlayabilirsiniz. Gelin Gzip nedir? sorusunu cevaplayalım.
İçindekiler
Gzip Nedir ?
Kısaca Web sitenizin dosyalarının sıkıştırılması demektir. HTML, CSS, JavaScript gibi sitenizin çalışmasını sağlayan kodlamaları sıkıştırarak sitenizin hızlı açılmasını sağlar. Burada sıkıştırmadan kasıt dosya boyutunun küçültülmesi anlamındadır.
Biliyorsunuz ki ne kadar küçük dosya boyutu o kadar hız demektir. Bir kullanıcı sizin Web sitenizi ziyaret ettiğinde yukarıda saymış olduğum dosya türleri devreye girer. Bunu sunucudan indirmesi de biraz zaman alır. Bunların boyutları küçültülürse sunuculardan daha hızlı çekilecektir.
İşte Gzip ile dosya boyutlarını %50-%60 gibi değerlerde küçültebiliyorsunuz. Tabii ki bu boyutlar siteden siteye göre değişmektedir. Genel olarak sitenizin hızını arttırmakta önemli rol oynayan uygulamalardan bir tanesidir.
Gzip Nasıl Çalışır?
Kayıpsız bir sıkıştırma algoritmasına dayanmaktadır. Bu işlem sayesinde, orijinal biçimindeki veriler sıkıştırma sırasında ve sonrasında değiştirilmez.
Bu sıkıştırmanın iki aşaması vardır:
- Tekrarlanan bayt dizileri, sıkıştırma sırasında tanımlanır ve daha kısa bir dizi ile temsil edilir.
- Kısaltılmış dizilere, dizinin ne sıklıkta meydana geldiğine göre belirlenen bir dizi bit atanır. Bir dizi sık sık görünüyorsa, daha az bit atanır. Alternatif olarak, dizi sık görünmüyorsa daha fazla bit atanır.
Bu işlem sayesinde orijinal dosya sıkıştırılır.
Gzip Sıkıştırması Etkili midir ?
Aslında yukarıda öneminden bahsettim ama hâlâ daha akılda kalan algıları yontmak için etkisine değineceğim. Mesela siz bir siteye girdiniz. Siteye girdiğiniz zaman HTML, CSS, JavaScript gibi dosyalar önbelleğinize indirilir.
Misal veriyorum bu dosyaların tamamı 5MB boyutunda yer kaplasın. Siz bunu gzip sıkıştırma yöntemi kullanarak hemen hemen 3MB’ye kadar düşürebilirsiniz. Şimdi soruyorum sizlere 5MB dosya mı daha hızlı iner 3MB dosya mı? Tatbikîde 3 MB dosya daha hızlı iner.
Bu optimizasyon türü, dosya boyutunu yüzde 80 veya daha fazla önemli ölçüde azaltır. Bu, daha hızlı sayfa yükleme sürelerine, daha az bant genişliği kullanımına ve SSL ek yükünün azalmasına yarar sağlar. Bu sıkıştırma, bir SSL el sıkışması sırasında gidiş dönüş sayısını en aza indirerek genel performansı ve verimliliği artırır.
Ek olarak, bu işlem web sitenizin Arama Motoru Optimizasyonunu (SEO) iyileştirmeye yardımcı olabilir. SEO sıralamaları için önemli bir faktör olan sayfa yükleme sürelerini azaltır ve ayrıca JavaScript ve HTML dosyalarının dosya boyutunu azaltır. Bu, arama motoru web tarayıcılarının sayfalarınızı ve içeriğinizi daha hızlı dizine ekleyebileceği anlamına gelir.
Dosyaların boyutları ne kadar oranda küçülürse yaklaşık o oranda siteniz daha hızlı açılır. Bu yüzden Web sitesi için çok etkili bir yöntemdir. Muhakkak bu yöntemi kullanınız. Herkesin kullandığı bir yöntemdir. Herkesin kullandığı bir yöntemi sizin kullanmamanız sizi oldukça geriye çeker.
Yeni nesil web sitelerinde önem vermeniz gereken kurallardan biri diyebilirim. Bu uygulamayı Cpanel üzerinden de yapabilirsiniz fakat, bu yöntem daha karmaşık ve zor gibi gözüktüğü için anlatım için daha basit bir yol gösterdim.
Kayıpsız Sıkıştırma
Kayıplı sıkıştırmadan farklı olarak, kayıpsız sıkıştırma, dosya sıkıştırıldıktan sonra orijinal olarak dosyada bulunan her bir veri bitinin kalmasını sağlar. Bu, metin dosyaları veya yazılım yürütülebilir dosyaları gibi her veri bitinin aynı olmasını gerektiren dosyalar için çok önemlidir.
Yukarıda bahsedilen sıkıştırma yöntemi, kayıpsız bir sıkıştırma algoritması örneğidir. Bu durumda, orijinal veriler sıkıştırılmış verilerden mükemmel bir şekilde yeniden oluşturulabilir.
Bu sıkıştırma yöntemini kullanarak, dosya boyutlarını etkili bir şekilde azaltabilir ve HTTP üzerinden içerik dağıtımının verimliliğini artırabilirsiniz.
HTTP Sıkıştırma
HTTP sıkıştırması, aktarım hızını ve bant genişliği kullanımını iyileştirmek için web sunucularına ve web istemcilerine yerleştirilebilen bir özelliktir. Uygulandığında, bu işlem sunucudan istemciye gönderilmeden önce veri boyutunu azaltır ve böylece verilerin İnternet’te dolaşması için geçen süreyi azaltır.
HTTP sıkıştırması, sunucu tarafındaki verileri sıkıştırmak için standart algoritmalar kullanarak çalışır. İstemci sıkıştırılmış verileri aldıktan sonra, istemcinin kullanabilmesi için sıkıştırılmış veri açılır. Bu yaklaşım, özellikle büyük miktarda veri veya yavaş ağ bağlantılarıyla uğraşırken, web sitelerinin ve web uygulamalarının performansını artırmak için özellikle kullanışlıdır.
En yaygın iki HTTP sıkıştırma türü gzip ve deflate’dir, ancak başka türlerde mevcuttur. Bu sıkıştırma yöntemleri, iletilen verilerin boyutunu %70-90’a kadar azaltabildikleri gibi HTML, CSS veya JavaScript dosyaları vs. metin dosyalarında özellikle etkilidir.
Gzip Aktif mi, Değil mi, Nasıl Öğrenebilirim ?
Sitenize bu sıkıştırma yöntemini uygulamadan önce web sitenizde “Gzip sıkıştırma aktif mi, değil mi?” öncelikle onu kontrol etmeniz gerekmektedir. Kontrol edebilmeniz için ise Giftospeed sitesini öneriyorum.
Siteye girdiğiniz zaman site adresinizi yazabileceğiniz bir bölüm çıkacaktır. O bölüme sitenizi yazarak “Test URL butonuna basın”. Sitenizle alakalı bilgiler anında karşınıza dökülecektir.

Hepimiz “Enabled” yazısını gördük. Bu sıkıştırmanın aktif olduğu anlamına gelmektedir. Hemen altında ise sıkıştırma oranını görmektesiniz. %79.77’lik bir sıkıştırılma sağlanmış. Sıkıştırılmadan önceki boyutu 138.25KB imiş. Sıkıştırıldıktan sonra ise 27.97KB boyutuna küçültülmüş. Bu sıkıştırma için devasa bir oran.
Eğer “Disabled” görürseniz zaten sıkıştırma aktif değildir. Aktifleştirmek için aşağıdaki adımları izleyebilirsiniz.
Wordpress hakkında daha fazla bilgi sahibi olmak için buraya tıklayabilirsin.
Gzip Sıkıştırma Nasıl Aktif Edilir ?
Normalde bu sıkıştırma türü hosting sağlayıcınızın sağlaması gerekmektedir. Hemen hosting sağlayıcınızla iletişime geçerek aktif edilmesini isteyin. Eğer pek bir sonuç alamazsanız aşağıdaki adımları izleyin.
Bu işlemi uygularken .htaccess dosyasıyla işlem yapılacaktır. Yapılacak işlemler çok basit olup bir o kadarda sıkıntılı olabilir. Çünkü .htaccess dosyasında ekleme çıkarma yaptığınız zaman sitenizin bozulması muhtemeldir.
Siz sitenizin ana dizininde bulunan .htaccess dosyasına aşağıda vereceğim kodları ekleyin. Ekledikten sonra eğer herhangi bir sıkıntı yaşarsanız eklediğiniz kodları silmeniz gerekebilir.
Bu kodu sitenizin ana dizininde bulunan .htaccess dosyasının en alt satırına ekleyin.
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/opentype
# For Older Browsers Which Can't Handle Compression
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
Eğer eklediğinizde herhangi bir sıkıntıyla karşılaşırsanız sunucunuz bu kodları desteklemiyor demektir. Bu yüzden sıkıntıyla karşılaştığınız zaman eklediğiniz kodları silerek aşağıdaki alternatif kodları ekleyiniz.
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
Eğer hâlâ daha Gzip etkileştirilmediyse eklediğiniz kodu silerek son kodu ekleyerek denemelisiniz. Aşağıdaki kod Apache sunucuları için oluşturulmuş koddur. Son kez bu kodu deneyin eğer olmazsa eklediğiniz kodları tekrar silin.
Apache Web Sunucularında Gzip Etkinleştirme
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
Kodları ekledikten sonra siteye gelerek ana sayfanızı yenileyin. Ardından sitenizin gzip sıkıştırmasını Giftospeed sitesinden tekrar kontrol edin. Kodları eklediğinizde eğer sitenizde Cache eklentisi mevcut ise, cache temizleme işlemi yapın. Çünkü sitenizin kodları eklemeden önceki konumunu aklında tutarak ona göre bir sonuç çıkarabilir karşınıza.
Sitenize kodları eklerken çok titiz davranmalısınız. Ne yaptığınızı aklınızda tutarak ilerleyin veya en garanti yöntem olarak .htaccess dosyanızın yedeğini alın. Sonra kaş yapayım derken göz çıkarmayın dostlar.
İçerik Dağıtımını Geliştirmek için Gzip’i CDN ile Kullanma
Çoğu içerik dağıtım ağı (CDN), otomatik dosya sıkıştırma sunarak sıkıştırmayı manuel olarak doğrulama ihtiyacını ortadan kaldırır. CDN’ler ayrıca, gzip ile birleştirildiğinde giden dosya boyutunu daha da azaltan çeşitli ön uç optimizasyon tekniklerini de destekler.
Bu tekniklerden biri, bir dosyanın kodundan beyaz boşluklar ve tekrarlanan değişken adları gibi öğeleri kırpan ve sıkıştırmadan önce boyutunu potansiyel olarak yarı yarıya azaltan küçültmedir. CDN’ler, JavaScript, HTML ve CSS dahil olmak üzere bir sitenin içeriğini otomatik olarak küçülterek dosya boyutunu küçültmeyi en üst düzeye çıkarır.
Bir dosyayı sıkıştırma işleminden önce küçültme gereksiz görünse de, çalışmalar katran dosyası boyutunda yüzde 5-10’luk bir azalma olduğunu göstermiştir. CDN’lerin hem küçültme hem de gzip sıkıştırması gerçekleştirme yeteneği, kod dosyası boyutlarının en aza indirilmesini sağlayarak kullanıcı sayfası yükleme sürelerini önemli ölçüde iyileştirir.