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

Tarih: 07 Ağustos 2008 | Kategori: Güncel | Yazar: | 31 Yorum

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 …

Pin It
Etiketler: , , , , , , , , , , , , , ,
Yönetici Notu

Lütfen yapacağınız yorumlarda kişi ve kurumlara hakaret etmeden, kişilik haklarına zarar vermeden görüşlerinizi bildiriniz. Oluşabilecek zararlarda ve gözden kaçabilecek durumlarda tüm sorumluluk yorumu yapan kişiye aittir. Gizlilik sayfamızda bu bilgiler açıkça belirtilmiştir.

31 Yorum Yapıldı:

  1. zafer

    çok teşekkürler şu gerekmez özellikten kurtulmuş olduk :D

  2. Can Dirgen

    #1054 – Unknown column ‘‘revision‘’ in ‘where clause’ diyor?

  3. Can Dirgen

    Tamamdır hallettim ‘ ile ilgiliymiş :) 1226 satır silindi hey maşallah…

  4. Can Dirgen

    Tekrar merhaba 3.0 ile bu verdiğim kod işlemiyor. Ne yapmamız gerekiyor?

  5. Huseyin

    Wp’nin son versiyonunda bu kodlar işiyor mu?

  6. TEAkolik

    Evet :)

  7. Huseyin

    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ı?

  8. TEAkolik

    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.

  9. Huseyin

    Ç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?

  10. TEAkolik

    Bu komutlar Wp-config içinde durduğu sürece silmeniz gerekmez. :)

Yorum Gönder