format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_rightWooCommerce Veritabanı Şişmesi: wp_options Tablosunu Temizleme Rehberi
- arrow_rightBu Rehberde Neler Öğreneceksiniz?
- arrow_rightwp_options Tablosu Neden Şişer?
- arrow_right1. Transient Verilerin Birikmesi
- arrow_right2. Otomatik Yedekleme Eklentileri
- arrow_right3. Tema ve Eklenti Ayarları
- arrow_right4. WooCommerce Session Verileri
- arrow_right5. Revizyon Verileri
- arrow_rightVeritabanı Şişmesi Nasıl Tespit Edilir?
- arrow_rightphpMyAdmin ile Kontrol
- arrow_rightWordPress Yönetim Paneli
- arrow_rightwp_options Tablosunu Temizleme Yöntemleri
- arrow_rightYöntem 1: Transient Verileri Temizleme
- arrow_rightYöntem 2: Süresi Dolmuş Transient'ları Temizleme
- arrow_rightYöntem 3: WooCommerce Session Verilerini Temizleme
- arrow_rightYöntem 4: Kullanılmayan Option Kayıtlarını Bulma
- arrow_rightYöntem 5: wp_options Optimizasyonu
- arrow_rightOtomatik Temizlik Yöntemleri
- arrow_right1. WordPress Eklentileri
- arrow_right2. Cron Job ile Otomatik Temizlik
- arrow_right3. Redis/Memcached Kullanımı
- arrow_rightKarşılaştırma: Temizleme Yöntemleri
- arrow_rightŞişmeyi Önleme Stratejileri
- arrow_right1. Düzenli Bakım Zamanlaması Oluşturun
- arrow_right2. Kaliteli Hosting Kullanın
- arrow_right3. Eklenti Sayısını Minimize Edin
- arrow_right4. Önbellek Sistemini Aktif Tutun
- arrow_right5. wp-config.php Ayarları
- arrow_rightDikkat Edilmesi Gerekenler
- arrow_rightÖNEMLİ Uyarılar
- arrow_rightSonuç
WooCommerce Veritabanı Şişmesi: wp_options Tablosunu Temizleme Rehberi
WooCommerce tabanlı e-ticaret siteleri zamanla veritabanı şişmesi sorunuyla karşılaşabilir. Bu şişmenin en büyük nedenlerinden biri wp_options tablosudur. WordPress veritabanının en kritik tablolarından biri olan wp_options, eklenti ve tema ayarlarını, geçici verileri ve transients'ları depolar. WooCommerce mağazanız yavaşlıyor, sayfa yüklenme süreleri artıyorsa veya veritabanı boyutu hızla büyüyorsa, bu makale tam size göre.
Araştırmalara göre, bakımsız bir WooCommerce veritabanı yılda 500 MB'a kadar şişebilir. Bu durum hem sunucu kaynaklarını tüketir hem de kullanıcı deneyimini olumsuz etkiler.
Bu Rehberde Neler Öğreneceksiniz?
- wp_options tablosunun neden şiştiğini
- Veritabanı şişmesini tespit etme yöntemlerini
- Adım adım temizlik işlemlerini
- Tekrar şişmeyi önleme stratejilerini
wp_options Tablosu Neden Şişer?
wp_options tablosu, WordPress'in çalışması için gerekli olan tüm yapılandırma verilerini depolar. WooCommerce ortamında bu tablo birkaç nedenden dolayı hızla büyüyebilir:
1. Transient Verilerin Birikmesi
WooCommerce, geçici verileri (transients) depolar. Bu veriler sepet bilgileri, oturum verileri ve geçici önbellek bilgilerini içerir. Özellikle _transients ve _transient_timeout kayıtları zamanla birikir ve silinmez. Araştırmalara göre, aktif bir WooCommerce mağazası günde 100-500 yeni transient kaydı oluşturabilir.
2. Otomatik Yedekleme Eklentileri
Birçok yedekleme eklentisi, veritabanı tablolarında geçici yedekleme meta verileri saklar. Bu veriler temizlenmezse veritabanı boyutu katlanarak artar.
3. Tema ve Eklenti Ayarları
Her yeni eklenti veya tema güncellemesi wp_options tablosuna yeni satırlar ekler. Eski veya kaldırılmış eklentilerin verileri genellikle veritabanında kalır ve şişmeye neden olur.
4. WooCommerce Session Verileri
WooCommerce, ziyaretçi sepetlerini ve oturum verilerini wp_options tablosunda saklar. Yüksek trafikli sitelerde bu veriler hızla birikir.
5. Revizyon Verileri
WordPress'in otomatik revizyon özelliği, her güncellemede yeni kayıtlar oluşturur. Bu durum dolaylı olarak wp_options'taki meta verilerin artmasına neden olur.
Veritabanı Şişmesi Nasıl Tespit Edilir?
WooCommerce veritabanınızın şişip şişmediğini anlamak için birkaç yöntem kullanabilirsiniz:
phpMyAdmin ile Kontrol
Sunucu kontrol panelinizden phpMyAdmin'e giriş yapın ve WordPress veritabanınızı seçin. Aşağıdaki SQL sorgusunu çalıştırarak wp_options tablosunun boyutunu ve kayıt sayısını kontrol edebilirsiniz:
SELECT
table_name AS 'Tablo Adı',
ROUND(data_length / 1024 / 1024, 2) AS 'Boyut (MB)',
table_rows AS 'Kayıt Sayısı'
FROM information_schema.tables
WHERE table_schema = 'veritabani_adi'
AND table_name = 'wp_options';
Normalde wp_options tablosu 1-10 MB arasında olmalıdır. 50 MB'ı aşan tablolar ciddi şişme sorunu yaşıyor demektir.
WordPress Yönetim Paneli
WordPress hosting performansınızı izlemek için Site Health aracını kullanabilirsiniz. Araç, veritabanı performansı hakkında uyarılar gösterir.
wp_options Tablosunu Temizleme Yöntemleri
Veritabanını temizlemeden önce mutlaka yedek alın. Yanlış bir sorgu verilerinizi kalıcı olarak silebilir.
Yöntem 1: Transient Verileri Temizleme
En yaygın şişme nedeni olan transient verileri temizlemek için aşağıdaki SQL sorgusunu kullanabilirsiniz:
DELETE FROM wp_options WHERE option_name LIKE ('_transient_%');
DELETE FROM wp_options WHERE option_name LIKE ('_transient_timeout_%');
ÖNEMLİ: WordPress transients'ları veritabanında tutabilir veya Redis/Memcached gibi nesne önbelleğinde saklayabilir. Önbellek sistemi kullanıyorsanız, veritabanında daha az transient kaydı görürsünüz.
Yöntem 2: Süresi Dolmuş Transient'ları Temizleme
Tüm transient'ları silmek yerine yalnızca süresi dolmuş olanları kaldırmak daha güvenlidir:
DELETE FROM wp_options WHERE option_name LIKE '_transient_timeout_%' AND option_value < UNIX_TIMESTAMP();
Bu sorgu, süresi dolmuş tüm geçici verileri güvenli bir şekilde kaldırır.
Yöntem 3: WooCommerce Session Verilerini Temizleme
WooCommerce oturum verileri genellikle şu şekilde depolar:
DELETE FROM wp_options WHERE option_name LIKE 'wc_session_%';
Alternatif olarak, WooCommerce ayarlarından oturum verilerini silebilirsiniz:
- WooCommerce → Ayarlar → Gelişmiş sekmesine gidin
- "Oturum Verilerini Temizle" seçeneğini bulun
- "Temizle" butonuna tıklayın
Yöntem 4: Kullanılmayan Option Kayıtlarını Bulma
Artık kullanılmayan eklentilerin verilerini temizlemek için şu sorguyu çalıştırabilirsiniz:
SELECT option_name, option_value FROM wp_options WHERE option_name LIKE '%_plugin_%' AND option_value = '';
Bu sorgu, boş olan veya artık kullanılmayan eklenti ayarlarını listeler. Listelenen kayıtları manuel olarak inceleyip silebilirsiniz.
Yöntem 5: wp_options Optimizasyonu
Temizlik işlemlerinden sonra veritabanı tablolarını optimize etmeniz gerekir:
OPTIMIZE TABLE wp_options;
Bu komut, tablodaki boşlukları temizler ve sorgu performansını artırır.
Otomatik Temizlik Yöntemleri
Manuel temizlik yerine otomatik çözümler tercih edebilirsiniz. İşte en popüler yöntemler:
1. WordPress Eklentileri
WP-Optimize, WP Rocket ve Advanced Database Cleaner gibi eklentiler wp_options tablosunu otomatik olarak temizleyebilir. Bu eklentiler:
- Transient verilerini düzenli olarak temizler
- Veritabanı tablolarını optimize eder
- Otomatik temizleme zamanlaması ayarlamanıza olanak tanır
2. Cron Job ile Otomatik Temizlik
Sunucu tarafında cron job oluşturarak düzenli temizlik yapabilirsiniz. cPanel veya Plesk gibi kontrol panelleri üzerinden cron ekleyebilirsiniz:
0 3 * * * mysql -u kullanici -psifre veritabani_adi -e "DELETE FROM wp_options WHERE option_name LIKE '_transient_%' AND option_value < UNIX_TIMESTAMP();"
Bu cron job, her gün saat 03:00'te süresi dolmuş transient'ları temizler.
3. Redis/Memcached Kullanımı
Nesne önbellek sistemi kullanmak, transient verilerinin veritabanında birikmesini önler. LiteSpeed vs Nginx karşılaştırması yazımızda detaylı bilgi bulabilirsiniz.
Karşılaştırma: Temizleme Yöntemleri
| Yöntem | Zorluk | Güvenlik | Performans | Önerilen |
|---|---|---|---|---|
| Manuel SQL Sorgusu | Orta | Orta | Çok Yüksek | Evet |
| WordPress Eklentisi | Kolay | Yüksek | Yüksek | Evet |
| Cron Job | Orta | Yüksek | Çok Yüksek | Evet |
| Redis/Memcached | Zor | Çok Yüksek | Maksimum | Önerilir |
Şişmeyi Önleme Stratejileri
Temizlik tek seferlik bir çözüm değildir. Sürekli bakım şarttır:
1. Düzenli Bakım Zamanlaması Oluşturun
Haftalık veya aylık bakım rutini oluşturun. Bu rutin şunları içermelidir:
- Transient verilerinin temizlenmesi
- Veritabanı tablolarının optimizasyonu
- Kullanılmayan eklentilerin kaldırılması
- Veritabanı boyutunun kontrolü
2. Kaliteli Hosting Kullanın
Performans için kaliteli hosting seçimi kritik öneme sahiptir. SSD sunucular, Redis önbellek desteği ve optimize edilmiş WordPress ortamları şişmeyi minimize eder.
3. Eklenti Sayısını Minimize Edin
Her eklenti veritabanına yeni veriler ekler. Yalnızca gerekli eklentileri kullanın ve düzenli olarak kullanılmayanları kaldırın.
4. Önbellek Sistemini Aktif Tutun
Nesne önbellek (Redis/Memcached) ve sayfa önbellek sistemleri, veritabanı sorgularını azaltarak şişmeyi önler.
5. wp-config.php Ayarları
WordPress yapılandırma dosyanıza aşağıdaki satırları ekleyerek transient davranışını kontrol edebilirsiniz:
// Transient'ları veritabanında saklama süresini sınırlayın define( 'AUTOSAVE_INTERVAL', 160 ); define( 'WP_POST_REVISIONS', 3 ); define( 'EMPTY_TRASH_DAYS', 7 );
Dikkat Edilmesi Gerekenler
Veritabanı temizliği sırasında dikkatli olunması gereken noktalar:
ÖNEMLİ Uyarılar
- Her zaman yedek alın: Temizlik öncesi tam veritabanı yedeklemesi yapın
- Test ortamında deneyin: Büyük değişiklikleri önce test sunucusunda deneyin
- Bilinen kayıtları silmeyin: WordPress core option kayıtlarını silmeyin
- Eklenti uyumluluğunu kontrol edin: Bazı eklentiler transient'lara bağımlı olabilir
- FTP vs SFTP farkları konusunda bilgi sahibi olun ve veri transferlerinizde güvenli yöntemleri kullanın
Sonuç
WooCommerce veritabanı şişmesi, özellikle wp_options tablosunun aşırı büyümesi, e-ticaret sitelerinin performansını ciddi şekilde etkiler. Düzenli bakım, uygun temizleme yöntemleri ve önleyici tedbirlerle bu sorunu minimize edebilirsiniz.
Tempo temizlik yeterli değildir. Sunucu log analizi yaparak veritabanı erişimlerinizi izleyin ve şişme belirtileri gördüğünüzde hemen müdahale edin.
Unutmayın: Sağlıklı bir veritabanı = Hızlı bir WooCommerce mağazası =