Sunucu Sıkıştırma Nedir?
Sunucu sıkıştırma, bir web sunucusunun (Apache, Nginx vb.) dosyaları tarayıcıya göndermeden önce gerçek zamanlı olarak paketlemesidir. Bu işlem, dosyaların transfer boyutunu %70 ile %90 arasında küçülterek bant genişliği tasarrufu sağlar ve yükleme sürelerini dramatik şekilde düşürür.
Gzip ve Brotli Arasındaki Temel Fark
Gzip, 1990'ların başından beri standarttır ve her tarayıcıyla uyumludur. Brotli ise Google tarafından geliştirilen, özellikle metin tabanlı dosyalarda (HTML, CSS, JS) Gzip'ten %15-20 daha yüksek performans sunan modern bir algoritmadır. Gzip hızlıdır, Brotli ise "daha verimlidir".
Sunucu Sıkıştırma SEO İçin Neden Kritiktir?
Arama motorları hızlı siteleri sever. Hız, Google için bir sıralama faktörüdür. Sıkıştırma, sayfa boyutunu küçülterek sunucu yanıt süresini (TTFB) iyileştirir ve Core Web Vitals puanlarınızı yükseltir. Sıkıştırılmamış bir site, yavaş bir sitedir.
Google Sunucu Sıkıştırmaya Nasıl Bakar?
Google Lighthouse ve PageSpeed Insights, sıkıştırma kapalıysa bunu "Kritik Fırsat" olarak raporlar. Googlebot, sıkıştırmayı destekler ve sıkıştırılmış kaynakları daha hızlı tarayarak sitenizi daha verimli indeksler.
Sunucu Sıkıştırma Açık Değilse Ne Olur?
Bu durum modern web için kabul edilemez. Sıkıştırma yoksa; gereksiz veri transferi yapılır, sunucu kaynakları boşa tüketilir, mobil kullanıcıların kotası haksız yere harcanır ve sayfanız ağır olduğu için kullanıcılar rakip sitelere kaçar.
Gzip Nedir?
Gzip (GNU Zip), verileri DEFLATE algoritmasıyla paketler. Sektör standardıdır ve düşük CPU maliyetiyle geniş bir uyumluluk yelpazesi sunar. Neredeyse her hosting planında aktif gelir veya kolayca açılabilir.
Brotli Nedir?
Google'ın 2015'te duyurduğu Brotli, sözlük tabanlı bir sıkıştırma kullanır. Sabit verileri (HTML etiketleri gibi) önceden bildiği için Gzip'e göre çok daha küçük dosyalar üretir. CSS ve JS dosyalarında rakipsizdir.
Gzip mi Brotli mi? Hangisi Ne Zaman?
İkisini birden kullanmak idealdir. Sunucunuzu Brotli öncelikli, Brotli desteklemeyen eski tarayıcılar için ise Gzip destekli (fallback) olarak yapılandırmalısınız. Modern cihazların %95'ten fazlası Brotli'yi destekler.
Accept-Encoding ve Content-Encoding Mantığı
Tarayıcı "Accept-Encoding: br, gzip" diyerek sunucuya hangi dilleri bildiğini söyler. Sunucu ise dosyayı sıkıştırıp "Content-Encoding: br" diyerek cevabı gönderir. Bu, tarayıcı ile sunucu arasındaki sessiz bir anlaşmadır.
Sıkıştırılabilir Dosya Türleri
Özellikle metin tabanlı (text-based) kaynaklar sıkıştırma için mükemmel adaylardır: HTML dokümanları, CSS stil dosyaları, JavaScript kodları, JSON veri çıktıları, XML ve SVG vektörel dosyalar.
Sıkıştırılmaması Gereken Dosyalar
Zaten kendi içinde sıkıştırılmış formatları (JPG, PNG, WebP görüntüleri; MP4, MP3 medya dosyaları; PDF dokümanları) yeniden Gzip/Brotli ile sıkıştırmaya çalışmak hatadır. Bu işlem dosyayı küçültmez, sadece sunucunun CPU'sunu boşuna yorar ve bazen dosya boyutunu artırır.
Yanlış Sıkıştırma Uygulamaları
Her şeyi sıkıştırmaya çalışmak veya sıkıştırma seviyesini (Gzip Level 9 gibi) en sona getirmek CPU kullanımını tavan yaptırabilir. İdeal olan, hız ve sıkıştırma oranı arasında optimum bir denge (Gzip için genellikle Level 5-6) kurmaktır.
Sunucu Türüne Göre Yapılandırma
Apache'de mod_deflate veya mod_brotli, Nginx'te ngx_http_gzip_module kullanılır. LiteSpeed sunucular bu işlemleri otomatik ve çok daha verimli bir şekilde yönetebilir.
CDN Üzerinden Sıkıştırma
Cloudflare gibi modern CDN'ler (İçerik Dağıtım Ağları), orjin sunucunuz sıkıştırma yapmasa bile uç noktalarda (Edge) dosyaları otomatik olarak Brotli ile sıkıştırabilir. Bu, sunucu yükünü azaltan akıllı bir çözümdür.
Dinamik İçeriklerde Sıkıştırma
Sadece statik dosyalar değil, PHP üzerinden üretilen dinamik sayfa içerikleri ve API'den dönen JSON yanıtları da sıkıştırılmalıdır. Bu, özellikle etkileşimli "Single Page Application" (SPA) yapıları için hayatidir.
Gzip/Brotli Yanlış Yapılandırılırsa Ne Olur?
Eğer sunucu dosyayı sıkıştırdığını iddia edip (header gönderip) aslında sıkıştırmazsa veya yanlış bir formatta gönderirse tarayıcı sayfayı render edemez ve beyaz ekran veya anlamsız karakterler gösterir.
SEO Analizinde Sıkıştırma Metrikleri
Teknik denetimlerde şu hiyerarşi izlenmelidir:
- Sıkıştırma Kapalı: KRİTİK HATA (Performans kaybı).
- Sadece Gzip Var: UYARI (Modernizasyon eksiği).
- Brotli Aktif: BAŞARILI (Tam optimizasyon).
- Yanlış Dosya Türü Sıkıştırma: UYARI (Gereksiz CPU yükü).
Sıkıştırma ve Core Web Vitals İlişkisi
Sıkıştırma, Largest Contentful Paint (LCP) süresini doğrudan düşürür. HTML dosyası ne kadar hızlı inerse, tarayıcı içerikleri o kadar erken çizmeye başlar. Ayrıca görsel olmayan kaynakların (JS/CSS) hızlı inmesi de etkileşimi hızlandırır.
Sunucu Sıkıştırma ve Crawl Budget
Googlebot'un bir siteyi taramak için ayırdığı zaman kısıtlıdır (Crawl Budget). Sıkıştırılmış sayfalar daha az bant genişliği tükettiği için bot, aynı sürede daha fazla sayfanızı tarayabilir ve indeksleyebilir.
Mobil Kullanıcılar İçin Önemi
Mobil ağlar genellikle yüksek gecikme (latency) ve değişken hızlara sahiptir. 2 MB'lık bir JS dosyasını 500 KB'a indirmek, bir mobil kullanıcının sayfanızı 10 saniye yerine 2 saniyede açmasını sağlayabilir.
Gzip / Brotli Test Yöntemleri
Chrome DevTools'un "Network" sekmesinde "Use Large Request Rows" seçeneğini açarak dosyanın gerçek boyutu ile transfer boyutu arasındaki farkı görebilirsiniz. Eğer transfer boyutu daha küçükse sıkıştırma aktiftir.
Sıkıştırma ve Cache İlişkisi
Sunucu tarafında Vary: Accept-Encoding başlığı düzgün ayarlanmalıdır. Bu, ara sunucuların (proxy/CDN) sıkıştırılmış versiyonu destekleyen ve desteklemeyen tarayıcılara doğru önbellek dosyasını vermesini sağlar.
Güvenlik Açısından Sıkıştırma (BREACH)
Nadiren de olsa, HTTPS üzerinden yapılan sıkıştırma "BREACH" gibi saldırılara açık kapı bırakabilir. Bu nedenle hassas verilerin (tokenlar, şifreler vb.) bulunduğu sayfalarda sıkıştırma stratejisi dikkatli belirlenmelidir.
WordPress ve CMS'lerde Durum
W3 Total Cache veya WP Rocket gibi eklentiler Gzip ayarlarını yapabilir ancak en doğrusu bu işlemi eklentilere bırakmadan doğrudan sunucu seviyesinde (.htaccess veya Nginx config) halletmektir.
25. Sıkıştırma SEO Manifestosu – Net Hüküm
"Sıkıştırma bir lüks değil, teknik bir zorunluluktur. Veriyi ham haliyle göndermek, internetin kısıtlı kaynaklarına ve kullanıcının sabrına saygısızlıktır. Hızlı olan kazanır, hafif olan ise uçuşa geçer."
DÜNYAYI HAFİFLET, SEO'NU YÜKSELT.