WordPress yüklenme süresini 1-2 sn ye düşürelim




Wordpress günümüzde en çok tercih edilen CMS (Content managenet system) yani içerik yönetim sistemi kullanıcılarının birçoğu sayfam çok yavaş yükleniyor diye şikayetçi , internette wordpressin

pek te efektif kodlanmadığını söyleyen profesyonel php coderlerinin yazılarına çokça rastlayabilirsiniz , konu genellikle databanktan veri çağrılmasında kullanılan kodlarla ilgili gibi duruyor , Peki vazmı geçelim , HAYIR yüklenme hızı konusunda sıkıntı çekiyorsanız belkide bu yazımız derdinize çare olacaktır

WordPressimiz nekadar sürede yükleniyor önce onu ölçelim

Aşağıda bu konuda kullanabileceğimiz servisler yeralmaktadır , hosting şirketleri sonuncu olarak verdiğim pingdom u pek tercih etmememiz gerektiğini söylüyorlar , yaptığım denemelerde de sonuçlarının tartışmaya açık olduğunu gördüm (tercih sizin)

1. Gtmetrix.com
2. Pagespeed
3. webpagetest
4. Pİngdom
5. whichloadsfaster
6. Loadimpact
7. Websiteoptimization
8. Loads.in

Gtmetrix : (bize A , B , C gibi bir puan verip ; Page load time , Total page size , Total number of requests değerlerini verir , Pagespeed : google e ait online analiz servisi ile 100 üzerinden sayfanıza belirli bir puan verilir , webpagetest: Oldukça kaliteli bir Load time analiz servisi mutlak suretle denenmesi taraftarıyım , Pingdom: herbir bileşenin (resim , java , css) yüklenme sürelerini görebiliriz , whichloadsfaster: Hızlı yükleniyor diye düşündüğünüz web sayfalarını kendi sayfanız ile karşılaştırabilirsiniz. Loadimpact ve websiteoptimization da alternatif olarak kullanabileceğiniz diğer iki online service Loads.in: Kaç saniyede temanın neresi yükleniyor ve toplam yüklenme süresi nedir gibi değerleri verir , ilaveten tarayıcı ve ülke seçip yüklenme süresini değerlendirme şansımız var

Sorunun kaynağı üzerine yoğunlaşma ve çözüm önerileri
eğer sayfanız 5-6 sn veya üzeri bir yüklenme değerine sahipse optimize edilmeye ihtiyacı var demektir 3 sn ve altı değerler normal ve hızlı olarak kabul edilebilir (Kendi görüşüm) , eğer yüklenme hızı düşükse bunun kaynağı genellikle :

1. Temanızdan kaynaklanabilir bu durumda buradaki yazı yardımcı olacaktır.

2. Veritabanı Sorgu sayısından kaynaklanabilir, bunu üstte verdiğimiz gtmetrix sitesinin Total number of requests değerinden anlayabiliriz. Bu durumda keyfi kurulmuş ve/veya pek işlevsel olmayan pluginlerin temizliği , veritabanı temizli vs gibi çalışmalar yapmak icabeder (aşağıdaki ipuçları oldukça faydalı olacaktır:
ipucu 1 , ipucu 2 , ipucu 3 , ipucu 4, ipucu 5

Üsteki ipuçları bu konuda yapılacak çalışmalara örnek teşkil etmektedir , databank temizliği ve bakımı için bemim tavsiye pluginim : Wp Optimize yada aynı işi yapan benzeri bir plugin , Bu plugin beni, herdefasında PhpMyadmine giriş yapıp wordpress tablolarını seçip Optimize et deme zahmetinden kurtarıyor.

Üstteki linkler ile en çok kullanılan özellikleri WordPress e Pluginsiz kazandırdık , temamızı optimize ettik , veritabanımızı optimize ettik , gereksiz pluginleri kaldırdık , eğer temanın veritabanından çektiği sorgu sayısını biraz daha azaltmak istiyorsak Temamızın header.php ve footer.php dosyalarındaki veritabanından bilgi çeken kodları statik hale getirmeliyiz örneğin:

<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="
  <?php bloginfo('html_type'); ?>;
  charset=<?php bloginfo('charset'); ?>" />

yerine

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

yada

<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />

yerine

<link rel="pingback" href="http://yourwebsite.com/xmlrpc.php" />

Üstteki kod kullanılırsa sayfa her çağrıldığında istenen argüman veritabanından çağrılmak yerine statik olarak verilecektir , günde 1000 ziyaretçide bu şekilde statik hale getireceğiniz diyelim 10 adet sorgu günlük 10000 veritabanı sorgusundan tasarruf edilmesine yolaçacaktır. özellikle Shared hosting te High CPU sorunu olanlar denesin derim.

Can alıcı çözümler

Üstteki ayrıntılar ana çözümün (hızlandırma) işini kolaylaştıracak destek uygulamalardı , üsttekilereden sonra muhtemelen yüklenme hızında bir düşüş olmuştur . Sırada Cacheleme çözümleri ile işi pekiştirmek var öncelikle buradakileri harfiyen uygulayın . Eğer wordpressinizde resimler bolca ve sayfa başına başlık sayınız 5 ve üzeri ise mutlaka kullanmanız gereken pluginlerden biri de lazy loader pluginidir , Alternatifi bj-lazy-load Bu plugin sayfadaki resimleri kullanıcı tarayıcısı nekadarını görüyorsa okadarının yüklenmesini sağlar mesela anasayfanızda 6 başlık olsun tarayıcı genellikle 2 başlığı görüntüleyebilir diğerleri için sağ taraftaki çuğu aşağıya kaydırıp görüntülemek gerekir , plugin ilk başta sadece 2 başlığa ait resimleri yükler ve çubuğu aşağıya kaydırdıkça resimleri görüntüler (kullanıcı bunu farketmez bile) – bu da bandwidth başta olmak üzere server yükünü önemli ölçüde azaltır.
Hernedense herkesin kullanıp memnun kaldığı iki cacheleme plugini benim hiçbir işime yaramadı bunlar:
W3 Total Cache , ve Wp super cache (sizde işe yararsa ala) , Bir diğer hem cacheleme hemde koruma yöntemi CloudFlaredir (işe yarıyor) , web sitenizin Clodflare ile nasıl daha güvenli hale geleceğinden burada bahsetmiştik fakat sayfa açılışını hızlandırma işlevinden sözetmemiştik gelelim o kısmına:

CloudFlare ile Hızlandırma ayarları

ClouFlare ye giriş yapıyoruz ve üst menüdeki web sites e tıklıyoruz (zaten orası açılmış ise sorun yok) ve aşağıdaki resimdeki gibi ayarlar kısmına giriş yapıyoruz

Açılan sayfada 3 ana kategori yeralır : 1. Settings overview , 2. Security Settings , 3. Performance Settings

Performance Settings:
Performans ayarları bizim için öneli olduğundan bu sayfadaki ayarları başta vermek akılcı olacaktır ;
Caching level – Agressive
Minimum expire TTL – 4 Hours (ClodFlarenin cachelenmiş kaynakları ziyaretçi Pc sinde nekadar süre beklesin bu ayardan emin değilseniz 4 saat olarak ayarlayın)
Auto Minify (Web optimization) – js , css , html hepsi ON
Rocket Loader™ (Web optimization) – On

Settings overview :
Ben bu kısımda Always Online kısmını ON yaptım diğerlerini ellemedim ama siz ihtiyacınıza göre düzenleyebilirisniz

Security Settings:
E-mail address obfuscation – On (Web sayfanızdan email adreslerini toplayan botların engellenmesi)
Server side exclude (SSE) – On (Şüpheli ziyaretçilerden otomatik olarak içeriğin gizlenmesini sağlar)
Hotlink protection – On (Resimlerinizin başka sitelerde sizden linklkerle verilmesini engeller)

Not: Uygun fiyatlı diye çoğu kişinin kullandığı Shared serverlarda da Kaynak paylaşımı sebebi ile sıkıntılar olabiliyor mesela bu tür serverlarda sizin payınıza belirli bir CPu kullanımı tahsis ederler eğer siteniz günde 5000 – 10000 gibi hit rakamlarına ulaşırsa Bu durumda sorun yaşamamak için Dedicated server seçeneğini değerlendirmeniz yerinde olacaktır.

Kaynaklar:

http://andbreak.com/articles/guide-spee … ess/#flush
http://aciddrop.com/php-speedy/
http://andbreak.com/articles/guide-speed-wordpress/
http://www.alistapart.com/articles/sprites
http://wordpress.org/support/topic/w3-t … e-375-sec-

Derleme ve uygulama : Velociraptor



4 Yorum Var

Yorum Ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

CAPTCHA