Sihirli Fasulyeler
Yükleniyor...
Website Sıkıştırma Yöntemi
 Web-Tasarım   2827   07.11.17   09.11.17   0
gzip.jpg

Website sıkıştırması, websitelerimizin hızını artıran, yani yüklenme süresini kısaltan önemli bir işlemdir. Kullanıcılar websitemize ulaşmak istediğinde, gerekli dosyalar kullanıcının bilgisayarına indirilerek, tarayıcı sayesinde kullanıcıya gösterilir. Websitemizin hızı, kullanıcılara gönderilen dosyaların büyüklüğü, sunucumuzun cevap verme süresi ve kullanıcının internet hızı gibi etmenlere bağlıdır. Bu etmenlerden, kullanıcılara gönderilen dosyaların boyutlarını küçültmek, yani dosyaları sıkıştırmak, websitemizin hızına artıran işlemlerden bir tanesidir. Bu makalemde sıkıştırma işleminin Apache sunucuları için nasıl yapılması gerektiği ile ilgili bilgiler vermeye çalışacağım.

 

Websitemiz için kullanacağımız birkaç sıkıştırma metodu olsa da, en popüler sıkıştırma yöntemi "gzip" sıkıştırmasıdır. Gzip sıkıştırması, kayıpsız veri sıkıştırma algoritmalarından "deflate" sıkıştırma metodunu kullanır. Gzip sıkıştırmasında, her dosya için tek tek sıkıştırma işlemi uygulanır. Bu sayede genellikle dosyaların boyutları yüzde 50'den yüzde 70'e kadar azaltılabilir.

 

Peki, sitemiz için gzip sıkıştırmasını uygulamak istiyoruz, bunu nasıl yapabiliriz? Gzip sıkıştırmasını uygulamanın en kolay yolu CPanel'den gzip sıkıştırmasını aktif etmektir. Diğer yol ise htaccess dosyasına gzip sıkıştırma modülünü aktif edecek komutlar yazmaktır. Dilerseniz iki yöntemi de inceleyelim.

  CPanel Yöntemi  

CPanel'e giriş yaptıktan sonra "Software" tabında bulunan "Optimize Website" seçeneğine tıklıyoruz.

  GZIP - CPANEL  

Açılan ekranda "compress all content" seçeneğini işaretleyip "Update Settings" butonuna basarak yaptığımız değişikliği kaydediyoruz ve gzip sıkıştırmamız hazır. Dilersek sıkıştırmanın sadece istediğimiz dosya türlerine uygulanmasını "Compress the specified MIME types." kısmını işaretleyip, dosya türlerini "MIME" formatı halinde yazarak sağlayabiliriz. Bu sayede gzip sıkıştırması istediğimiz dosya türleri için geçerli olur.

  GZIP - CPANEL   htaccess Yöntemi  

gzip sıkıştırmasını htaccess ile aktif etmek için, sıkıştırmayı aktif edecek komutları bu dosyaya yazmamız gerekmektedir.

 
####################
# GZIP SIKISTIRMASI #
####################
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
Header append Vary User-Agent env=!dont-vary
 

Komutlarımızı htaccess dosyasına ekleyip dosyamızı kaydediyoruz. Bu arada resim dosyaları için gzip sıkıştırmasının uygulanmamasını da özellikle komutlarımıza ekledik. İnternette kullanılan resim dosyaları zaten sıkıştırılmış olduğu için bu dosyaları sıkıştırmaya çalışmak, sadece zaman kaybı olacaktır. CPanel yöntemiyle sıkıştırma işlemini yaptıysak, resim dosyaları sıkıştırmanın dışında bırakılır (Özellikle MIME kısmında belirtmediyseniz).

 

Peki yöntemlerden bir tanesini uyguladık, gzip sıkıştırmasının çalışıp çalışmadığını nasıl kontrol edebiliriz? Gzip kontrolü için de yöntemlerimiz var. Bunlardan en kolayı, internette gzip sıkıştırmasını kontrol eden websitelerden yararlanmaktır. Kişisel önerim checkgzipcompression.com sitesidir. Yapmanız gereken sadece sitedeki alana websitenizin adresini yazmak olacaktır. Gzip aktif ise sıkıştırmanın yüzde kaç olduğu gibi bilgileri de görebilirsiniz.

 

Her iki sıkıştırma yöntemi de sıkıştırmayı aktif yapmadıysa, en olası açıklama Apache'deki "deflate" sıkıştırma modülünün aktif veya yüklü olmamasıdır. Eğer böyle bir durumla karşılaşırsanız, en mantıklı yol hosting firmanız ile bağlantıya geçmek olacaktır. Bunun dışında SSH ile sıkıştırma modüllerinin Apache'de yüklü olup olmadığını kontrol edebilirsiniz. Bunun için SSH ile sunucunuza bağlandıktan sonra, aşağıdaki komutlar ile yüklü ve aktif modülleri kontrol edebilirsiniz. Gzip sıkıştırmasının çalışması için "deflate" modülünün yüklü ve aktif olması gerekir.

 
#Yüklü Modüller
ls /etc/apache2/mods-available/
 
#Aktif Modüller
ls /etc/apache2/mods-enabled/
 

Eğer yüklü modüllerde "deflate" modülü var fakat aktif modüllerde yok ise, yani aktif edilmemişse, "a2enmod" komutu ile aktif edebilirsiniz (Debian Sunucular için).

 
a2enmod deflate
 

Değişikliklerin etkili olması için Apache'nin yeniden başlatılması gerekir.

 
#Apache Yeniden Başlat
/etc/init.d/apache2 restart
 

Şunu da hatırlatmakta yarar var, eğer websiteniz paylaşımlı bir hostta ise (shared), Apache'de değişiklik yapma izniniz büyük ihtimal ile olmaz. Bu yüzden hosting firmanız ile bağlantıya geçmeniz gerekecektir.

 

 Konuyu geliştirmemize yardımcı ol, konuyu değerlendir.
%66
%34

 

 Bu konuyu paylaş

 

 Yorum yaz, soru sor, geliştirme öner
E-Posta adresiniz yayınlanmayacak.

 

 İlk Yorumu Sen Yap