WordPress Bloglarındaki Yorumların Toplu Silinmesi ve Postların Yoruma Kapatılması

Merhaba,

Bildiğiniz gibi wordpress ücretsiz olarak bizlere blog servisi sunduğu gibi kendi sunucumuz üzerinde wordpress kurabiliyoruz. ( Kurulum ve kullanım detaylarını aşağıdaki linklerden takip edebilirsiniz

Video – WordPress Blog Uygulamaları
Webcast – WordPress Kurulumu Kullanımı ve Güvenliği
https://www.cozumpark.com/blogs/videolar/archive/2009/08/02/video-_31013101_s-uzerine-php-ve-my-sql-yuklenmesi.aspx
 
Peki zaten wordpress kullanıyorsunuz ancak varsılan bir özelliği olan yorumları kapatmayı unutursanuz ne olur ? Eğer popüler yani yoğun bir siteniz var ise sizin üzerinizden back link almak isteyen kişiler sürekli olarak sizin yazılarınıza yorum ekleyecektir. Bunu elle değil otomatik robotlar ile yaptıkları için inanılmaz çok yorum alabilirsiniz ve bu sürekli olarak devam edeceği için kısa sürede veri tabanı boyutunuz şişebilir. Örneğin 10 aylık bir sürede sadece yorum tablosu 550mb olan ( bu arada tüm post larının tutulduğu tablo sadece 5mb iken 🙂 ) bir web sitesi vardı elimde, tam 390.000 yorum ve bunları tek tek silmek mümkün değil , hal böyle olunca ilk olarak yorumları kapatmak ile işe başladım.
 
WordPress üzerinde ayarların altında “Discussion Settings” bölümünde “Allow people to post comments on new articles” kutucuğunu kaldırarak yorumları kapatmış oluyoruz, ancak eski postlar için tek tek post ayarlarından yorumları kapatmak gerekli. Çünkü bu ayar, bundan sonra yazılacak yeni postlara uygulanacaktır.
Bu bölümden sonra artık toplu işlemleri sql üzerinden yapacağız, eğer mysql erişiminiz var ise veya phpmyadmin gibi mysql üzerinde komut çalıştıracak bir ara yüzünüz var ise aşağıdaki komutlar işinizi görecektir.
ilk olarak bekleyen yorumları silelim
delete from wp_comments where comment_approved = “pending”
son bölümdeki pending değişkenlik göstermek ile beraber bu değeri  “select * from `wp_comments`” sorgusu ile görebiliriz.
Örneğin sizin bekleyen hiç yorumunuz olmayabilir ancak trash dediğimiz çöp olan yorumlarınız için bu kod aşağıdaki gibi değişecektir
delete from wp_comments where comment_approved = “trash”
veya bundan önce onaylananlar var ise bu durumda
delete from wp_comments where comment_approved = “1”
olacaktır, özetle siz  select * from “wp_comments” yardımı ile yorumları görebilir ve bunları silmek için çıkan sonuç üzerinden “comment_approved” bölümüne gelerek oradaki değeri delete komutuna yazmanız yeterli.
peki bunları temizledik diyelim, ancak hala eski postlardan kaynaklı yorumlar açık olduğu için robot yazılımlar buralara yorum girmeye devam edecektir, bunuda aşağıdaki komut yardımı ile kapatabiliriz
UPDATE wp_posts SET comment_status=’closed’
bu sayede de eski postların da yorumlarını kapatmış olduk.
Benim için bu komutlar çok faydalı oldu umarım sizin içinde faydalı olur.