Minification ya da dosya küçültme, dosyaların genel performansında hiçbir değişiklik yapmaksızın JavaScript (JS), CSS ve HTML dosyalarının ana kodlarında bulunan gereksiz verileri silmek ve dosya boyutunu düşürmek için kullanılan bir yöntemdir. Bu yöntem ile JavaScript, CSS ve HTML dosyaları yeniden yazılır ve kodda bulunan tüm boş alanlar, geliştirici yorumları ve kullanılmayan kodlar silinir.
Bu yöntem iki avantaj sunmaktadır:
JS, CSS ve HTML dosyası yazarken web geliştiriciler boş alanlar bırakır, her kod parçasını yeni bir satıra yazar ve kodların kolay okunabilmesi ve daha sonraki tarihte kod mantığının somut olarak görülebilmesi için yorumlar girerler. Bu yorumlar ve boş alanlar web sayfalarının geliştirilmesine yardımcı olur ve hatta gereklidir. Bununla birlikte, web sayfaları internette yayınlandığı zaman bu yorumlar ve boş alanlar gereksiz veri haline gelir ve tarayıcılar ve web sunucuların bunlar için daha fazla analiz yapmalarına neden olur. Bu analizler trafiğin artmasına neden olur ve bu da verimin azalmasına neden olur ve hiçbir işlevselliği yoktur. Aslında tarayıcılar ve sunucular, web sayfalarının sadece ana kodlarına ihtiyaç duymaktadır.
Minification ile bu boş alanlar ve gereksiz veriler ortadan kaldırılır ve JS, CSS ve HTML dosyalarının boyutları küçültülerek web sayfalarının daha hızlı yüklenmesi ve gerekli bant genişliğinin azaltılması sağlanır.
Aşağıdaki resim bir HTML dosyasının küçültülmeden önceki halini göstermektedir:
<html>
<head>
<style>
#myContent {
font-family: Arial;
font-size: 90%;
}
</style>
</head>
<body>
<!-- start of myContent -->
<div id="myContent">
<p>
Hello world!
</p>
</div>
<!-- end of myContent -->
</body>
</html>
Bu dosya küçültüldükten sonra şu şekilde görülür:
<html><head><style>#myContent{font-family:Arial;font-size:90%;}</style></head><body><div id="myContent"><p>Hello world!</p></div></body></html>
Küçültme işlemi gereğince uygulandığı takdirde dosya boyutu %60’a kadar küçültülebilir. Minification gerçekten de web sayfası optimizasyonu için standart hale gelmiş bir prosedürdür.
Minification, front-end optimizasyonun (FEO) önemli bir bileşenidir. Kısaca özetlemek gerekirse FEO, dosya boyutunu küçültmek ve web sayfaları için talep sayısını azaltmak için kullanılan bir dizi teknik ve araçtır.
Minification işleminin gerçekleştirilmesi ve sürdürülmesi zor olabilir. Örneğin, büyük dosyaların elle küçültülmesi neredeyse imkansızdır. Otomatik minification araçları dahi bazı zorluklarla karşılaşabilmektedir. JS, CSS ve HTML dosyalarının küçültülmesinde karşılaşılan başlıca sorun, çok sayıdaki dosyanın korunmasıdır (hem gelecekteki geliştirme işleri için orijinal dosyalar hem de yayınlamak için küçültülmüş dosyalar). Diğer bir problem ise dosyaların farklı sürümlerinin senkronize edilmiş olarak saklandığından emin olmaktır.
Arvancloud İçerik Dağıtım Ağı (CDN) işte bu problemlerin çözümü için web sayfası dosyalarının otomatik olarak küçültülmesini sağlar. Bir web sitesi yöneticisinin sadece orijinal dosyaları sunucuya yüklemesi yeterlidir (bu dosyaları küçültmesi gerekmez). Arvancloud CDN, JS, CSS ve HTML dosyalarının küçültülmüş sürümlerini otomatik olarak hazırlar ve bunları sunucularının önbelleğine kaydeder.
Aynı zamanda ana dosyaların küçültülmüş sürümleri, orijinal dosyalarda olabilecek herhangi değişiklik için otomatik olarak güncellenir ve senkronize edilir.
Arvancloud CDN, web sayfalarının daha hızlı yüklenebilmesi otomatik olarak küçültülmesini sağlar ve web sitesi yöneticilerinin hiçbir ekstra konfigürasyona ihtiyaç duymayacakları şekilde bu sayfaları hazırlar.