Gündelik hayatta en sık kullandığımız ücretsiz CMS sistemlerinden birisi olan WordPress, kimi zaman pek çok ihtiyacımızı pratik şekilde çözmeye yardımcı olsa da, kimi zaman çıkardığı problemlerle tam bir baş belası olabiliyor. :) Özellikle WordPress’de yoğun içerik girişi yapan, Page Builder gibi eklentilerle içerik üreten web site sahipleri iyi bilir ki; wp-postmeta tablosu aşırı büyük boyutlara ulaşmakta ve veritabanını şişirmektedir. Bu başlıkta wp-postmeta temizleyici eklentiden bahsedeceğim.
Wp-Postmeta Neden Şişer?
Öncelikle sorunu çözmeden önce sorunun sebebini anlayalım ki tekrarlamasın. Özellikle wp-postmeta, hazırladığımız sayfa ve yazıların, meta bilgileri, görsel ve medya bilgileri, url ve id bilgileri gibi tüm bilgilerin saklandığı WordPress veritabanı tablosudur. Biz yeni bir içerik oluşturduğumuz zaman, bu içeriğin taslak hali, taslak url ve görünümleri dahi wp-postmeta’da revision olarak saklanır. Haliyle bir noktadan sonra wp-postmeta tablosu aşırı şişmeye başlar. Peki gerçekten wp-postmeta tablosunu şişiren etkenler nelerdir? Bu soruya yanıt bulamak için uzun zamandır, onlarca WordPress veritabanında wp-postmeta tablosunda çalışmalar gerçekleştirdim. Bir çok deneme yanılma yöntemle wp-postmeta’da aşırı satır oluşumuna sebep olan etkenleri tespit ettim. Bu etkenler:
- Sayfa/İçerik Kopyalamak: Çeşitli Clone/Duplicate eklentileriyle, tasarladığımız bir sayfada aynı şablonu kullanmak için o sayfayı kopyalıyor ve sadece içeriğini değiştiriyoruz. Ancak bir içeriği kopyaladığımız zaman, kopyaladığımız içeriğin tüm bilgileri ve revision kayıtları da kopyalanmış oluyor. Haliyle üzerine bir de yeni bir içerik daha girip yayınladığımızda, yeni içeriğin revision ve meta kayıtları ekstra satırlar olarak kopyalanmakta. Mümkün mertebe sayfa ve içerikleri kopyalamamaya özen gösterin. Eğer tasarımıyla çok uğraştığınız bir sayfa varsa ve aynı tasarımı tekrar yapmakla uğraşmak istemiyorsanız, editörün “Metin” kısmından o sayfadaki tüm kodları kopyalayıp, yeni sayfa ekle deyip o sayfadaki metin kısmına yapıştırabilirsiniz. Böylece gereksiz veritabanı dosyalarını da kopyalamamış olursunuz.
- Page Buildir Gibi Eklentiler Kullanmak: Her ne kadar bu tür sayfa düzenleyici eklentileri mecbur kullanmak zorunda kalsak da, bu tür eklentilerin oluşturduğu row, column gibi grid sistemi oluşturan pek çok faktör sebebiyle, içerik girişi sonrasın wp-postmeta tablosuna eklenen satırların sayısını arttırmaktadır.
- Sürekli Sayfa/Eklenti Silip Eklemek: Web sitenizde eklediğiniz eklentileri her ne kadar silseniz de bu eklentilerin çeşitli ayar ve metaları, wp-postmeta ve wp-options tablosunda kalmaya devam eder. Bu sebepten ötürü sürekli eklenti yükleyip silmek, sayfa ekleyip silmek wp-postmeta’nın şişmesine neden olur.
Wp-Postmeta Temizleyici Eklenti
Kendi web sitelerimde de kullandığım ücretsiz postmeta temizleyici eklenti olan Mk Postmeta Cleaner eklentisini sizlerle paylaşıyorum. Bu eklentiyi çalıştırdığınız zaman arka planda ortalama 90 civarı sorgu çalışmaktadır. Çalışan sorgular, tüm veritabanı tablolarından aktif kullanılan yayınlanmış, taslak ve çöp kutusundaki içerik ID’lerin, aktif eklenti ID’lerini alarak, bu içerik ve eklentiler dışında kalan, silinmiş tüm içerik ve eklenti kalıntılarını wp-postmeta’dan temizlemektedir. Ücretsiz bir şekilde kullanabileceğiniz Mk Postmeta Temizleyici eklentinin linkini buraya bırakıyorum. MK Postmeta Cleaner
Eğer veritabanınızı eklenti kullanmadan, manuel sorgularla temizlemek isterseniz, WordPress Veritabanı Temizleme Eklentisiz « başlıklı yazımıza göz atabilirsiniz. Tüm bu işlemleri manuel de yapıyor olsanız, eklentiyle de yapıyor olursanız olun mutlaka veritabanı yedeğinizi almayı unutmayın! Herkese iyi çalışmalar!