Gzip ve Brotli Sıkıştırma Nedir? WordPress Hız Rehberi
Gzip ve Brotli sıkıştırma nedir? Gzip ve Brotli sıkıştırma, sunucunuzun tarayıcıya gönderdiği HTML, CSS, JavaScript, JSON ve SVG gibi dosyaları iletim sırasında küçültüp, tarayıcı tarafında geri açan iki farklı sıkıştırma yöntemidir. Doğru yapılandırıldığında sayfa yükleme süresini belirgin şekilde kısaltabilir ve Core Web Vitals metriklerinizi olumlu etkileyebilir. Bu rehberde iki yöntem arasındaki farkı, hangisini ne zaman seçmeniz gerektiğini ve WordPress’te nasıl aktif edeceğinizi adım adım anlatıyoruz.
Gzip ve Brotli Sıkıştırma Nedir, Nasıl Çalışır?
Web sunucusu bir dosyayı tarayıcıya göndermeden önce sıkıştırma algoritmasıyla küçültür; tarayıcı da dosyayı aldıktan sonra aynı algoritmayla geri açar. Bu işlem özellikle metin tabanlı dosyalarda (HTML, CSS, JS, JSON, SVG) çok etkilidir, çünkü bu formatlar tekrarlayan karakter örüntüleri içerir ve sıkıştırma algoritmaları bu tekrarları verimli biçimde küçültebilir. Gzip, yıllardır web sunucularının neredeyse tamamında desteklenen, olgun ve güvenilir bir standarttır. Brotli ise Google tarafından geliştirilen, genellikle Gzip’e göre daha yüksek sıkıştırma oranı sunan daha yeni bir algoritmadır.
Gzip ile Brotli Arasındaki Temel Farklar
| Özellik | Gzip | Brotli |
|---|---|---|
| Sıkıştırma oranı | İyi | Genellikle daha yüksek |
| Sunucu tarafı işlem yükü | Düşük-orta | Yüksek seviyede daha fazla CPU gerektirebilir |
| Tarayıcı desteği | Neredeyse evrensel | Güncel tüm modern tarayıcılarda destekleniyor |
| Statik dosyalarda önceden sıkıştırma | Yaygın | Yaygın ve genellikle tercih edilen yöntem |
| Dinamik içerikte kullanım | Kolay ve düşük maliyetli | Yüksek sıkıştırma seviyelerinde maliyetli olabilir |
Pratik özet şu: statik dosyalar (CSS, JS gibi değişmeyen dosyalar) için Brotli’yi en yüksek sıkıştırma seviyesinde önceden (build aşamasında) sıkıştırıp sunmak idealdir. Sürekli değişen dinamik HTML çıktısı için ise düşük-orta seviyeli Gzip veya orta seviyeli Brotli, sunucu yükünü artırmadan makul bir denge sunar.
WordPress’te Sıkıştırmayı Nasıl Aktif Edersiniz?
Çoğu paylaşımlı hosting sağlayıcısı Gzip’i sunucu düzeyinde varsayılan olarak açık tutar, ancak Brotli desteği hosting planına göre değişebilir. Aktif olup olmadığını kontrol etmek ve gerekirse etkinleştirmek için izleyebileceğiniz adımlar:
- Mevcut durumu kontrol edin: Tarayıcının geliştirici araçlarında Network sekmesini açın, bir sayfa isteğini seçin ve yanıt başlıklarında
content-encoding: br(Brotli) veyacontent-encoding: gzipdeğerini arayın. - Apache sunucularda .htaccess ile Gzip: mod_deflate modülü etkinse aşağıdaki gibi bir blok eklenebilir.
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css application/javascript
AddOutputFilterByType DEFLATE application/json image/svg+xml
</IfModule>
- Nginx sunucularda Brotli: Sunucu ngx_brotli modülünü destekliyorsa nginx.conf içine aşağıdaki gibi bir yapılandırma eklenir; paylaşımlı hostingde bu genellikle barındırma firmasının sunucu tarafında etkinleştirmesini gerektirir.
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/javascript application/json image/svg+xml;
- Önbellekleme eklentisi: Bazı eklentiler sunucu kuralları veya statik sıkıştırılmış dosyalar oluşturur; ancak eksik Brotli modülünü WordPress ayarıyla sunucuya kuramaz. Desteği hosting/CDN katmanından doğrulayın.
- CDN katmanını kontrol edin: Bir CDN kullanıyorsanız sıkıştırmanın CDN katmanında da aktif olduğundan emin olun; aksi halde sunucu sıkıştırsa bile CDN önbelleği sıkıştırılmamış dosya sunabilir.
Sıkıştırma Core Web Vitals’ı Nasıl Etkiler?
Dosya boyutunun küçülmesi, tarayıcının HTML’i indirip ayrıştırmaya başlaması gereken süreyi kısaltır; bu da özellikle LCP (Largest Contentful Paint) metriği üzerinde doğrudan olumlu bir etki yaratır. CSS ve JavaScript dosyaları sıkıştırıldığında, tarayıcının sayfayı render etmeden önce beklemesi gereken indirme süresi azalır ve bu da genel algılanan hız üzerinde belirgin bir fark yaratabilir. Mobil bağlantılarda veya yavaş ağlarda bu etki daha da öne çıkıyor, çünkü indirme süresi toplam sayfa yükleme süresinin daha büyük bir kısmını oluşturuyor. Core Web Vitals metriklerinizi daha kapsamlı iyileştirmek istiyorsanız Core Web Vitals ve INP metriği rehberimize de göz atmanızı öneririz; sıkıştırma tek başına yeterli bir çözüm değildir, sunucu yanıt süresi, önbellekleme ve JavaScript yürütme süresiyle birlikte değerlendirilmelidir.
Örnek bir hesap olarak: sıkıştırma aktif edilmeden önce büyük bir CSS veya JS paketi 200-300 KB civarında indiriliyorsa, Brotli ile bu boyut önemli ölçüde küçülebilir. Kesin oran dosyanın içeriğine (tekrarlayan karakter örüntüsü, minifikasyon seviyesi) göre değişse de, minifiye edilmemiş bir dosyada kazanç genellikle minifiye edilmiş bir dosyaya göre daha belirgin oluyor. Bu nedenle sıkıştırmadan önce dosyaları minifiye etmek (gereksiz boşluk ve yorumları temizlemek) de tamamlayıcı bir adım olarak değerlendirilmeli.
Yaygın Hatalar ve Dikkat Edilmesi Gerekenler
- Zaten sıkıştırılmış dosyaları tekrar sıkıştırmayın: JPEG, WebP, MP4 gibi zaten sıkıştırılmış formatları Gzip/Brotli ile tekrar sıkıştırmak CPU harcar ama neredeyse hiç boyut kazandırmaz.
- Aşırı yüksek Brotli seviyesi seçmeyin: Dinamik sayfalarda en yüksek sıkıştırma seviyesi (11), sunucuda gözle görülür gecikmeye yol açabilir; dinamik içerikte orta seviyeler tercih edilmeli.
- CDN ve sunucu ayarlarının çakışmasına dikkat edin: Hem sunucu hem CDN aynı anda farklı sıkıştırma ayarlarıyla çalışırsa beklenmedik başlık çakışmaları oluşabilir; Network sekmesinden yanıt başlıklarını düzenli kontrol edin.
- Eski tarayıcı desteğini unutmayın: Brotli desteklemeyen çok eski bir tarayıcı isteği geldiğinde sunucunun otomatik olarak Gzip’e geri dönebildiğinden (fallback) emin olun.
Hızlı Kontrol Listesi
- Sunucu yanıt başlıklarında content-encoding: br veya gzip görünüyor mu?
- Statik CSS/JS dosyaları build aşamasında önceden sıkıştırılıyor mu?
- CDN katmanı da sıkıştırmayı destekliyor mu?
- Zaten sıkıştırılmış medya dosyaları (görsel, video) tekrar sıkıştırılmıyor mu?
- Sıkıştırma sonrası sayfa hızı testleriyle (PageSpeed Insights vb.) gerçek etkiyi ölçtünüz mü?
Sıkıştırmayı diğer performans katmanlarıyla birlikte ele almak daha etkili sonuç verir. Konuyla bağlantılı olarak WordPress önbellekleme rehberimizi ve statik dosya dağıtımı için CDN nedir başlıklı yazımızı incelemenizi öneririz. Görsel dosyalarınızı ayrıca optimize etmek istiyorsanız WordPress görsel optimizasyonu rehberimiz de tamamlayıcı bir kaynak olacaktır.
Sonuç
Gzip ve Brotli sıkıştırma, nispeten düşük çabayla uygulanabilecek ama etkisi somut ölçülebilir performans iyileştirmelerinden biri. Statik dosyalarda en yüksek seviyeli Brotli, dinamik içerikte ise dengeli bir Gzip veya orta seviyeli Brotli yapılandırması, çoğu WordPress sitesi için pratik bir başlangıç noktası sunuyor. Değişikliği uyguladıktan sonra tarayıcı geliştirici araçlarıyla ve bir sayfa hızı test aracıyla gerçek etkiyi doğrulamak, yapılan ayarın beklendiği gibi çalıştığından emin olmanın en güvenilir yolu.
Sıkça Sorulan Sorular
Gzip ve Brotli sıkıştırma arasındaki temel fark nedir?
Gzip daha eski ve evrensel olarak desteklenen bir standarttır; Brotli ise Google tarafından geliştirilen, genellikle daha yüksek sıkıştırma oranı sunan ama daha fazla işlem gücü gerektirebilen daha yeni bir algoritmadır.
Sitem için hangisini seçmeliyim?
Sunucunuz Brotli’yi destekliyorsa, özellikle statik dosyalarda Brotli genellikle daha iyi sonuç verir. Brotli desteklenmiyorsa Gzip hâlâ etkili ve güvenilir bir alternatiftir.
Sıkıştırma aktif mi değil mi nasıl anlarım?
Tarayıcı geliştirici araçlarında Network sekmesini açıp bir dosya isteğinin yanıt başlıklarında content-encoding alanını kontrol edebilirsiniz; “br” Brotli’yi, “gzip” ise Gzip sıkıştırmasının aktif olduğunu gösterir.
Görselleri de Gzip veya Brotli ile sıkıştırmalı mıyım?
Genellikle hayır. JPEG, PNG ve WebP gibi formatlar zaten kendi içinde sıkıştırılmıştır; bunları tekrar sıkıştırmak ek CPU yükü yaratır ama boyut kazancı neredeyse hiç sağlamaz.
Sıkıştırma sitemi yavaşlatabilir mi?
Çok yüksek sıkıştırma seviyeleri, özellikle dinamik sayfalarda sunucu CPU’sunu zorlayarak gecikmeye yol açabilir. Bu nedenle dinamik içerikte dengeli bir sıkıştırma seviyesi tercih edilmesi önerilir.
İçerik Anlaşması ve Önbellek Kontrolü
Yanıt, istemcinin Accept-Encoding değerine göre seçilmelidir. Desteklenmeyen br yanıtını zorlamayın; Gzip geri dönüşü ayrıca yapılandırılmalıdır. CDN önbelleğinde farklı kodlamaların karışmaması için Vary: Accept-Encoding davranışını kontrol edin. Nginx için gzip_vary on ilgili ayardır. WOFF2 zaten sıkıştırılmıştır; ek kazancı ölçmeden yeniden sıkıştırmayın. Sıkıştırma seviyesi için “her sitede ideal” değer yoktur; dosya boyutu, CPU ve gerçek yanıt süresini birlikte karşılaştırın.
Kaynak: Nginx — Gzip ve Vary belgesi.




