Biraz önce chatgpt'ye yazdırdım, kendi sitelerimde kullandım ve ciddi alan açtı. Siteler kendine geldi. Kullanmadan önce sql yedeğinizi alın, ben bir sorun yaşamadım ama siz yine de temkinli davranın.
Not: Veritabanı prefiksi wp_ 'ye göre ayarlı, sizinki farklıysa notepad++ gibi editörlerden değiştirebilirsiniz. Kendi veritabanı prefiksinizi wp-config.php dosyasında en üstte bulabilirsiniz.
-- 1. Revizyonları Kaldırmak
DELETE FROM wp_posts WHERE post_type = 'revision';
-- 2. Çöp Kutusundaki Yazıları ve Sayfaları Temizlemek
DELETE FROM wp_posts WHERE post_status = 'trash';
-- 3. Spam ve Onaylanmamış Yorumları Silmek
DELETE FROM wp_comments WHERE comment_approved = 'spam';
DELETE FROM wp_comments WHERE comment_approved = '0';
-- 4. Yetim Yorum Meta Verilerini Silmek
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);
-- 5. Yetim Post Meta Verilerini Silmek
DELETE wp_postmeta FROM wp_postmeta
LEFT JOIN wp_posts ON (wp_postmeta.post_id = wp_posts.ID)
WHERE (wp_posts.ID IS NULL);
-- 6. Yetim İlişkileri Temizlemek (Term Relationships)
DELETE tr FROM wp_term_relationships tr
LEFT JOIN wp_posts wp ON wp.ID = tr.object_id
WHERE wp.ID IS NULL;
-- 7. Geçici Verileri (Transients) Temizlemek
DELETE FROM wp_options WHERE option_name LIKE ('_transient_%');
DELETE FROM wp_options WHERE option_name LIKE ('_site_transient_%');
-- 8. Gereksiz Meta Anahtarlarını Silmek (_edit_lock, _edit_last)
DELETE FROM wp_postmeta WHERE meta_key IN ('_edit_lock', '_edit_last');
-- 9. Yetim Post (Yazı) Bağlantılarını Silmek
DELETE wp_posts FROM wp_posts
LEFT JOIN wp_posts child ON (wp_posts.post_parent = child.ID)
WHERE (wp_posts.post_parent <> 0) AND (child.ID IS NULL);
-- 10. Yetim Post Meta Verilerini Temizlemek
DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL;
-- 11. Optimizasyon: Veritabanı Tablolarını Optimize Etme
OPTIMIZE TABLE wp_posts;
OPTIMIZE TABLE wp_postmeta;
OPTIMIZE TABLE wp_comments;
OPTIMIZE TABLE wp_commentmeta;
OPTIMIZE TABLE wp_term_relationships;
OPTIMIZE TABLE wp_term_taxonomy;
OPTIMIZE TABLE wp_options;
-- 12. Genel Veritabanı Optimizasyonu (Tüm Tablolar)
SHOW TABLES;
-- Yukarıdaki tablo isimlerini alın ve optimize etmek istediğiniz tablolar için aşağıdaki gibi optimize işlemini yapın:
-- Örnek:
OPTIMIZE TABLE wp_users;
OPTIMIZE TABLE wp_usermeta;
-- Eğer tüm tabloları toplu optimize etmek isterseniz:
SET @tables = NULL;
SELECT GROUP_CONCAT('`', table_name, '`') INTO @tables
FROM information_schema.tables
WHERE table_schema = (SELECT DATABASE());
SET @tables = CONCAT('OPTIMIZE TABLE ', @tables);