WordPress Veritabanı Optimizasyonu konsuna geçmeden önce WordPress’ten kısaca bahsetmek istiyorum. WordPress ücretsiz olarak indirebileceğiniz, açık kaynak kodlu, başlangıç olarak herhangi bir kodlama bilgisine ihtiyaç duymadan kendi web sitenizi/blogunuzu oluşturmanızı sağlayabileceğiniz içerik yönetim sistemidir. Geliştirilmeye çok açık olan bu sistemle kodlama bilgisine sahipseniz büyük projeler bile oluşturabilirsiniz. Hatta bazı büyük firmalar, kurumlar web sitelerinin içerik yönetim sistemi olarak WordPress kullanmakta*.
WordPress kullandığı bilinen web siteleri
Adobe Blogs
LinkedIn Official
Samsung Newsroom
Nokia Conversations – Nokia Resmi Blog
Inside BlackBerry
The Apple Blog
Mozilla Labs
MTV Movies Blog
eBay Inc
PlayStation
Flickr Blog
Domain Tools
cPanel
Hostgator
Pepsi Refresh Everything
Smashing Magazine
Mashable
TED
Code for America
*Örnek verilen web siteleri değişebilir/değişmiş olabilir.
Her sistemde olduğu gibi WordPress sitelerde belirli bir süre sonra bazı nedenlerden dolayı yavaşlamaktadır. Yavaşlığa neden olan başlıca nedenlerini ve çözümlerini listelemeye çalışacağım.
Not: Aşağıda anlatacağım işlemleri yapmadan önce yedek almanızı öneririm.
WordPress’i ilk kurduğunuzda aşağı yukarı 200kb civarında bir SQL’iniz olduğunu göreceksiniz. Veritabanınız içeriklere bağlı olarak (başlık, etiket, görsel, eklenti kurulumu vb) gün geçtikçe büyüyecektir. Veritabanınız ne kadar büyük olursa her yeni istek bir o kadar zaman alacaktır. Sitenize gelen ziyaretçilerde içerikleri yada aradıkları şeyleri zor bulacaklardır.
1- Kullanılmayan eklentileri silin
Daha önce kurulum yaptığınız ama kullanmadığınız eklentileri silmeniz hem veritabanında yer açacaktır, eklenti güncellemeleri için WordPress çekirdeğinde sürekli çalışan update-core’u rahatlatacaktır. Eklentileri silmeniz durumunda WordPress sitenizde gözle görülür hızlanma göreceksiniz.
2- WordPress’in yazı revizyonları özelliğini kapatmak/temizlemek
Yazı revizyonları özelliği, yazılarda yapmış olduğunuz değişiklikleri ve önceki sürümlerini veritabanında tutmaya, istediğinizde bir önceki yazıya geri dönmenizi sağlayan WordPress’in bir özelliği. Bir yazıda ne kadar değişiklik yaparsanız o kadar fazla revizyon kaydınız oluşur. Bu da veritabanında ekstra yük ve yer demektir.
WordPress yazı revizyonları özelliğini kapatmak için ana klasörde bulunan wp-config.php dosyasının içerisine aşağıdaki kodları ekleyebilirsiniz.
//disable WP Post Revisions define('AUTOSAVE_INTERVAL', 300); // seconds define('WP_POST_REVISIONS', false);
Kodları ekledikten sonra veritabanınızda bulunan işlem yapmadan önceki yazı revizyonlarını bulup temizleyebilirsiniz.
Öncelikle phpmyadmin’e giriş yapın daha sonra sol taraftan kullandığınız veritabanını seçin. Gelen ekranda üst kısımda bulunan SQL bölümüne tıklayınız.
Aşağıdaki sorguyu SQL bölümüne yapıştırıp çalıştırın.
SELECT COUNT(*), `post_type` FROM `wp_posts` GROUP BY `post_type`;
SQL komutunu çalıştırdıktan sonra gelen ekranda size kaç adet revizyon kaydı olduğunun bilgisi gelecek. Daha sonra bu kayıtları silmek için tekrar SQL bölümüne gelerek aşağıdaki kodu yapıştırın ve çalıştırın.
DELETE p, r, m FROM `wp_posts` p LEFT JOIN `wp_term_relationships` r ON (p.`ID` = r.`object_id`) LEFT JOIN `wp_postmeta` m ON (p.`ID` = m.`post_id`) WHERE p.`post_type` = 'revision';
Bu işlemden sonrada tüm revizyon kayıtları silinmiş ve veritabanınızda gözle görülür bir küçülme olacaktır.