wordpress-performans-hız

WordPress’inizin başarımından (performansından) şikayetçi iseniz bu yazı tam size göre. WordPress başarımı hakkında sürekli yazmayı düşündüğüm bu yazı dizisinin ilkinde başarım artırmaya yönelik WordPress bileşenleri üzerinde duracağım.

WordPress (WP)’in performansını artırmak için kullanılan WP-Cache, Hyper Cache, WP Super Cache ve 1 Blog Cacher gibi birçok  eklenti var. WP sunucuyu çok fazla yoran bir script değil fakat kullanılan eklentiler ve temanızın özellikleri sunucuya yük getirebilir. Bu da sayfalarınızın açılma süresine olumsuz etki eder. Hatta sunucunuzun yöneticisi bu durum hakkında sizi uyarabilir.  WP’e geçtikden sonra eklentilerin sayfa açılma/oluşturma hızını nekadar etkileyebileceğini iyi öğrendim. WordPress başarımını artırmak için önbellekleme (Caching) eklentilerini kulllanmak iyi bir çözüm olabilir.

Önbellekleme Nedir ?

Fazla sayıda eklenti yüklü bir WP sitesi  sunucuyu yorar, çünkü ziyaretçinin herhangi bir sayfayı ziyaretinde sayfa dinamik olarak oluşturulur.  Aslında sunucuda ziayret edilen sayfa kayıtlı değildir.  Tüm wordpress sayfaları ziyaretçinin isteği ile baştan oluşturulur.  Tam bu noktada dinamik ve statik site kavramlarına değimekte fayda görüyorum.

Eskiden (web 2.0 dan önce) siteler durağan, oluşturulduğu ilk halindeki gibi değişmeden kalan .htm ve .html sayfalardan oluşurdu.  Durağan HTML sayfalar (.html) tasarımcı tarafından değiştirilmediği sürece hep orada kalır ve ziyaretçiler de hep aynı içeriği izlerdi.  ASP ve PHP (WordPress’imizin yazıldığı dil) gibi sunucu tarafında çalışan betik diller kullanılmaya başlandığından beri, artık içerik veritabanlarında tutulur oldu. Dinamik sitelerde içerik aslında veritabanında saklandığından ziyaretçiye doğrudan sunulacak web sayfaları sunucuda bulundurulmaz.  Ziyareçi bir sayfaya girdiğinde WordPress o sayfanın HTML yapısını veritabanından okuduğu içerik ile birleştirerek sayfayı dinamik olarak oluşturur (aslında sunucuda böyle bir sayfa yoktur)

Dinamik sitelerde içerik veritabanlarında saklandığı için ziyaretçilerin içeriğe katkıda bulunması sağlanabilir. Aynı şekilde site yöneticisinin veya yazarın da siteye bir internet tarayıcısını kullanarak içerik eklemesi mümkün olur.  Aynı zamanda site tasarımcısı sözünü ettiğim dinamik site yöntemi sayesinde  istenilen sayıda sayfa oluşturabilme, her sayfanın tasarımıyla ayrı uğraşmama  gibi avantajlarıda elde eder. Dilerse de tüm sitenin tasarımını  içeriğine hiç dokunmadan değiştirebilir. (WordPress temaları ile bunu çok güzel bir şekilde uygulamaktadır)

Durağan (sayfaların) sunulması sunucu açısından bir dosya okuma ve ziyareçinin tarayıcısına aktarmaktan ibaret olan kolay bir iştir. Diğer taraftan dinamik sitelerde sunucu veritabanına bağlanarak, içerik, kategori, site meta bilgileri ve ve tankado.com’da da görebileceğiniz gibi son yorumlar ve gözde yazılar gibi birçok bilgiyi okuyup HTML yapısını oluşturmak için bir dizi komut çalıştırır. Bu işlemler her ziyaretçi ve her sayfa için herseferinde tekrarlanır. Neyseki PHP zekice tasarlanmış oldukça hızlı bir betik dilidir. Böyle olmasına rağmen WordPress’in sitenin tema ve bileşen özelliklerinin fazlalığına göre sayfaları oluşturması zaman alır.

Not: Web 2.0 dan öncesinden bahsetmişken sonrasından da bahsetmekte fayda var. Web 2.0’ın ana espirilerinden birisi site içeriğinin kullanıcılar tarafından oluşturulmasıdır. ‘User driven sites‘ denilen konuda blog ve sosyal siteler iyi birer örnektirler.

Gelelim Önbelleğin Faydalarına

Dikkat edin; aslında bir WordPress sitesi her an değişmez.  Sadece siteye yeni bir içerik veya yorum eklendiğinde site değişmiş olur.  Bu oluncaya kadar betik kodlarının herseferinde çalışması pek gerekli değildir. Çünkü herseferinde aynı sayfa oluşturulmaktadır.  Aynı sayfa çıktısı için aynı işlemlerin herseferinde tekrarlanması sunucunuzun işlemcisi için ekonomik bir tercih olmayacaktır. Düşünün; değişmeyen sayfaları sunucudaki bir dosyada saklayabilseydik istediğinde ziyaretçiye hızlı bir şekilde gösterebilirdir. Çünkü durağan olarak saklanan sayfaların ziyaretçiye sunulması çok kolaydır.

Genel olarak önbellekleme eklentilerinin yaptığı sayfaların enson halini statik bir dosyaya kaydedip istenildiğinde ziyaretçiye göndermektir. Böylece betik kodları ve veritabanı sorgularının yeniden çalıştırılmamış olur. Önbelleklenmiş sayfaların nekadar hızlı açıldığını görünce çok şaşıracaksınız.

Önbellekleme eklentilerinin yoğun ziyaretçisi olan veya sanal sunucularda (VPS) barındırılan siteler için faydası tartışılmazdır.

WP Cache ve WP Super Cache eklentileri iyidir fakat

WP-Cache ve WP-Super Cache gerek karışık kurulumları (sıradan kullanıcının yapmakta zorlanabileceği türden) gerekse de web de haklarında çok yazılan bileşenler olması ve kimi wordpress kullanıcılarının şikayetlerinden dolayı burada alternatif önbellekleme eklentileri üzerinden gitmeye karar verdim. Siz de daha farklı önbellekleme eklentileri bulursanız haber vermeyi unutmayın.

Hyper Cache Eklentisi

hyper-cache-thumb

Hyper Cache’in bazı özellikleri şöyle:

  • WP-pda eklentisi ile uyumludur
  • Düz ve gzip ile sıkıştırılmış sayfaları işleyebilir
  • Otomatik önbellek temizleme sistemi disk alanı kullanımını azaltır
  • 404 sayfalarını önbellekleyebilir
  • Http URL yönlendirmelerini destekler
  • Konfigüre edilmesi kolaydır
  • Global Translator eklentisi ile uyumludur
  • WordPress dosyalarını hacklemeye bırakmaz

Sayfası: http://www.satollo.com/english/wordpress/hyper-cache

Eklentiyi yüklemek için

  1. “hyper-cache” dizinini sitenizin “/wp-content/plugins” dizinine kopyalayın.
  2. Eklentiler panelinden eklentiyi etkinleştirin.
  3. Eklentiler panelinden eklentinin ayarlarını yapın ve kaydedin.
  4. “/wp-config.php” dosyasına define(‘WP_CACHE’, true); satırını ekleyin.

Not: WordPress’e yönetici veya yazar olarak giriş yaptıysanız sizin izlediğiniz sayfalar için önbellekleme gerçekleştirilmez. Oturumunuzu kapatarak “/wp-content/hyper-cache” dizini altında önbelleklemenin yapıldığı dosyaları görebilirsiniz.

1 Blog Cacher eklentisi

Hyper Cache’in bazı özellikleri şöyle:

  • WordPress 1.5 ve üzeri sürümleriyle uyumlu
  • Kolay ve hızlı yükleme
  • Taşınabilirdir
  • Önbellek adresi taklit eden dizinler altında HTML dosyaları olarak depolanır
  • PHP’nin safe_mode ayarı aktif olsa daha çalışmayı sürdürür
  • Tarayıcının güncel içeriği (CTRL + F5) zorlamasında devreden çıkar
  • HTTP ile Gzip sıkıştırmasını destekler
  • WP-Cache tabanlıdır

Sayfası: http://1blogcacher.com/

1 Blog Cacher eklentisini yüklemek

  1. Sitenizin ana dizininde yazılabilir (777) “/wp-cache/” isimli bir dizin oluşturun
  2. “1blogcacher2.0.php” dosyasını “/wp-content/plugins/” dizinine kopyalayın
  3. “advanced-cache.php” dosyasını “/wp-content/” dizinine kopyalayın
  4. WordPress’in “/wp-config.php” dosyasına define(‘WP_CACHE’, true); satırını ekleyin
  5. Yönetim panelinizin eklentiler bölümünden “1 Blog Cacher” eklentisini etkinştirin.

WP Widget Cache eklentisi?

Hyper Cache ve 1 Blog Cacher gibi eklentileriden farklı olarak, WP Widget Cache sitenizde yeralan ve  içeriği nadiren değişen eklentilerin yeniden çalıştırılmamasını sağlıyor. Örneğin kenar çubuğundaki (sidebar) kategori ve arşiv widget’ları gibi. WP Widget Cache eklentisi WP-Cache ve WP Super Cache eklentilerini etkilemediği için birlikte çalışabiliyor. Ayrıca WP Widget Cache eklentisi ile Widget’ların önbellek yaşam süresini dilerseniz ayrı ayrı ayarlayabilir veya önbelleklenmemesini istediğiniz bileşenleri de belirtebilirsiniz.

Sayfası: http://wordpress.org/extend/plugins/wp-widget-cache/

1 YORUM

CEVAP VER

This site uses Akismet to reduce spam. Learn how your comment data is processed.