Wordpress Veritabanı Optimize Etmek

Bu habere oy verin
(0 oy verilmiş)

Merhaba arkadaşlar, çoğunuz wordpress sitenizin veritabanının bir müddet sonra gereğinden fazla bir büyüklükte olduğunu farkedebilirsiniz ve bunun nedenini öğrenmek istemişsinizdir. Veritabanının bu kadar şişmesinin nedenlerini ve çözümlerini bu konuda anlatmaya çalışacağım sizlere..

Öncelikle şunu belirtmeliyim, veritabanında tüm girdiler text olarak tutulur. Ortalama 500 yazı olan bir wordpress sitenin veritabanı büyüklüğü ortalama 10mb civarı olacaktır (aşırı data barındıran eklentiler hariç) Fakat baktığınızda bu rakamın 60mb ve üstü olduğunu görebilirsiniz. Bunun en büyük nedeni wordpress'in (iyi mi kötü mü bilemedim) bir özelliği olan "Otomatik Kaydedilen Taslak"lardır... Siz metin editörüne yazmaya başldıktan sonra wordpress yazdıklarınızı belli aralıklarla veritabanına kaydeder. Hem de her bir kayıtta ayrı ayrı satırları kullanır. Bu nedenle 50kb yer tutabilecek bir yazı 350-400kb yer kaplayabilir. 

Yukarıdaki resimde bir yazının kaç defa kayıt edildiğini görüyoruz. Şimdi tüm yazılara ait bu kayıtları nasıl temizleriz ona bir bakalım.

Hepsinden önce veritabanımızdaki tablolara bir göz atalım. Doğal olarak wp_posts tablosunun boyutunun aşırıya kaçmış olduğunu göreceksiniz. Ben kendi sistemime göre anlatımı yapıp örnek resimleri kendi veritabanıma göre göstereceğim.

İşleme başlamadna önce bakalım, wp_posts tablom benim aşağıdaki gibi.

Başlıyoruz...

Adım 1: Yedeğiniz Alın

Her şeyden önce tüm bilgilerinizin tutulduğu veritabanı yedeğinizi alın. Yapacağımız tüm işlemlerde phpmyadmin 'i kullanacağımız için phpmyadmin aracılığıyla sırasıyla, veritabanınızı seçtikten sonra yukarıdaki menüden "Dışa Aktar" kısmından SQL biçiminde veya tar.gz biçiminde veritabanınızı alabilirsiniz.

Adım 2: Gerekli Sorguyu Çalıştırmak

Yine phpmyadmin aracılığıyla veritabanımızdaki wp_posts tablosuna müdahale edeceğiz. Yukarı menüden "SQL" alanıa tıklayıp sorgu yapabileceğimiz alana geliyoruz. Karşımıza çıkan metin editörüne aşağıdaki sorgu kodunu yazıyoruz.

DELETE FROM wp_posts WHERE post_type = "revision";



Aşağıdan "Git" butonuna tıkladığımız anda sorguyu çalıştırıyoruz.. phpmyadmin üzerinde bizi bilgilendirme yazısısı gelecektir.YUkarıdaki sorguda kısaca şunu demiş olduk;  Veritabanımızda wp_posts tablosundaki post_type sütunu 'revision' olarak kaydedilmiş tüm satırları sil. Yani wordpress yazılarımızın tutultuğu wp_posts tablomuzdaki tüm otomatik kaydedilmiş taslak metinlerini sil dedik ve sildi...

 


 Adım 3: Tablomuzu Optimize Edelim.

Şimdi yapacağımız şey ise yine Adım 2'deki gibi Sorgu ekranında iken şu sorgu komutunu yazmak;

OPTIMIZE TABLE wp_posts;

ve tamamdır. Optimize olayını ayda bir yapmanızı tavsiye ederim. 

Şimdi ne yapmış olduk? 
Kısaca worpdress sitemizin aşırı şişen veritabanını hafifletmiş, ve yine aynı içeriğe sahip olmuş olduk. Bunun amacı, sitemizi bir nebze de olsa hızlandırmak ve bazı host firmalarının kısıtlı veritabanı alanı vermesinden dolayı, veritabanımızın boyutunu küçültmek.

Sonuca bir bakalım, veritabanımızın önceki ve sonraki arasındaki fark inceleyelim.


 

evet, işlemi yapmadan önceki hali 59,4Mb iken wp_posts tablom 3,4Mb 'a düşüyor. Tabiri caizse, arada uçurumlar kadar fark var.

Şimdi soracaksınız madem böyle veritabanını şişiriyor wordpress bunun önüne geçemez miyiz? Tabiki de geçebiliriz, eğer otomatik kayıt almasın istiyorsanız (ki bazı durumlarda zararı çoktur) yapacağımız ufak bir ayar ile bunu kapatabiliriz. 

wp-config.php dosyasını bir metin editörü ile açın.

define('DB_COLLATE', '');
 satırının hemen altına şunu yapıştırın;

define('WP_POST_REVISIONS', false);

böylelikle, otomatik kayıt alma işlemini kapatmış olduk. Yada bir konu yazarken wordpress'imiz bizim için o konunun en fazla 5 tane kaydını alsın istiyorum ben. 5'ten fazla otomatik kayıt oluşturmasın. Bunun için yine wp-config.php dosyama şunu yazıyorum (yukarıdaki gibi)

define('WP_POST_REVISIONS', 5);

olay bu kadar :)


Sonuç

Bu yöntemle veritabanımızın boyutunu küçültüp, sitemizin hızını bir benze daha yükseltmiş olduk. Aslında bu bahsettiğim hız gözlee görünür bir hız olmayacaktır. milisaniyeler farkedektir. Fakat karmaşık ve büyük boyuttaki bir veritabanından kurtulmuş olduk.