• 07-02-2022, 08:49:38
    #1
    Selamlar,

    Konunun tam yeri burası mı emin olamadım. Yanlış yerde ise ilgili arkadaşların konuyu taşımasını rica ederim.

    Wordpress üzerine çok fazla eklenti, tema yüklendiğinde zamanla hantallaştığını ve bir noktadan sonra çekilmez hale geldiğini biliyoruz. Elbette bu konuda yardımcı çeşitli araçlar ve eklentiler mevcut. Bunlara değinmeyeceğim.

    Bu makalede size wordpress veri tabanı içerisinde yer alan wp_options tablosunun optimizasyonundan bahsedeceğim. Bilenler mutlaka vardır, bilmeyenler için de bir kaynak olsun.


    wp_options tablosu nedir?

    Wordpress'in kendi ayarları da dahil olmak üzere, yüklediğimiz tüm eklenti ve temaların, ayarlarının kaydedildiği ve zamanla oldukça büyük hacimlere sahip olabilen bir veri tabanı tablosu diyebiliriz.
    Yönetim panelinden kullanmadığınız eklenti ya da temaları silseniz dahi genellikle çoğu ilgili ayarları kalıntı olarak geride bırakır. Yani bu tablo zamanla kullanmadığınız veriler ile dolmaya başlar.

    Peki hız konusunda ne gibi etkisi var?
    • Sitenizin başlık açıklama gibi detaylarından tutun , tüm eklenti ayarlarına kadar geniş bir kapsamı olduğunu söylemiştik. Dolayısıyla sitenizdeki her işlemde, sayfa görüntüleme, yorum yapma gibi aklınıza gelen her işlemde bu tablo tekrar tekrar okunur, içerisindeki ayarlar doğrultusunda işlem sağlanır.
    • Bu tablonun boyutunun büyük olması da performans olarak kötü etkilemektedir. Yani 1000 satır ile 5000 satırın okunma hızı arasındaki fark gibi düşünebilirsiniz. Elbette bu hız milisaniyeler ile ölçüldüğünden kullanıcılar bunun farkında olmayacaktır, tabi ki bahsettiğimiz tablonun boyutu çok büyük değil ise.
    Gelelim işlemlerimize.

    Öncelikle kesinlikle veri tabanı yedeğinizi almanızı öneririm.

    İlk kez phpmyadmin deneyimi yaşayacak arkadaşlar olabileceğinden anlatımı oldukça basite indirgeyeceğim.

    1. Phpmyadmin sayfasına giriş yapıp sol kısımdan ilgili veri tabanı ismine tıkladıktan sonra sağ üstten SQL sekmesine tıklıyoruz.



    Gelen sorgu ekranına aşağıdaki sorguyu yapıştırıyoruz.

    Bu sorgudaki amacımız wp_options tablosunun boyutunu öğrenmek.

    SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload='yes';


    Sağ alt köşeden git butonuna tıklıyoruz. Karşımıza tablo boyutu bilgisi geliyor.



    Gelen veri türü byte cinsinden olduğu için bunun aslında kaç kb olduğunu öğrenmemiz gerekiyor. Bunun hesaplaması için hemen bu işlemleri yapan bir web sitesinden faydalanalım.

    Şuradaki siteye gidip verileri giriyoruz. Ve çeviri sonucuna baktığımızda 319kb büyüklüğünde olduğunu görüyoruz.



    Peki genel kabul gören büyüklük değerleri nelerdir?
    • Tavsiye edilen 500kb altında olmasıdır.
    Tablo büyüklüğünü öğrendiğimize göre işlemlerimize devam edelim.

    İlk sorgu ekranına tekrar geri geliyoruz. (Sol menüden database ismine tıklayın, tekrar SQL sekmesine tıklayın). Bu kez tablo içerisindeki verileri büyükten küçüğe sıralamak için aşağıdaki sorguyu yazıp git tıklıyoruz.

    SELECT option_name, length(option_value) AS option_value_length FROM wp_options WHERE autoload='yes' ORDER BY option_value_length DESC LIMIT 200;
    Aşağıdaki gibi bir ekranla karşılaşıyoruz.

    option_name : Eklenti ya da temanın geliştirici tarafından kodlama esnasında belirlendiği isim.
    option_value_length : İlgili tema ya da eklentiye ait verilerin büyüklüğü. (byte)

    Kırmızı kutu içerisine aldığım rev_slider yani revolution slider eklentisine ait bilgilerdir. Diyelim ki eklentiyi artık kullanmıyorum. Yönetim panelinden sildim. Fakat yönetim panelinden silinen her eklentinin ayarları, options tablosundan silinmiyor. Birçok eklenti ve tema aslında siz kaldırsanız dahi arkasında kalıntılar bırakıyor. Bu yüzden bu tablo da zamanla şişiyor.




    Eklentiyi kullanmadığımızı farz ederek sol kısımdaki düzenle linkine tıklıyoruz. Aşağıda eklentinin ayarlarını görebiliyoruz.

    Buradaki en önemli nokta ayarları silmeden önce sitemize bir etkisi olup olmadığını tespit etmek.

    Bunun için öncelikle eklenti ayarlarının yüklenmesini iptal ediyoruz.

    autoload seçeneğindeki yes kısmını silip no yazıp sağ kısımdan git tıklıyoruz.



    Aslında ayarları henüz silmedik, sadece yüklenmelerini engelledik. Şimdi web sitemizi test ederek, eklentinin sitemizde herhangi bir hataya yol açmadığını gördükten sonra, pasif hale getirdiğimiz ayarları istersek silebiliriz. Tabi ki şuan pasif durumda olduğundan üstteki sorgu ile artık bu ayarı göremeyeceğiz. Pasif olan ayarları görmek için ise, üst sorgudaki autoload='yes' yerine autoload='no' olarak değiştirip sorguyu çalıştırıyoruz. Artık gelen listeden sil linkine tıklayarak gereksiz olan bu veriyi silebiliriz.

    Tüm temizlik bittikten sonra dilerseniz tekrar tablo boyutuna bakarak aradaki farkı görebilirsiniz. Elbette sitenizdeki hız farkı da değişecektir eğer büyük bir optimizasyon yapmışsanız.
  • 19-08-2022, 18:45:41
    #2
    Elinize sağlık güzel bir paylaşım olmuş.
  • 11-10-2024, 19:05:53
    #3
    Harika bir paylaşım eline ve Beynine sağlık

    Çok teşekkür ederim