WordPress Veritabanı Sorgularınızı Azaltın

Merhabalar, bu yazıda ise WordPress Veritabanı Sorgularınızı Azaltma nasıl yapılır bir değineceğim.

Not: Bu adım biraz daha tekniktir ve temel PHP ve WordPress şablon dosyaları bilgisi gerektirir.

Ne yazık ki, orada çok sayıda kötü kodlanmış WordPress teması var. WordPress standart uygulamalarını görmezden gelirler ve sonunda doğrudan veritabanı aramaları veya veritabanına çok fazla gereksiz istek yaparlar. Bu, yapması gereken çok fazla iş vererek sunucunuzu gerçekten yavaşlatabilir.

İyi kodlanmış temalar bile, yalnızca blogunuzun temel bilgilerini almak için veritabanı çağrıları yapan kodlara sahip olabilir.

Bu örnekte, <?php’yi her gördüğünüzde bu, yeni bir veritabanı çağrısının başlangıcıdır:

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

Şimdi burada basit temel işlevler her sayfa yüklenmesinde veritabanından istek çekecektir biz sayfalarda varsayılan olan herşeyi temel olarak Html olarak temaya işlersek bu sorguların birçoğunu kaldırmış oluruz.
Yukarıdaki örnek temanın head.php dosyasının en üst satırında bulunan başlangıçtır ve web site hakkında temel bilgiler içerir bunları manuel girersek yukarıda dediğim gibi her sayfa yüklenişinde veritabanından sorgu yapmadan html olarak yüklenecektir.

<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>  charset=<?php bloginfo('charset'); ?>" />

bu satırı aşaüıdaki gibi yapabilirsiniz:

<meta http-equiv="Content-Type" content="Buraya web sitenin açıklaması gelecek" />

Bahsettiğim olay bunun gibi her sayfada varsayılan olan, logo, başlık, kullanıcı adı, açıklama gibi detayları html olarak girmek sorguları azaltır.

Peki sayfanızda kaç adet sorgu var ve ne kadar sürede yüklendiğini merak ediyor musunuz? Aşağıdaki kodu temanın footer.php dosyasına ekleyip öğrenebilirsiniz.

Sayfa da <?php echo get_num_queries(); ?> adet sorgu var. <?php timer_stop(1); ?> saniyede yüklendi.