Projeler ve ajans desteği için müsait · Hızlı yanıt, işi yapan kişiden

Yıllarca eklenti kullanımı sonrası WordPress veritabanını temizleme

Sahipsiz tablolar, aşırı büyümüş autoload seçenekler, birikmiş revizyonlar: eskiyen bir veritabanı gerçekte ne içerir ve hâlâ kullanılan bir eklentiyi bozmadan nasıl temizlenir.

Sorunumu anlatayım Mesaj gönderin

Yıllarca kullanım sonrası bir veritabanı gerçekte neyi barındırır

Birçok eklentinin kurulup sonra kaldırıldığı, yıllardır kullanılan bir WordPress sitesi, veritabanında kimsenin hiç temizlemediği unsurlar biriktirir. İyi tasarlanmış eklentiler kaldırılırken kendi tablolarını siler; birçoğu bunu yapmaz ve artık hiçbir aktif kodun okumadığı sahipsiz tablolar geride kalır. wp_posts tablosu da içerik revizyonlarını biriktirir: bir yazının her otomatik kaydı veya manuel kaydı, varsayılan olarak hiç temizlenmeyen yeni bir satır oluşturur. wp_options içinde saklanan geçici bir önbellekleme mekanizması olan transient'lar mantıken süresi dolduğunda geçersiz hâle gelir, ancak hiçbir şey onları temizlemezse süreleri dolduktan çok sonra bile veritabanında kalmaya devam eder.

Sahipsiz meta veriler de aynı mantığı izler: bir yazı, ürün ya da müşteri silindiğinde, wp_postmeta veya wp_usermeta içindeki karşılık gelen satırlar, özellikle silme işlemi WordPress arayüzü yerine doğrudan bir veritabanı sorgusuyla yapıldıysa, her zaman aynı anda silinmez. Bu sahipsiz satırlar hiçbir yerde görünmez, ama veritabanını gereksiz yere şişirmeye devam eder.

Performans açısından en maliyetli nokta genellikle en az görünen olanıdır: wp_options içinde autoload olarak işaretlenmiş seçenekler. Bunlar, o sayfanın gerçekte ihtiyacı olup olmadığına bakılmaksızın, WordPress'in her sayfa yüklemesinde belleğe tamamen yüklediği ayarlardır. Eski bir sitede bu tablo birkaç megabayta ulaşan autoload seçenekleri içerebilir; bunların hiçbirine ihtiyaç duymayan sade bir ürün sayfasında bile her istekte yüklenir.

Eskiyen bir WordPress veritabanını nasıl temizliyorum

  1. Tam veritabanı yedeği

    Herhangi bir silme işleminden önce, site dosyalarından bağımsız olarak geri yüklenebilir tam bir veritabanı yedeği.

  2. Sahipsiz tabloları belirleme

    Veritabanındaki tam tablo listesini, sitede gerçekten aktif olan eklentilerin ön ekleriyle karşılaştırırım. Ön eki kurulu hiçbir eklentiyle (aktif ya da değil) eşleşmeyen bir tablo, kaldırma adayıdır.

  3. Revizyonları ve süresi dolmuş transient'ları temizleme

    Yazı başına makul bir sayının ötesindeki içerik revizyonlarını ve son kullanma tarihi geçmiş transient'ları silerim.

  4. Autoload seçeneklerini öncesi ve sonrasında ölçme

    Müdahale öncesi autoload olarak işaretlenmiş seçeneklerin toplam boyutunu kaydeder, ardından temizlik sonrası azalmayı kontrol ederim. Bu, temizliğin performans üzerindeki gerçek etkisinin en doğrudan göstergesidir.

  5. İşlevsel kontrol

    Özellikle kendi önbelleği için transient kullanan eklentiler başta olmak üzere, her aktif eklentinin temizlik sonrası normal çalıştığını kontrol ederim.

İlgili sayfalar

İhtiyacınızı bir dakikada anlatın

Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.

origine
catalogue
extensions-premium (facultatif)
conserver (facultatif)
Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Sıkça sorulan sorular

Autoload seçenekleri siteyi gerçekten neden yavaşlatır?
Çünkü hiçbirine ihtiyaç duymayan sayfalar dahil, her istekte belleğe tamamen yüklenirler. Toplam hacimleri arttıkça, sade bir ürün sayfası görüntülemesinde bile her sayfa yüklemesi bu bedeli öder.
Aktif bir eklentiyi bozma riski olmadan sahipsiz bir tablo nasıl tespit edilir?
Veritabanının tablo listesini, gerçekten kurulu eklentilerin (aktif ya da değil) ön ekleriyle karşılaştırırım. Eşleşen hiçbir eklentisi (aktif ya da devre dışı) olmayan bir tablo iyi bir adaydır, ama yalnızca isme güvenmek yerine silmeden önce her zaman kontrol ederim.
Tüm içerik revizyonları silinmeli mi?
Hayır, faydalı bir geçmiş tutmak için yazı başına makul sayıda güncel revizyon saklarım, ve yalnızca artık hiç kimseye hizmet etmeyen eski birikimi temizlerim.
Veritabanı temizliği aktif bir eklentiyi bozabilir mi?
Evet, silinen bir tablo veya transient'lar hâlâ aktif bir eklenti tarafından okunuyorsa. Bu yüzden temizlik sonrası işlevsel kontrol öncelikle önbellek veya kendi tablosunu kullanan eklentilere odaklanır.
Bir WordPress veritabanı ne sıklıkla temizlenmeli?
Evrensel bir sıklık yoktur: zaman içinde kurulup kaldırılan eklenti sayısına ve içerik hacmine bağlıdır. Çoğu aktif site için yılda bir ya da iki kontrol yeterlidir.