1. Ana Sayfa
  2. Blog
  3. WordPress Veritabanı Şişmesi ve Temizliği

WordPress Veritabanı Şişmesi ve Temizliği

WordPress sitenizin arka planında sessizce büyüyen veritabanı, zamanla biriken gereksiz veriler nedeniyle sunucu kaynaklarını tüketmeye ve sitenizi yavaşlatmaya başlar. Performans standartlarında, milisaniyelik gecikmeler bile kullanıcı kaybına yol açtığı için veritabanı optimizasyonu teknik bir lüks değil, zorunlu bir bakım sürecidir.

By meoman2008’den beri WordPress

Veritabanı Şişkinliğinin Nedenleri ve Sunucu Yanıt Süresine Etkisi

WordPress veritabanı, sitenizin her bir bileşenini saklayan dinamik bir yapıdır ancak her işlem arkasında iz bırakır. Özellikle çok sayıda eklenti denemesi, sık içerik güncellemeleri ve kontrolsüz kullanıcı yorumları, SQL tablolarında "overhead" olarak adlandırılan veri boşluklarına ve gereksiz satırlara neden olur. Bu durum, sunucunun her sorguda daha fazla veriyi taramasına ve dolayısıyla Time to First Byte (TTFB) değerinin yükselmesine yol açar.

Güncel sunucu mimarilerinde, RAM kullanımı doğrudan maliyet ve hızla ilişkilidir; optimize edilmemiş bir veritabanı, önbellekleme sistemlerinin verimini düşürür. Veritabanı sorgularının karmaşıklığı arttıkça, işlemci (CPU) üzerindeki yük artar ve bu da eşzamanlı ziyaretçi kapasitenizi sınırlar. Teknik olarak temiz bir veritabanı, sadece hız değil aynı zamanda veritabanı yedekleme süreçlerinin kısalması ve sunucu taşıma işlemlerinin kolaylaşması anlamına gelir.

Veritabanı Şişkinliğini Tetikleyen Temel Faktörler

  • Sınırsız tutulan eski yazı revizyonları ve çöpe atılmış içerikler.
  • Kaldırılan eklentilerin arkasında bıraktığı yapılandırılmamış tablolar.
  • Eklentiler tarafından oluşturulan ve silinmeyen geçici veriler (transients).
  • Binlerce satıra ulaşan spam yorumlar ve onaylanmamış geri bildirimler.
  • Veritabanı tablolarındaki indeksleme hataları ve veri parçalanması.
Veri TürüPerformans EtkisiÖnerilen İşlemSıklıkRisk Seviyesi
Yazı RevizyonlarıOrtaSınırla veya SilHaftalıkDüşük
Autoload VerileriKritikBoyut KontrolüAylıkYüksek
Spam YorumlarDüşükKalıcı SilmeGünlükDüşük
Yetim TablolarYüksekManuel TemizlikYıllıkKritik
TransientsOrtaOtomatik TemizleHaftalıkDüşük

Yazı Revizyonlarını ve Otomatik Taslakları Kontrol Altına Alma

WordPress, her yazı güncellemesinde içeriğin bir kopyasını revizyon olarak veritabanına kaydeder. Bir yazı üzerinde 50 kez güncelleme yaptıysanız, veritabanınızda aynı yazının 50 farklı kopyası bulunur; bu da wp_posts tablosunun olması gerekenden onlarca kat daha büyük hale gelmesine neden olur. Güncel standartlarda, bu verilerin çoğu gereksizdir ve veritabanı sorgu performansını doğrudan baltalar.

Revizyonları yönetmek için wp-config.php dosyasına eklenecek küçük bir kod satırı, gelecekteki şişkinliği önlemenin en etkili yoludur. Mevcut revizyonları silmek ise SQL sorguları veya optimizasyon eklentileri ile saniyeler içinde gerçekleştirilebilir. Bu işlem, arama motoru botlarının sitenizi tararken karşılaştığı veritabanı gecikmelerini minimize ederek SEO performansına da dolaylı katkı sağlar.

Revizyon Yönetimi İçin Uygulanacak Adımlar

  1. define('WP_POST_REVISIONS', 3); koduyla revizyon sayısını sınırlayın.
  2. Düzenli aralıklarla eski revizyonları temizleyen bir bakım takvimi oluşturun.
  3. Otomatik taslakların (auto-drafts) temizlenmesi için SQL komutlarını kullanın.
  4. Gereksiz revizyonları silmeden önce mutlaka tam veritabanı yedeği alın.
  5. İçerik üretim süreciniz bittiğinde tüm eski sürümleri tek seferde kaldırın.

wp_options Tablosu ve Autoload Verilerinin Optimizasyonu

wp_options tablosu, WordPress sitenizin ayarlarının saklandığı en kritik bölümdür. Bu tablodaki autoload sütunu "yes" olarak işaretlenmiş veriler, sitenizin her sayfa yüklemesinde belleğe alınır. Eğer bu verilerin boyutu 1MB'ı aşarsa, sitenizin açılış hızı hissedilir derecede düşer; çünkü sunucu her istekte bu devasa veri yığınını işlemek zorunda kalır.

Birçok eklenti, silindikten sonra bile wp_options tablosunda ayar verilerini bırakır. Bu "yetim" veriler zamanla birikerek veritabanı sorgularının hantallaşmasına neden olur. Güncel yüksek performanslı web siteleri, bu tabloyu sürekli denetleyerek sadece gerekli verilerin otomatik olarak yüklenmesini sağlar. Bu sayede sunucu kaynakları daha verimli kullanılır ve sayfa yükleme süreleri optimize edilir.

Autoload Verilerini Optimize Etme Yöntemleri

  • En büyük autoload verilerini tespit etmek için SQL sorgusu çalıştırın.
  • Artık kullanılmayan eklentilere ait "option_name" değerlerini manuel silin.
  • Autoload değerini "no" yaparak sadece ihtiyaç duyulan sayfada yüklenmesini sağlayın.
  • Tablo boyutunu düzenli olarak kontrol ederek 1MB sınırını aşmamaya çalışın.
  • Gereksiz eklenti ayarlarını temizleyerek veritabanı belleğini boşaltın.
İlgili hizmetVeritabanı Optimizasyonu

Eklenti Artıklarını ve Yetim Tabloları Temizleme Stratejileri

Bir eklentiyi WordPress panelinden silmek, her zaman o eklentinin oluşturduğu veritabanı tablolarının silindiği anlamına gelmez. Birçok geliştirici, kullanıcı eklentiyi tekrar yüklerse ayarları kaybolmasın diye verileri tabloda bırakır. Zamanla bu durum, veritabanınızda onlarca işlevsiz tablonun birikmesine ve veritabanı şemasının karmaşıklaşmasına yol açar.

Yetim tablolar, özellikle büyük ölçekli sitelerde veritabanı sorgu planlayıcısının (query planner) kafasını karıştırabilir. Bu tabloların temizlenmesi, veritabanı yedeği boyutlarını küçültür ve sunucu üzerindeki disk IO (giriş/çıkış) yükünü azaltır. Manuel temizlik yaparken, hangi tablonun hangi eklentiye ait olduğunu belirlemek için eklenti dokümantasyonlarına başvurmak veya isimlendirme standartlarını (prefix) kontrol etmek önemlidir.

Yetim Tablo Temizliğinde Dikkat Edilmesi Gerekenler

  • Eklenti silmeden önce "Verileri de sil" seçeneği varsa mutlaka işaretleyin.
  • phpMyAdmin üzerinden wp_ ön eki dışındaki yabancı tabloları inceleyin.
  • Kullanılmayan tabloları silmeden önce mutlaka dışa aktararak yedekleyin.
  • Eski e-ticaret veya form eklentilerinin bıraktığı büyük tabloları önceliklendirin.
  • Veritabanı şemasını temiz tutmak için sadece gerekli eklentileri barındırın.

Veritabanı Motorunu Optimize Etme: MyISAM'dan InnoDB'ye Geçiş

Eski WordPress kurulumları genellikle MyISAM veritabanı motorunu kullanır. Ancak 2026 teknolojisinde MyISAM, tablo düzeyinde kilitleme (table-level locking) yaptığı için yüksek trafikli sitelerde ciddi darboğazlar yaratır. InnoDB ise satır düzeyinde kilitleme (row-level locking) yaparak, aynı anda birden fazla sorgunun veritabanına yazılabilmesine olanak tanır ve bu da performansı dramatik şekilde artırır.

InnoDB ayrıca veri bütünlüğü (data integrity) ve çökme sonrası kurtarma (crash recovery) konularında MyISAM'dan çok daha üstündür. Eğer veritabanı tablolarınız hala MyISAM formatındaysa, bunları InnoDB'ye dönüştürmek, sitenizin genel hızını ve kararlılığını artıracak en önemli teknik adımlardan biridir. Bu işlem, özellikle eşzamanlı işlem sayısının yüksek olduğu e-ticaret siteleri için hayati önem taşır.

InnoDB Geçişinin Sağladığı Avantajlar

  • Satır düzeyinde kilitleme ile daha hızlı eşzamanlı veri işleme kapasitesi.
  • İşlemsel (transactional) yapısı sayesinde veri kaybı riskinin azalması.
  • Yüksek trafik altında daha düşük CPU ve RAM tüketimi.
  • Modern sunucu donanımları ve PHP 8.x sürümleriyle tam uyumluluk.
  • Otomatik veri onarımı ve daha güvenli indeksleme mekanizması.

Geleceğin Standartları: Veritabanı Önbellekleme Stratejileri

Sadece veritabanını temizlemek güncel hız beklentilerini karşılamaya yetmeyebilir. Nesne Önbellekleme (Object Caching) teknolojileri, veritabanı sorgularının sonuçlarını sunucu belleğinde saklayarak, aynı sorgunun tekrar tekrar veritabanına sorulmasını engeller. Redis veya Memcached gibi teknolojiler, veritabanı yükünü %80'e varan oranlarda azaltabilir.

Veritabanı optimizasyonu ile birleştirilmiş bir Redis yapılandırması, özellikle dinamik içerik sunan WordPress sitelerinde milisaniyelik yanıt sürelerine ulaşmanızı sağlar. Bu strateji, veritabanı üzerindeki fiziksel disk okuma işlemlerini minimize ederek sunucu ömrünü uzatır ve ölçeklenebilirliği artırır. Geleceğin performans standartlarında, veritabanı ve bellek içi (in-memory) veri yönetimi ayrılmaz bir bütündür.

Veritabanı Önbellekleme İçin Uygulama Adımları

  • Sunucunuzda Redis veya Memcached desteğinin olup olmadığını kontrol edin.
  • WordPress için "Object Cache" eklentilerinden birini yapılandırın.
  • Sık kullanılan sorguları ve wp_options verilerini bellekten sunun.
  • Önbellek temizleme (flush) periyotlarını içerik güncelleme sıklığına göre ayarlayın.
  • Veritabanı ve önbellek arasındaki senkronizasyonu düzenli olarak test edin.

En İyi 5 WordPress Veritabanı Optimizasyon Eklentisi

Otomatik araçlar, veritabanı bakımını teknik bilgi gerektirmeden yapmanıza olanak tanır. En çok tercih edilen eklentiler, sadece veri silmekle kalmayıp aynı zamanda veritabanı sağlığını anlık olarak izleyen gelişmiş algoritmalara sahiptir. Bu araçlar, planlanmış görevler (cron jobs) aracılığıyla sitenizin her zaman temiz kalmasını sağlar.

Bu eklentileri seçerken, sadece popülerliklerine değil, sundukları manuel müdahale imkanlarına ve yedekleme entegrasyonlarına da dikkat edilmelidir. İyi bir optimizasyon aracı, veritabanı tablolarını optimize ederken sitenizin ön yüzünde (frontend) herhangi bir kesintiye neden olmamalıdır.

Performans Artıran En İyi 5 Araç

  1. WP-Optimize: Hepsi bir arada temizlik ve resim sıkıştırma çözümü sunar.
  2. Advanced Database Cleaner: Yetim tabloları ve eski verileri bulmada en detaylı araçtır.
  3. WP-Sweep: WordPress'in kendi temizleme fonksiyonlarını kullanarak güvenli işlem yapar.
  4. Perfmatters: Veritabanı temizliğinin yanı sıra script yönetimi de sağlar.
  5. WP Rocket: Gelişmiş önbellekleme özelliklerinin yanında temel veritabanı bakımı sunar.

Kaynak: WordPress Eklenti Dizini

Kaynak: Core Web Vitals Ölçümleri

Sıkça Sorulan Sorular

Veritabanı optimizasyonu yapmak sitemi bozar mı?

İşlem öncesinde tam yedek alırsanız risk düşüktür ancak yetim tabloları manuel silerken dikkatli olunmalıdır. Doğru araçlar ve yöntemlerle yapılan optimizasyon sitenizin kararlılığını artırır.

Ne sıklıkla veritabanı temizliği yapmalıyım?

İçerik güncelleme sıklığınıza bağlı olarak haftalık veya aylık temizlik idealdir. Çok yoğun trafiği olan sitelerde otomatik günlük temizlik planlanabilir.

InnoDB'ye geçmek gerçekten fark yaratır mı?

Evet, özellikle aynı anda birden fazla kullanıcının işlem yaptığı sitelerde InnoDB, veritabanı kilitlenmelerini önleyerek hızı artırır. Modern sunucuların tamamı bu motoru desteklemektedir.

Eklentileri silmek veritabanını tamamen temizler mi?

Hayır, eklentilerin çoğu veritabanında ayar satırları ve özel tablolar bırakır. Bunların manuel olarak veya özel temizlik eklentileriyle kaldırılması gerekir.

SQL sorgularıyla temizlik yapmak güvenli mi?

Sadece ne yaptığınızı biliyorsanız ve elinizde güncel bir yedek varsa güvenlidir. Hatalı bir SQL komutu tüm sitenizin erişilemez hale gelmesine neden olabilir.

Sonuç

WordPress veritabanı optimizasyonu, dijital atıklardan kurtularak sitenizin performansını güncel standartlara taşımanın en etkili yoludur. Düzenli bakım, doğru motor seçimi ve akıllı önbellekleme stratejileri ile hem kullanıcı deneyimini iyileştirebilir hem de arama motoru sıralamalarınızı güçlendirebilirsiniz.

Özetle
Bu rehberde, WordPress veritabanındaki gereksiz yüklerin nasıl temizleneceği, wp_options tablosunun yönetimi, InnoDB motoruna geçişin avantajları ve en iyi 5 optimizasyon aracı detaylandırılarak, performans hedeflerine ulaşma yolları açıklanmıştır.