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 …

FaceBook ile paylaş... Friendfeed ile paylaş... Twitter ile paylaş

Yönetici Notu :
#0
Lütfen yapacağınız yorumlarda kişi ve kurumlara hakaret etmeden, kişilik haklarına zarar vermeden düşüncelerinizi yazınız.
  1. Şahin Çetinkaya
    Ağustos 7th, 2008 23:54

    WordPress 2.6 ya henüz geçmedim nedense geçmek de istemiyorum.Ama geçersem bu paylaştığın bilgi işimi görecektir.Bilgi için çok teşekkürler.

  2. ahmet
    Ağustos 8th, 2008 18:35

    “Hata

    SQL sorgusu:

    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’

    MySQL çıktısı: Belgeler
    #1054 – Unknown column ‘‘revision’’ in ‘where clause’ ”

    şeklinde hata alıyorum.

  3. TEAkolik
    Ağustos 8th, 2008 19:36

    Text editöründen dolayı tek tırnak işaret (‘) çift tırnak olmuş tırnakları tek tırnak yaparsan sorun düzelir.

    revision’

    ‘revision’ olacak.

  4. ahmet çakır
    Ağustos 8th, 2008 23:31

    @TEAkolik teşekkürler.şimdi oldu.

  5. ibrahim çınar
    Ağustos 9th, 2008 16:07

    çok kötü ya.hem de nasıl şişer db.
    bilgi verdiğin için teşekkürler.

  6. MaTaDoR
    Ağustos 9th, 2008 22:14

    Sağol hocam, sırf bu yüzden WP 2.6′yı kurmamıştık. Şimdi çözümü olduğuna göre kurulabilir. :)

    Ama muhtemelen 2.7 ile bu özelliği opsiyonel bir seçenek haline getireceklerdir.

  7. henster
    Ağustos 10th, 2008 10:18

    Henüz 2.6 sürümüne geçmedim. Geçmeyide düşünmüyorum 3.0 çıksın bakalım. :)

  8. wolkanca
    Ağustos 11th, 2008 16:11

    otomotik kaydetme var bi de aoutosave o da veritabanına ekstra ekliyor. taslak olarak.

    onu da şöyle;
    config e

    define( ‘AUTOSAVE_INTERVAL’, 600 ); // 60= 1 saat.

    yani config e şöyle ekleyelim;

    define( ‘AUTOSAVE_INTERVAL’, 600 );
    define (‘WP_POST_REVISIONS’, 0);

  9. TEAkolik
    Ağustos 11th, 2008 19:30

    Wolkanca :

    Bilgi için teşekkür ederim dostum söylediğin gibi editledim yazıyı unutmuşum saol…

  10. _KmL_
    Ağustos 2nd, 2009 00:52

    Diğer sürümlerde(2.6+) ihtiyaç var mı? Bir de opsiyonel olması birşeyi değiştirmiyor, sonuçda genelde verileri toplarım sonra onları admin panalinde düzenleyerek yazımı oluştururm. Bu yüzden oto-save işime geliyor,bir terslik olur diye. Sonradan bunları phpMyadmin’den sölenen şekilde mi silmek zorundayız?

  11. Ahmet
    Ağustos 30th, 2009 03:21

    Arkadaşlar bende olmadı bir öncki yazı sürümünü gösteriyor ama free hosting kullanıyorum odanda olabilir mi?

  12. Eylos
    Kasım 8th, 2009 13:30

    Ben bunun yerine wp optimize kullanıyorum. Tekrar postların otomatik silinmesindense eklenti ile istediğim zaman silmek daha güvenli gibi geliyor.

  13. Oto2El
    Kasım 10th, 2009 16:30

    Wp’nin bu tür cazip yanları olmasa kullanmam wallah…

Yorum sayfalarımız