WordPress Revisions özelliğini kapatmak ve database’yi temizlemek.

WordPress 2.6 sürümüne hemen hemen herkes geçiş yapmıştır. WP 2.6 Sürümünde gelen özelliklerden biriside WP Revisions yani yazının önceki sürümleri özelliği…

Bu özellik sayesinde WordPress 2.6 sürümünüzde bir yazıyı değiştirdiğiniz zaman yada daha sonra yazınıza ekleme yaptığınız zaman aynı yazının bir kopyasını çıkartıyor. Eğer yanlışlık yaparsanız yada yazınızda bir değişiklik yaptıktan sonra ulan tühhh … Keşke hiç dokunmasaydım gibi. Laflar etmeyeceksiniz. Her değişiklik için farklı bir sürüm olarak kayıt ediyor. Yönetim panelinde TEXT editörünüzün en altında POST REVISIONS olarak yazının sürümlerini tek tek görebilir istediğiniz sürüme geçebilirsiniz.

Tabi herkes gibi bende kullanmaya başladım fakat bir süre sonra özelliklede benim gibi bir yazı üzerinde 2-3 kez değişiklik yapıyorsanız DATABASE şişmeye başlıyor. 1 yazı 1MB yer kapladığını sallarsak 3 kez sürüm kayıt edildiğinde doğal olarak 3MB yer kaplayacaktır. Böylelikle Databaseniz normalden daha fazla büyüyor…

WordPress Revisions özelliğini kullanmak istemiyorum ne yapabilirim ?

İnternette aradığınız zaman bir eklenti olarak bulabiliyorsunuz (bkn: Wolkanca) aslında daha basit ve kolay bir yöneteminide WordPress Destek bölümünde okudum (bkz: Sinerjik)

Wp-Config.php dosyanızın içerisinde ufak bir komut girerek çok basit bir şekilde kapatabilmektesiniz.

Wp-Config ;

<?php
// ** MySQL ayarları ** //
define('DB_NAME', 'DATABASEADI');    // Veritabanı adı
define('DB_USER', 'KULLANICIADI');     // MySQL kullanıcı adınız
define('DB_PASSWORD', 'ŞİFRENİZ'); // ...ve MYSQL parolası
define('DB_HOST', 'localhost');    // % 99 ihtimalle bunu değiştirmenize gerek yok

// Tüm kurulumlara ayrı bir önek vererek bir veritabanına birden fazla kurulum yapabilirsiniz, tek kurulum yapacaksanız değiştirmeye gerek yok.
$table_prefix  = 'wp_';   // Veritabanı tablo öneki. Sadece sayı ve harf.

// Bu değeri değiştirmenize gerek yok! Zaten Türkçe'ye ayarlı.
define ('WPLANG', 'tr_TR');

// Wolkanca Otomtik kayıt etme iptali
define( 'AUTOSAVE_INTERVAL', 600 );
// TEAkolik Post revisionsiptali
define ('WP_POST_REVISIONS', 0);

/* Hepsi bu kadar. İyi bloglamalar! */

define('ABSPATH', dirname(__FILE__).'/');
require_once(ABSPATH.'wp-settings.php');
?>

Bu örnek wp-config.php dosyası içerisinde KIRMIZI renkle yazdığım satırda POST REVISIONS özelliğini FALSE olarak belirtip kapatmış oluyoruz. Eğer tekrar aktif etmek isterseniz TRUE olarak değiştirebilir yada satırı komple silebilirsiniz.

Böylelikle bir eklenti kurmadan sisteminizdeki YAZININ ÖNCEKİ SÜRÜMLERİ yani POST REVISIONS özelliği kapanmış olacaktır.

Peki kapattım ama databasede duran kayıtlar ne olacak ? Yani bu özelliği devre dışı bırakmadan önceki yazıların kopyaları ne olacak DATABASE’de duracak mı ?

Evet databasede hala kayıtlarınız mevcut birde bu kayıtları temizlemek gerekecek. Bu kayıtları temizleyerek Database’mizi rahatlatalım bunun için biraz MYSQL bilgisi gerekiyor. Öncelikle bilginiz yoksa bilen birine yaptırın yada hiç dokunmayın bırakın kalsın diye uyarımı yapayım. Sonra Database gitti… Bilmem ne yok senin yüzünden demeyin sorumluluk kabul etmiyoruz. Paranızıda iade etmeyiz :)

Öncelikle Kontrol panelimizden

PhpMyAdmin i açalım ve ilk iş olarak Database’mizin bir yedeğini DIŞARI AKTAR seçeneğinden YEDEKLEYELİM..!

Sonrada PhpMyAdmin’den SQL sekmesine gelelim ve aşağıdaki sorguyu yazalım.

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type =
revision

SQL sorgumuz çalıştı ve aşağıdaki gibi bir uyarı aldık…

Silinen satırlar: 113 (Sorgu 0.0543 san sürdü)

Databasemde hiçbir işe yaramayan ( Bana göre ) 113 satırı sildim. Datamız biraz daha rahatladı. Eğer böyle devam etseydim heralde 2 haftada databasem 20Mb dan 60Mb a çıkardı :)

Hadi kolay gelsin …

“WordPress Revisions özelliğini kapatmak ve database’yi temizlemek.” üzerine 31 yorum

  1. çok teşekkürler hocam sayenizde birçokşeyi öğrendim Allah razı olsun…

    DELETE a,b,c
    FROM wp_posts a
    LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
    LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
    WHERE a.post_type = ‘revision‘

    bu kodu sql sekmesine yapıştırdım fakat olmadı neden acaba:) ?

    ‘revision‘ kırmızı renk ile bunu gösteriyo

    Cevapla
  2. @joseph
    Tırnak işaretlerini sil tekrar yaz kopyala yapıştır yapınca tırnak işaretleri sıkıntı çıkarıyor. ‘revision’ tek tırnak olacak. Çift gelmiş seninkine.

    Cevapla
  3. Sorguyu kopyala yapıştır yaptım fakat
    #1054 – Unknown column ‘‘revision‘’ in ‘where clause’ bu mesajı aldım..

    Girdiğim kodlar

    DELETE a,b,c
    FROM wp_posts a
    LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
    LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
    WHERE a.post_type = ‘revision‘

    Girdiğim kodlar bunlar. Bunlar dışında yapmam gereken birşey var mı?

    Cevapla
    • Tırnak işaretlerini sil tekrar koy. Kopyalarken tırnak işaretleri sapıttıryor. pastelediğin hatada da tırnak işaretleri bak sapıtmış. Sil yeniden tırnak koy.

      Cevapla
  4. Çok teşekkür ederim şuan oldu.. Birşey öğrenmek istiyorum.. Diğer bir sitem var onun içinede az önce şu komutu ekledim

    define (‘WPLANG’, ‘tr_TR’);

    define (’WP_POST_REVISIONS’, false);

    bu komutu ekledikten sonra aynı silme işlemini yapsam ve komutuda hiç kaldırmasam ve o komutu dosya içinde bıraksam siteme bir zararı olurmu?

    Cevapla
  5. Merhabalar,
    Faydalı bir bilgi ama kodların güncellenmesi gerekiyor.Hocam 2013 e güncellersen kodları şeker gibi bir post olur.

    Cevapla
  6. Arkadaşlar merhaba, wordpress 4.4.1 versiyonunu kullanıyorum. Ana sayfayı düzenlerken hata yapıp sayfayı güncelledim. Revision özelliği yani sayfanın geçmişteki kayıtları butonunu göremiyorum. Bu özelliği nasıl görebilirim? Phpmyadmin’den örneğin 06.01.2016 – 17.00 tarihine ”Anasayfayı geri yükleyebilirmiyim” yardımlarıız için şimdiden çok teşekkürler.

    Cevapla

Yorum yapın

teakolik hamza şamlıoğlu blog logo

Wordpress altyapısını kullandığımız bu sistem, Sunucu Çözümleri firmasında yüksek performans sağlayan özel sunucularda barındırılmaktadır. Görüntülemek için en iyi Chrome tarayıcı, 1920x1080 çözünürlük ve Full HD Android telefonlarda çalışır. Ayrıca Sitedeki içeriği istediğiniz gibi çarpabilirsiniz. :)