Opencart Site Hızlandırma İçin Htaccess ile Sunucu Optimizasyonu
Opencart Tema sayfasından Demo'yu inceleyerek aşağıdaki tekniklerin nasıl sonuç verdiğini görebilirsiniz. Bu dökümanda site hızlandırma için veri aktarımına değinilmiştir. Genel hız sorunları ve çözümleri için Opencart Optimizasyon blog yazısını okumanızı tavsiye ederim.
Söylemek isterim ki arama motorları ve kullanıcılar için artık önceliklerin arasında site hızının aldığını duymayan kalmadı.
Sayfa yüklenme süresi kullanıcı deneyimini önemli oranda etkiler. Yavaş yüklenen sayfalarda kimse gezinmek istemez. Gezinmeyen kullanıcı için onca uğraşa girdiğiniz, gecenizi gündüzünüze kattığınız sitenizde yolculuğun sonuna gelinmiş demektir. Potansiyelinizi düşük performans ile kullandığınızda, reklam ve diğer operasyonlarda beklediğiniz performansı yakalayamazsınız. Önceliğiniz ziyaretçi edinmek, ziyaretçiyi kullanıcıya ve kullanıcıyı müşteriye dönüştürmek olmalı.
Ziyaretçi edinmek için ise güncel SEO kriterleri uygulanmalıdır. Google’ın kullanıcı deneyimini her zaman ön plana aldığı bilinen bir gerçek. Google sayfa yüklenme süresinin önemli sıralama faktörleri arasında yer aldığını 2010 yılında yaptığı açıklama ile ilan etti.
Seo ile arama motorlarından veya reklam kampanyalarından ziyaretçi edinmiş olsak bile ön planda işlerin yavaş ilerlemesi arka planda da yavaş ilerleyeceği hissi uyandıracaktır. Bu da ziyaretçilerilerin müşteriye dönüşmesinde önemli bir engel olur.
Şimdi, sadece ana dizindeki .htaccess dosyasında sunucu ile iletişim kurarak neler yapabileceğimizi görelim...
Tarayıcı Önbelleğini Kullanma
Site hızını arttırmanın ve sunucu yükünü azaltmanın en kolay yollarından biri, tarayıcı önbelleğini kullanmaktır. Tarayıcı önbelleği, web sitenizdeki kaynakları ziyaretçinin bilgisayarında depolar. Başka bir sayfayı ziyaret ettiklerinde veya sitenize daha sonra geri döndüklerinde, önbelleğe alınmış kopyasını ziyaretçinin bilgisayarından kullanarak, dosyaları sunucunuzdan değil bilgisayarından açacaktır. Tarayıcı ön belleğini kullanmak, bant genişliğinden ve sunucu yükünden tasarruf sağlar.
Tarayıcı önbelleğini ayarlamanın iki temel yolu vardır.
İlk adım, her kaynak türü için önbellek zaman dilimini ayarlamak üzere ExpiresByType kullanmaktır.
İkincisi ise Cache-Control kullanmaktır.
ExpiresByType
Tarayıcıyı önbelleğe almayı bu yöntem ile kullanmak için ExpiresByType'ı, ardından kaynak türünü ve önbellek zaman aralığını kullanabilirsiniz.
##### Varsayılan süre sonunu optimize et
## Son kullanma kontrolünü etkinleştir
ExpiresActive On
## CSS ve JS dosyalarının son kullanım tarihi: İstekten 1 hafta sonra
ExpiresByType text/css "now plus 1 week"
ExpiresByType application/javascript "now plus 1 week"
ExpiresByType application/x-javascript "now plus 1 week"
## Görüntü dosyalarının son kullanım tarihi: İstekten 1 ay sonra
ExpiresByType image/bmp "now plus 1 month"
ExpiresByType image/gif "now plus 1 month"
ExpiresByType image/jpeg "now plus 1 month"
ExpiresByType image/jp2 "now plus 1 month"
ExpiresByType image/pipeg "now plus 1 month"
ExpiresByType image/png "now plus 1 month"
ExpiresByType image/svg+xml "now plus 1 month"
ExpiresByType image/tiff "now plus 1 month"
ExpiresByType image/x-icon "now plus 1 month"
ExpiresByType image/ico "now plus 1 month"
ExpiresByType image/icon "now plus 1 month"
ExpiresByType text/ico "now plus 1 month"
ExpiresByType application/ico "now plus 1 month"
ExpiresByType image/vnd.wap.wbmp "now plus 1 month"
## Font dosyalarının son kullanım tarihi: İstekten 1 hafta sonra
ExpiresByType application/x-font-ttf "now plus 1 week"
ExpiresByType application/x-font-opentype "now plus 1 week"
ExpiresByType application/x-font-woff "now plus 1 week"
ExpiresByType font/woff2 "now plus 1 week"
ExpiresByType image/svg+xml "now plus 1 week"
## Video dosyalarının son kullanım tarihi: İstekten 1 ay sonra
ExpiresByType application/x-shockwave-flash "now plus 1 month"
ExpiresByType x-world/x-vrml "now plus 1 month"
ExpiresByType video/x-msvideo "now plus 1 month"
ExpiresByType video/mpeg "now plus 1 month"
ExpiresByType video/mp4 "now plus 1 month"
ExpiresByType video/quicktime "now plus 1 month"
ExpiresByType video/x-la-asf "now plus 1 month"
ExpiresByType video/x-ms-asf "now plus 1 month"
##### Bitti
Zaman dilimi, ziyaretçinin tarayıcısına kaynağın yerel önbelleğe alınmış kopyasını ne kadar süre kullanacağını söyler. İstediğiniz zamana ayarlayabilirsiniz. En yaygın olanları "now plus 1 day", "now plus 1 week", "now plus 1 month", "now plus 1 year" dır.
Cache-Control
İkinci yöntem, kaynak için özel bir başlık bildirmek için Başlık yönergesini kullanmaktır. Söyleyebileceğiniz gibi Header yönergesinin hayranıyım.
Cache-Control HTTP başlığını ayarlamak için buna benzer bir yapı kullanırsınız.
Header set Cache-Control "max-age=2592000, public"
Gördüğünüz gibi bu daha yoğun bir yöntemdir.
Max-age = 2592000, tarayıcıya dosyayı saniye cinsinden ne kadar süre önbelleğe alacağını söyler. 2592000 saniye yaklaşık bir aydır.
Sitenizi sıkıştırın
Sitenizi hızlandırabilmenin bir başka yolu da onu küçültmektir. Evet, resim boyutunu, dosya boyutunu ve dosya miktarını azaltabilirsiniz. İstemci tarayıcısına gönderdiğiniz dosyaları da sıkıştırabilirsiniz. Bu, sitenizin daha az veriyi daha hızlı aktarmasını sağlar.
.Htaccess dosyası aracılığıyla gzip'i etkinleştirmek zor değildir. Aşağıdaki kodla yapabilirsiniz.
##### Kaynaklar için gzip sıkıştırmasını etkinleştir
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
Bütün sunucular gzip'i hatasız işlemez. Bu yöntem sunucunuzda işe yaramazsa, yerine deflate kullanarak keşfetmek isteyebilirsiniz.
##### Kaynakları sıkıştır
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
##### Set Header Vary: Accept-Encoding
Header append Vary: Accept-Encoding
Sitenizi hızlandırmak, iyi yazılmış bir .htaccess dosyasının anahtar özelliklerinden biridir. Web sitenizin daha hızlı yüklenmesini sağlamak için sıkıştırma ve önbelleğe alma özelliğini kullanabilirsiniz. Şahsen ben ikisini de kullanmanızı tavsiye ederim. Genellikle en iyi sonuçları yaratırlar.
Site Nasıl Hızlandırılır?
- Özetle ana dizindeki .htaccess.txt dosyasının ismini .htaccess olarak değiştirmediyseniz .htaccess olarak güncelleyin ve açın.
- Yukarıdaki kodların tümünü .htaccess dosyasının en altına yapıştırın ve kaydedin.
- Eğer sorununuz çözülmediyse veya farklı bir sorun yaşıyorsanız lütfen bizimle iletişime geçin.