Geliştiriciler kod yazdıklarında onu diğer insanlar için yazarlar. Mimariyi okunabilir ve bakımı yapılabilir kılmak için cömert aralıklar, satır sonları, girintiler ve açıklayıcı yorumlar kullanırlar. Ancak web tarayıcıları (Chrome veya Safari gibi) güzel biçimlendirmenizi umursamaz. Bir bilgisayar için alan, indirilecek başka bir bayt veridir.
Modern SEO ve performans optimizasyonunun son derece rekabetçi ortamında, bir kullanıcıyı kilobaytlarca boş alan ve yorum indirmeye zorlamak büyük bir günahtır. İşte burada Küçültme devreye giriyor; kodun yürütülmesi için kesinlikle gerekli olmayan her şeyin otomatik olarak çıkarılması işlemi.
Küçültme Sırasında Aslında Ne Olur?
Küçültme sıkıştırma değildir (GZIP veya Brotli gibi). Sıkıştırma, dosyaları sunucuda sıkıştırmak ve tarayıcıda açmak için karmaşık matematiksel algoritmalar kullanır. Küçültme aslında kaynak kodunun kendisini yeniden yazar.
İyi bir küçültücü birkaç agresif optimizasyon gerçekleştirir:
- Boşlukları Kaldırır: Her boşluk, sekme ve satır sonu silinerek kod tek, büyük bir metin satırına indirgenir.
- Yorumları Çıkarır: Tüm
//ve/* */geliştirici notları temizlenir. - Değişkenleri Kısaltır (Uglification): JavaScript'te,
const userAuthenticationToken = '123'gibi tanımlayıcı bir değişkenconst a = '123'olarak yeniden yazılır ve ona her başvurulduğunda düzinelerce bayt tasarruf edilir. - Söz Dizimini Optimize Eder: Gereksiz noktalı virgülleri kaldırır, çift tırnakları tek tırnaklara dönüştürür ve ayrıntılı mantığı kısa sözdizimine yeniden yazar.
Öncesi ve Sonrası: Pratik Bir Örnek
Küçültme işleminden önce ve sonra basit bir CSS bloğuna bakalım.
Orijinal Kod (İnsan Tarafından Okunabilir - 110 bayt):
/* Main Button Styles */
.submit-btn {
background-color: #ff0000;
margin-top: 10px;
margin-bottom: 10px;
}
Küçültülmüş Kod (Makine İçin Optimize Edilmiş - 44 bayt):
.submit-btn{background-color:red;margin:10px 0}
Bu basit örnekte dosya boyutunu neredeyse %60 oranında küçülttük. React veya Bootstrap gibi büyük ön uç çerçevelerine uygulandığında küçültme, dosya boyutlarını rutin olarak yüzlerce kilobayt kadar azaltır.
Kodunuzu Anında Küçültün
Optimize edilmemiş kodun Sayfa Hızı puanlarınızı yok etmesine izin vermeyin. Dağıtımdan önce doğrudan tarayıcınızda HTML, CSS ve JS'yi anında küçültmek için çevrimdışı aracımızı kullanın.
Kod Küçültücüyü AçSEO Etkisi: Temel Web Verileri
Google, sayfa hızının özellikle Önemli Web Verileri metrikleri aracılığıyla ölçülen bir sıralama faktörü olduğunu açıkça belirtmiştir. İki metrik kod boyutundan doğrudan etkilenir:
- İlk İçerikli Boya (FCP): Bir tarayıcının web sitenizi çizebilmesi için önce CSS'nizi indirip ayrıştırması gerekir. CSS'niz boşluklar ve yorumlarla doluysa indirme işlemi daha uzun sürer ve ekranın boş kalması gecikir.
- Next Paint ile Etkileşim (INP): Büyük, optimize edilmemiş JavaScript paketlerinin CPU tarafından ayrıştırılması ve derlenmesi daha uzun sürer. Tarayıcı çok büyük değişken adlarını ve boşlukları okumakla meşgulse, kullanıcı bir düğmeyi tıklattığında hızlı yanıt veremez ve bu da INP puanının düşük olmasına neden olur.
Kodunuzu küçülterek, matematiksel olarak daha hızlı indirmeleri ve daha hızlı tarayıcı ayrıştırmayı garanti eder ve doğrudan Google'ın ilk sayfasında sıralama şansınızı artırırsınız.
Neden Sadece GZIP Sıkıştırmasını Kullanmıyorsunuz?
Sık sorulan bir soru şudur: "Sunucum zaten GZIP veya Brotli sıkıştırmasını kullanıyorsa yine de küçültmem gerekir mi?"
Evet, kesinlikle. Sıkıştırma ve küçültme üst üste yığılır. Sıkıştırma algoritmaları yinelenen kalıpları bularak çalışır. Önce kodu küçülterek (değişken adlarını kaldırarak ve daha yoğun bir dosya oluşturarak), aslında GZIP'i önemli ölçüde daha verimli hale getirirsiniz. Ayrıca, tarayıcı GZIP dosyasını açtığında ham kodu ayrıştırması gerekir. Sıkıştırılmış kod küçültülürse ayrıştırma katlanarak daha hızlı olur.
Sıkça Sorulan Sorular (SSS)
Küçültme web sitemi bozabilir mi?
Evet. JavaScript'inizde noktalı virgül eksikse satır sonlarını kaldırmak sözdizimi hatalarına neden olabilir. İyi küçültücüler (Terser veya UglifyJS gibi) çok akıllıdır ve genellikle gerekli noktalı virgülleri ekler, ancak dağıtmadan önce her zaman küçültülmüş yapınızı test etmelisiniz.
Küçültülmüş kodda nasıl hata ayıklayabilirim?
Küçültülmüş kod okunamadığı için geliştiriciler "Kaynak Haritaları" (.map dosyaları) kullanır. Bu dosyalar, küçültülmüş kodu tarayıcının geliştirici araçlarındaki orijinal, insanlar tarafından okunabilen kaynak kodunuza eşleştirerek normal şekilde hata ayıklamanıza olanak tanır.
CSS/JS'nin yanı sıra HTML'yi de küçültmeli miyim?
CSS ve JS'yi küçültmek kritik öneme sahipken, HTML'yi küçültmek daha küçük performans kazanımları sağlar. Ancak HTML yorumlarının ve fazladan boşlukların kaldırılması bant genişliğinden tasarruf sağlamaya devam eder ve üretim ortamları için önemle tavsiye edilir.