Gzip Sıkıştırma – Site Performansını Geliştirme

Gzip Sıkıştırma – Site Performansını Geliştirme

Birisi sitenize girdiğinde, istenen dosyayı almak için sunucunuza bir istek gönderilir. Bu dosyalar ne kadar büyükse, yüklenmesi daha uzun sürer. Web sayfalarınızı ve CSS’nizi tarayıcıya göndermeden önce gzip sıkıştırma ile dosyaları küçülterek sitenin yükleme süresini önemli ölçüde azaltabilirsiniz.

Kısaca, gzip bir metin dosyasında benzer dizeleri bulur ve bu dizeleri geçici olarak değiştirir. Böylece toplam dosya boyutunu küçülür. Özellikle HTML ve CSS dosyalarında çok sayıda tekrarlanan metin ve boşluk kullandığı için gzip sıkıştırma bu kodlarda gerçekten fayda gösterir. Sonuç olarak, gzip sayfa ve CSS boyutunu %60-70 oranında sıkıştırabilir.

Nelere ihtiyacınız olacak?

Bu rehbere başlamadan önce aşağıdakilere ihtiyacınız var:

  • .htaccess dosyasına erişim
  • cPanel erişimi (tercihi)

ÖNEMLİ! Gzip sitenizi hızlandırır, ancak karşılığında daha fazla CPU kullanır. Etkinleştirmeden önce, CPU kullanımınızın istikrarlı olduğundan emin olun.

Adım 1 — Gzip sıkıştırmasını etkinleştirme

Web sitenizde mod_gzip veya mod_deflate‘i kullanarak gzip’i etkinleştirebilirsiniz. Mod_deflate ile yapılan sıkıştırma, daha iyi bir dönüştürme algoritması olması ve modülün kendisi daha yüksek bir apache sürümüyle uyumlu olması nedeniyle önerilir. İki yöntem hakkında daha fazla bilgi Linux Journal makalesinde bulunabilir.

Seçenek 1 — .htaccess dosyasını düzenleyerek

Aşağıdaki kodu .htaccess dosyanıza ekleyerek, mod_deflate (önerilen) aracılığıyla gzip sıkıştırmasını etkinleştirebilirsiniz.

<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>

Sunucunuz mod_deflate‘i desteklemiyorsa, mod_gzip alternatifini deneyebilirsiniz:

<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 mime ^application/x-javascript.*
mod_gzip_item_include mime ^text/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_include handler ^cgi-script$
</ifModule>

Değişiklikleri kaydettiğinizde gzip sıkıştırma etkin olacaktır.

Seçenek 2 — İçerik yönetimi sistemleri eklentileri

WordPress kullanıcıları, GZip Ninja Speed Compression gibi eklentileri yükleyerek gzip sıkıştırmasını etkinleştirebilirler.

Joomla ile yönetici panelinin Sistem > Genel Yapılandırma > Sunucu bölümünden web siteniz için gzip sıkıştırmasını etkinleştirebilirsiniz. Joomla performansı rehberimize de buradan ulaşabilirsiniz.

Seçenek 3 — cPanel aracılığıyla gzip

Bir cPanel lisansınız varsa, Web Sitesi Optimize Et bölümünü kullanarak hosting hesabınız altındaki tüm web siteleri için gzip’i etkinleştirebilirsiniz. Ayrıntılı bir rehber burada bulunabilir.

Seçenek 4 — Windows tabanlı hosting

Bir Windows sunucusu kullanıyorsanız, komut satırını kullanarak statik ve dinamik içerik için HTTP sıkıştırmasını etkinleştirebilirsiniz:

appcmd set config /section:urlCompression /doDynamicCompression:True

appcmd set config /section:urlCompression /doStaticCompression:True

Daha ayrıntılı bilgi için resmi Microsoft rehberini inceleyebilirsiniz.

Adım 2 — Gzip sıkıştırmasını test etmek

Gzip sıkıştırması, WebPageTest veya GTMetrix gibi çeşitli araçlar ile test edilebilir.

Gzip sıkıştırmasını eklemeden ÖNCE:

pasted image 0 121

Gzip sıkıştırmasını ekledikten SONRA:

pasted image 0 120

Sonuç

Bu kısa rehberde .htaccess, CMS eklentileri, cPanel ve Windows sunucusu üzerinden mod_gzip veya mod_deflate gzip sıkıştırmasını etkinleştirerek bir web sitesinin performansını nasıl artıracağımızı öğrendik.

Author
Yazar

Egehan D.

Egehan Hostinger'da ML ve NN ile denetimsiz öğrenme üzerinde çalışıyor. Veri analizi hakkında büyük bir tutkuya sahiptir. İşi her ne kadar hobi gibi olsa da, çeşitli aktivitelerde gönüllü olmaktan ve ormanda kamp yapmaktan da büyük oranda zevk alıyor.