WordPress blogunuzdaki yazıların sürümlerini nasıl silebilirsiniz? Bildiğiniz gibi WordPress’te bir yazı yazmaya başladığınızda belirli aralıklarla bu yazılar sürüm olarak kaydedilir. Böylece browser hatalarına yada herhangi bir probleme göre yazılarımız güvence altındadır.
WordPress‘e yazmaya bir başladınız mı alışkanlık yapar ve sürekli yazmak istersiniz. Çünkü bir şeyler paylaşmak insanın yaratılışında var ve bizler elimizden geldiğince bildiklerimizi paylaşmaya çalışıyoruz. Bilgi paylaştıkça çoğalır. Aynı zamandan WordPress Database’i de büyür. WordPress db’inin büyümesinin bir sebebi de “revision”lar (sürümler). Biz bir yazı yazmaya başladıkça wordpress belirli aralıklarla yazımızı kaydeder ve her kayıt işleminde geriye dönebilmemiz için yazımızı sürüm olarak kaydeder. Bir süre sonra bu sürümler büyür büyür ve büyür. Database’imizde ciddi bir yer kaplar. Tabi bu da site performansımızı etkiler.
pdfdergi‘de 2400 adet yazı var ve hemen hemen her yazının önceki sürümleri var. Tabi bu database’imizi olumsuz etkiliyor ve yer kaplıyor.
Bugün Search and Replace eklentisi ile bir değişiklik yapmak istedim ama önce bir arama yapayım dedim. Sonrasında gördümki aradığım şey farklı sürümler halinde defalarca kaydedilmiş. Tamam sürümlerin varlığından haberdardım ama artık sanırım bunlara el atmam gerekiyor diye düşündüm. Çünkü gerçekten de 6 yılda oldukça büyük bir yer kaplamış olması gerekir.
WordPress yazılarımın önceki sürümlerinin silinmesi ile birlikte MySQL database’im küçülecek ve wordpress’im hızlanacak diye düşündüm. Sonrasında biraz araştırma yaptım. Sürümleri silmek için bir kaç eklenti var. Better Delete Revision‘un bu işi yapabileceğini düşündüm. Diğer bir eklenti ise delete-revision. Ama eklenti kullanmak işime gelmedi açıkçası. Bunun üzerine biraz daha araştırdım ve eklentisiz bir yöntem uyguladım. Bu yöntemle wordpress database’im neredeyse %40 küçüldü. Bu inanılmaz. Hemen bir kaç kontrol yaptım. Yazılarımın önceki sürümleri silinmişti ve diğer herşey yerli yerinde idi. Şimdi sizinle uyguladığım yöntemi paylaşacağım ancak siz öncelikle kesinlikle database’inizin yedeğini alın. Hatta 2 defa alın ve yedeğinizin çalıştığından emin olun.
WordPress Revisions (sürümler) silmek için yapacağımız işlem çok basit. Yedeğimizi aldıktan sonra kontrol panelden phpMyAdmin‘e geliyoruz. WordPress database’imizi seçiyoruz.
Database’imizi seçtikten sonra gelmemiz gereken yer SQL. Çünkü buradan SQL kodu ise silme işlemini tek tıkla yapacağız. Aşağıda da görüldüğü gibi SQL ekranına şu kodu giriyoruz ve Git (Go) düğmesine basıyoruz.
Girmeniz gereken SQL sorgusu:
DELETE FROM wp_posts WHERE post_type = "revision";
Go düğmesine basmamızla birlikte bize gerçekten bu komutu uygulamak istiyor musun şeklinde bir uyarı mesajı gelecek. Mesajı OK’leyip bir süre bekliyoruz. İşlem bittiğinde yazılarınızdaki tüm revisionlar sürümler silinmiş olacak. Bu işlem bende 20-30 saniye bile sürmedi. İşlem bittikten sonra bir mesaj almadım. Database’i tekrar yedekledim ve boyutunun ilk aldığım yedekten %35-40 daha küçük olduğunu gördüm.
Sürümleri kontrol altında tutmak
Sürümleri tamamen iptal edebilirsiniz Ancak bu durumda yazınızın bir önceki kaydedilmiş haline dönemezsiniz. wp-config.php dosyasına şu satırı eklerseniz sürümler devre dışı olur.
define('WP_POST_REVISIONS', false);
Ben tamamen devre dışı bırakmak yerine şu kodları eklemenizi tavsiye ediyorum. Böylece sürüm sayısı 3 ile sınırlanacak ve 120 saniyede bir (varsayılan 60 saniyedir) kaydedilecek. wp-config.php dosyasına şu satırları eklemelisiniz.
define('WP_POST_REVISIONS', 3);
define( 'AUTOSAVE_INTERVAL', 120);
Değerleri değiştirerek keyfinize göre bir ayarlama yapabilirsiniz. Mutlu kalın.