Selco Cod
Selco Cod

Yazılım ve güvenlik üzerine makaleler yazan günümüz teknolojisini yakından takip eden sıradan birisi...

Twitter


Site Hizlandirma Teknikleri(Google Speed)

Merhaba arkadaslar, En son yazimi 21 Ekimde yazmistim vve o günden sonra blog ile ilgilenememistim cünkü okul, is ve sosyal hayat derken 24 saat vakit artik bize yetmez oldu. Neyse ki su siralar is, okul rahat dönemindeyim ve bloguma 2-3 gündür iyilestirme calismasi yapiyorum. Bunlardan benim icin önemlisi yeni bir admin panel arayüzü idi. Istenirse ileri de resimlerini paylasmak isterim. Diger yapilan calismalar da site hizlandirma adinaydi. Cok sade ve hizli bir scripte sahibim fakat Google Speed denemesinde yeterli bir hiz yoktu bende üstüne gitmekle büyük sorunlari nasil cözdügümü anlatmak istiyorum. Biliyorum ki benimle ayni dertte müzdarip kisiler muhakkak olacaktir. Herneyse simdi yapilan calismalari siralayalim. 1. Sunucu Gzip Sikistirma 2. Javascript & CSS Dosyalarinin Sikistirilmasi Bu yazi 2 temel husus üstüne olacak daha sonra geri kalan tekniklerden fazlasiyla bahsedecegim zaten. Simdi 1. husus olan sikistirma olayina gecelim.

1. Sunucu Gzip Sikistirma

Tabi bu islemi yapabilmemiz icin kendimize ait bir sunucu(dedicated) ya da vPS hosting gibi SSH erisimimizin oldugu bir hosting gerekli. Diger türlü sadece PHP dosyalarinda bir sikistirma islemi yapabiliriz. Gerekli olan fonksiyonu altta verdim. Biz sunucuzun var oldugunu var sayarak bu islemi anlatiyoruz. Ilk önce Web Server olarak Apache, Nginx ya da Litespeed kullanildigina dikkat edin. Ben size apache ve nginx seklini verecegim cünkü bu iki server türünü kullaniyor oldugumdan gerekli döküman bu ikisi icin vardir.. Nginx Gzip aktif etmek icin ilk önce SSH den bunu yazalim.
nano /etc/nginx/nginx.conf
Daha sonra düzenleme kismindan CTRL+W ile gzip aratalim, gzip on; ve gzip_disable önündeki # isaretini kaldiralim ve su kodu ekleyelim. Sonunda ise olmasi gereken sekil bu sekildedir.
gzip on;
gzip_disable “MSIE [1-6].(?!.*SV1)”;
gzip_types text/plain [s]text/html[/s] text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;
Islem burda tamamlaniyor CTRL + X ve Y basarak kaydedelim vve son olarak nginx sunucuna restart islemini yapalim.
service nginx restart
Apache Gzip Aktif etmek icin ise SSH den bunu yazalim
nano /etc/httpd/conf/httpd.conf
En alt kisma inip sonucuna verecegim kodu ekleyip CTRL + X ile kaydedip apache sunucumuza restart islemi uyguluyoruz.
# Deflate output configuration

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

Check your configuration syntax and graceful restart apache.
/usr/sbin/apachectl -t
/usr/sbin/apachectl graceful
PHP ile bu islemin yapilabilmesi icin sikistirilmak istenen tüm dosyalar da bu islemi yapmamiz gerekiyor bu yüzden tam olarak gerek kalmadikca bu yöntemi tavsiye etmiyoruz. Her sayfanizin basina eklemeniz gereken kod ise bu;
<?php
ob_start( 'ob_gzhandler' );
?>
Tüm bu islemlerden sonra herhangi bir hata yapmadiysaniz sunucuz da GZIP sikistirma aktif hale gelmektedir. Test etmek icinse CheckGzipCompression sitesini kullanabilirsiniz. Örnek olarak benim sitemin sorgusu su dekildedir.

2. Javascript & CSS Dosyalarinin Sikistirilmasi

Simdide sitemizdeki CSS ve Javascript dosyalarinin boyutunu düsürecegiz. Yapmaniz gereken CSS ve JS kodlarinizi verecegim sitelere yapistirip kücültme minimalize islemini yapip tekrar dosyanin icine yazmaktir. Ben bu islemler icin iki farkli site kullanmaktayim. Birisi http://cssminifier.com/ dir- Bu siteyi adindan da anlasildigi üzere CSS dosyalarimin boyutunu kücültmek icin kullaniyorum. Digeri ise http://jscompress.com/ dir. Bu siteyi de JS dosyalarimin kücültülmesi isleminde kullaniyorum. Bu iki site de isimi cok iyi sekil de görmektedir. Kücültme islemi icin ufak bir örnek resim koyayim. Bu yazininda sonuna geldik. Ileriki yazilarim da Javascript üstüne yazilar yazmayi planliyorum. Okuyan, yaziyi begenen ve yorum yapacak herkese tesekkürler.


Yazı Hakkında Yorumlar