Magento hakkında aşağıda vereceğimiz bilgiler Magento’nun versiyonlarına göre değişiklik gösterebilir. Biz bu anlattıklarımızı Communitiy 1.9.1 versiyonunu kullanarak anlatıyor olacağız. Aşağıdaki maddeleri uygulamadan önce sitenizin performans raporunu GTmetrix kullanarak ölçün. Aşağıdaki maddeleri tamamladıktan sonra yeni bir rapor alarak farkı karşılaştırın.
1) .htaccess İnce Ayarları
Magento kurulumu ile standart olarak oluşturulmuş .htaccess dosyasında sizin opsiyonunuza bırakılmış ve aktif edilmemiş birkaç ayar bulunmaktadır. Aşağıdaki ayarlar sonrasında Magento performasınızda %30′ luk bir iyileşme görülecektir.
Output compression’u Aktif Hale Getirelim
Bu bölüm Apache mod_deflate modülünü aktif hale getirecektir. Bu text, css ve javascript dosyalarını sıkıştırdıktan sonra browsera gönderecek ve sayfa yükleme hızları ciddi şekilde etkilenecektir.
############################################ ## enable apache served files compression ## http://developer.yahoo.com/performance/rules.html#gzip # Insert filter on all content SetOutputFilter DEFLATE # Insert filter on selected content types only AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript # Netscape 4.x has some problems... BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08 have some more problems BrowserMatch ^Mozilla/4\.0[678] no-gzip # MSIE masquerades as Netscape, but it is fine BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # Don't compress images SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary # Make sure proxies don't deliver the wrong content Header append Vary User-Agent env=!dont-vary
expires headers’ ı Aktif Hale Getirelim
Tarayıcıların içeriği ne kadar süre önbellekte tutacaklarını belirleyen bu modül, tarayıcının aynı sayfayı ve sayfa ile yüklenen nesneleri tekrar tekrar önbelleğe alarak zaman kaybetmesini önler.
############################################ ## Add default Expires header ## http://developer.yahoo.com/performance/rules.html#expires ExpiresActive On ExpiresDefault "access plus 1 year"
ETags Etiketini Kapatalım
Etags önbelleğe alınmış öğeleri tarayıcılarda kullanıcıların bir sonraki ziyaretlerinde herhangi bir değişiklik olup olmadığına bakarak doğrular ve değişiklik var ise sayfayı yeniden tüm nesneler ile birlikte önbelleğe alınmasını sağlar. Tamamen isteğe bağlı olmasına rağmen Magento mağazamızda bu sunucumuza extra yük bindireceği için yavaşlatacaktır. Kapatmak en doğru tercih olacaktır.
############################################ ## If running in cluster environment, uncomment this ## http://developer.yahoo.com/performance/rules.html#etags FileETag none
2) Magento Sistemi İnce Ayarları
Genel olarak aşağıdaki ayarlar Magento’ nun değişmeyen bileşenleri olduğu için 1.4.1 versiyonu ve sonrasındaki versiyonlar için geçerli olacaktır.
CSS ve JS Dosyalarını Birleştirelim
-
Yönetim panelinizde Sistem > Ayarlar > Geliştirici.
-
Javascript Ayarları, altında, Javascript Dosyalarını Birleştir’ seçeneğini EVET yapalım
-
CSS Ayarları, altında CSS Dosyualarını Birleştir seçeneğini EVET yapalım
-
Önbellek yönetiminden Cachlerimizi yenileyelim.
Flat (Sabit) Katalog Özelliğini Aktif Hale Getirelim
Magento müşteri ve ürün verilerini depolamak için EAV modelini kullanır. Bu model nesnelerin inanılmaz bir şekilde genişletilebilmesini sağlamasına rağmen, SQL üzerinde çalıştırdığı sorgular sebebi ile (özelliklede 1000 den fazla ürününüz varsa) SQL sorgu süreleri oldukça uzar ve sisteminiz can sıkıcı bir şekilde yavaşlar. Flat Katalog ise ürünleri ve verileri tek bir tabloda toplayarak daha hızlı sorgu üretilmesini sağlar.
-
Yönetim panelinizde Sistem > Ayarlar > Katalog
-
Ön Sayfa, altında Ürünlerde Sabit Katalog Kullan (Use Flat Catalog Category) seçeneğini EVET yapalım
-
Eğer isterseniz yine Ön Sayfa, altında Ürünlerde Sabit Katalog Kullan (Use Flat Catalog Product) seçeneğini de EVET yapmanızda yarar var
-
Cachelerinizi yenileyin.
GTmetrix’e giderek tekrar bir test işlemi yapalım 🙂