WordPress bir süre çalıştıktan sonra veritabanı şişer. Yazı revizyonları, çöp kutusundaki içerikler, süresi dolmuş transient kayıtları ve spam yorumlar birikir. Site yavaşladıysa ya da yedek dosyan gereğinden büyükse, çoğu zaman sorun burada başlar. Bu yazıda veritabanını hem eklentiyle hem de SQL ile nasıl temizleyeceğini, sonra optimize edeceğini adım adım anlatıyorum.
Veritabanı neden şişer
WordPress her yazı düzenlemende arka planda yeni bir revizyon tutar. Uzun bir yazıyı on kez güncellediysen, o yazının on kopyası wp_posts tablosunda durur. Buna çöpe attığın ama tam silmediğin yazılar, otomatik taslaklar, eklentilerin bıraktığı süresi geçmiş transient satırları ve onaylamadığın yorumlar eklenir. Tek başına hiçbiri büyük yer kaplamaz ama toplamı binlerce satıra ulaşır. Sonuçta her sorgu biraz daha yavaş döner, yedekleme uzar. Özellikle wp_options tablosunda biriken ve otomatik yüklenen (autoload) gereksiz satırlar, her sayfa açılışında belleğe taşındığı için hissedilir bir yük oluşturur. Bazı eklentiler kaldırıldıktan sonra bile kendi ayar satırlarını geride bırakır; bunlar da aylarca orada boşuna durur. Sitede ne kadar çok eklenti denediyseniz, bu kalıntı o kadar büyür.
Eklentiyle temizlik nasıl yapılır
En güvenli yol bir temizlik eklentisi kullanmak. WP-Optimize bu iş için yaygın ve ücretsiz sürümü çoğu siteye yeter. Kurduktan sonra panelden tek tek hangi verinin silineceğini seçebilirsin, hepsini körlemesine silmek zorunda değilsin.
- Eklentiyi kurup etkinleştir, sol menüden WP-Optimize bölümüne gir.
- Temizlik sekmesinde revizyonlar, otomatik taslaklar, çöp kutusu, spam ve onay bekleyen yorumlar için ayrı kutular var. İşine yarayanları işaretle.
- Süresi dolmuş transient kayıtlarını ve pingback/trackback satırlarını da buradan silebilirsin.
- Temizliği çalıştır, ardından tablolar için optimize işlemini başlat.
SQL ile uğraşmak istersen phpMyAdmin üzerinden de yapabilirsin. Örneğin revizyonları silmek için DELETE FROM wp_posts WHERE post_type = ‘revision’ gibi bir sorgu yeterli. Ancak tablo ön eki her sitede wp_ olmayabilir, önce kontrol et. Bu yöntem hızlı ama hata affetmez, yanlış tabloyu silersen geri dönüş yoktur.
Optimize ederken dikkat edilecekler
Her işlemden önce yedek al. Bu cümleyi atlama. Veritabanı temizliği geri alınamaz, yanlış bir seçim yaptıysan tek kurtuluşun yedek olur. Hosting panelinden bir SQL dışa aktarımı ya da bir yedekleme eklentisiyle tam yedek, beş dakikanı alır. Temizlikten sonra tabloları optimize et; bu, silinen satırların bıraktığı boşlukları toplar ve tabloyu küçültür. InnoDB tablolarda optimize biraz farklı çalışır ama eklentiler bunu kendi halleder. Revizyon sayısını sınırlamak için wp-config.php dosyasına define(‘WP_POST_REVISIONS’, 5); satırını eklersen, ileride her yazı için en fazla beş revizyon tutulur ve tablo bir daha aynı hızda şişmez. Autoload satırlarını da gözden geçir; phpMyAdmin’de wp_options tablosunu autoload değerine göre sıralayıp boyutça büyük ve artık kullanılmayan kayıtları temizlersen her sayfa açılışı biraz daha hafifler. Çok dilli siteler, form eklentileri ve mağaza eklentileri bu tabloyu en çok dolduran gruptur, onlarda daha dikkatli bak. Düzenli bakım yapan bir sitede bu temizliği ayda bir tekrar etmen yeterli. Sitenin genel hızını da ele almak istersen WordPress site hızlandırma hizmetine bakabilir, konuyu toplu olarak WordPress hız ve performans rehberimden okuyabilirsin.
Sık sorulan sorular
Veritabanı temizliği SEO’yu etkiler mi?
Doğrudan sıralamanı düşürmez. Ama daha hızlı açılan bir site kullanıcı deneyimini ve sayfa hızı metriklerini iyileştirir, bu da dolaylı olarak arama performansına yardım eder. Yeter ki yayında olan yazılarını yanlışlıkla silme.
Ne sıklıkla temizlik yapmalıyım?
Çok içerik üreten bir site için ayda bir yeterli. Nadiren güncellenen tanıtım sitelerinde üç ayda bir de olur. Önemli olan her seferinde önce yedek almak.
Bu temizliği kendin yapmak istemiyorsan ya da yanlış bir sorguyla siteyi bozmaktan çekiniyorsan, WordPress bakım ve teknik destek hizmetiyle ben düzenli olarak halledebilirim. Durumunu konuşmak için ücretsiz ön analiz isteyebilirsin.
Bu konunun tüm rehberi: WordPress Hız ve Performans Rehberi