WooCommerce Yavaş mı? Mağaza Hızlandırma Rehberi
- Yayınlandı:
- Son teknik kontrol:
WooCommerce
Kısa cevap
WooCommerce, sepet, ödeme ve hesabım gibi kişiye özel sayfaları önbelleğe alınamadığı için sıradan bir WordPress sitesinden daha fazla sunucu işi yapar. Hızlandırmanın temeli, ürün ve kategori sayfalarını önbelleğe alıp kişiye özel sayfaları hariç tutmak, veritabanı yükünü kalıcı bir nesne önbelleğiyle (Redis gibi) azaltmak, siparişleri yüksek performanslı sipariş tablolarına (HPOS) taşımak ve biriken zamanlanmış görevleri temizlemektir. Ödeme ve kargo eklentilerinin betiklerinin tüm sayfalarda yüklenmemesi de ön yüzü belirgin biçimde hafifletir.
Önemli noktalar
- Sepet, ödeme ve hesabım sayfaları asla önbelleğe alınmaz; ürün ve kategori sayfaları alınabilir.
- Kalıcı nesne önbelleği, önbelleğe alınamayan sayfalarda veritabanı yükünü azaltmanın ana yoludur.
- HPOS, siparişleri kendi tablolarında saklar; eski mağazalarda geçiş öncesi eklenti uyumu kontrol edilmelidir.
- Birikmiş Action Scheduler görevleri ve süresi dolmuş geçici veriler veritabanını şişirir.
- Katmanlı filtreler ve büyük varyasyonlu ürünler en ağır sorguları üretir.
WooCommerce neden daha ağır?
Bir blog yazısı herkese aynı görünür ve bir kez üretilip önbellekten sunulabilir. Bir mağazada ise sepet, fiyat (kullanıcı rolüne veya kampanyaya göre), stok ve hesap bilgileri kişiye veya ana göre değişir. Bu yüzden WooCommerce sayfalarının bir bölümü her istekte PHP ve veritabanı tarafından yeniden üretilir. Genel hız adımları (sunucu, görseller, JavaScript) WordPress site hızlandırma rehberinde; bu rehber yalnızca mağazaya özgü konuları anlatır.
1. Önbellek: neyi alıp neyi hariç tutmalı?
| Sayfa | Sayfa önbelleği | Neden |
|---|---|---|
| Ana sayfa, kategori, ürün | Evet | Herkese aynı içerik — en büyük kazanç burada |
| Sepet | Hayır | Kişiye özel |
| Ödeme | Hayır | Kişiye özel; önbellek ödeme hatalarına yol açar |
| Hesabım | Hayır | Kişiye özel |
| Oturum açmış kullanıcılar | Genellikle hayır | Rol bazlı fiyat ve kişisel içerik |
Önbellek katmanlarının nasıl birlikte çalıştığını WordPress önbellek nedir rehberinde anlattık.
2. Kalıcı nesne önbelleği
Önbelleğe alınamayan sepet ve ödeme sayfalarında bile aynı veriler (ürün bilgileri, ayarlar, oturum) tekrar tekrar sorgulanır. Redis veya Memcached gibi kalıcı bir nesne önbelleği bu sorguların sonuçlarını bellekte tutar ve veritabanı yükünü azaltır. Hosting bunu destekliyorsa WooCommerce mağazaları için en etkili sunucu tarafı adımlardan biridir.
3. Sepet parçaları (cart fragments)
Sepet parçaları betiği, menüdeki mini sepetin sayfa önbellekten gelse bile güncel görünmesi için arka planda sunucuya istek atar. Eskiden her sayfada yüklenirdi ve yoğun mağazalarda sunucuya ciddi yük bindirirdi. WooCommerce 7.8’den beri betik varsayılan olarak yalnızca Sepet bileşeninin bulunduğu sayfalarda veya bir eklenti/tema ona bağımlılık bildirdiğinde yüklenir.
- Tarayıcının geliştirici araçlarında Ağ sekmesini açın; her sayfada ?wc-ajax=get_refreshed_fragments isteği görüyorsanız bir tema veya eklenti betiği hâlâ yüklüyordur.
- Temanın kendi mini sepeti varsa sepet parçalarına ihtiyaç duyup duymadığını kontrol edin; devre dışı bırakmak mini sepetin güncellenmemesine yol açabilir, değişikliği mutlaka test edin.
4. HPOS: yüksek performanslı sipariş tabloları
WooCommerce siparişleri uzun süre WordPress’in yazı tablolarında (posts ve postmeta) sakladı. Yüksek Performanslı Sipariş Depolama (HPOS), siparişleri kendi tablolarında ve indeksleriyle saklar; sipariş sayısı arttıkça sipariş sorguları ve panel belirgin biçimde daha verimli çalışır. WooCommerce 8.2’den beri yeni kurulumlarda varsayılandır.
Mevcut durumu kontrol edin
WooCommerce → Ayarlar → Gelişmiş → Özellikler bölümünde sipariş depolama yöntemini görebilirsiniz.
Eklenti uyumunu doğrulayın
WooCommerce aynı ekranda HPOS ile uyumsuz eklentileri listeler. Uyumsuz bir eklenti varsa güncellemesini bekleyin veya alternatif bulun.
Senkronizasyonla geçin
Eski mağazalarda önce iki depolamanın eşzamanlanmasını açıp tamamlanmasını bekleyin, ardından HPOS’a geçin. İşlem öncesi veritabanı yedeği şarttır.
5. Zamanlanmış görevler ve geçici veriler
WooCommerce ve birçok eklentisi arka plan işleri için Action Scheduler kullanır. Tamamlanmış, başarısız veya bekleyen görevler zamanla on binlerce satıra ulaşabilir; WooCommerce → Durum → Zamanlanmış Eylemler ekranında bekleyen ve başarısız görevleri inceleyebilirsiniz. Sürekli başarısız olan bir görev genellikle bozuk bir eklentiye işaret eder. Benzer şekilde süresi dolmuş geçici veriler (transient) veritabanında birikebilir.
6. Katalog: filtreler, varyasyonlar, arama
- Çok sayıda özelliğe göre filtreleme yapan katmanlı gezinme, her kombinasyon için ayrı sorgu üretir ve önbellek verimini düşürür. Filtre sayısını gerçekten kullanılanlarla sınırlayın.
- Yüzlerce varyasyonlu ürünler ürün sayfasını ağırlaştırır; varyasyonların gerçekten ayrı ürün mü olması gerektiğini değerlendirin.
- Varsayılan WordPress araması büyük kataloglarda yavaş ve isabetsiz olabilir; büyük mağazalarda özel bir arama çözümü gerekebilir.
7. Ön yüz: betikleri yalnızca gereken sayfada yükleyin
Ödeme sağlayıcısı, kargo takibi, canlı destek ve pazarlama eklentileri betiklerini sıklıkla her sayfada yükler. Ödeme betiğinin blog yazılarında yüklenmesi gereksizdir. Betik yöneticisi eklentileri veya tema düzeyinde koşullu yükleme ile bu betikleri ilgili sayfalarla sınırlamak, ön yüzü belirgin biçimde hafifletir — ancak ödeme akışını baştan sona test ederek.
Ölçüm: mağazada neye bakılır?
| Sayfa | Ölçüt |
|---|---|
| Kategori ve ürün | Core Web Vitals (LCP, CLS) — ziyaretçinin ilk deneyimi |
| Sepete ekleme | Düğmeye basıldıktan sonra tepki süresi (INP) |
| Sepet ve ödeme | Sunucu yanıt süresi — önbelleğe alınamadığı için sunucu hızını doğrudan gösterir |
| Yönetim paneli | Sipariş listesi ve rapor ekranlarının açılış süresi |
Mağazanız yavaş mı?
WooCommerce’e özgü darboğazları ölçüp ödeme akışını bozmadan hızlandıralım.
WooCommerce DestekSık sorulan sorular
WooCommerce ile hangi önbellek eklentisi kullanılmalı?
HPOS’a geçmek riskli mi?
Mağazam kampanya günlerinde çöküyor, ne yapmalıyım?
Ürün görselleri de hızı etkiler mi?
Kaynaklar ve teknik referanslar
Bu içeriği hazırlayan
WPHizmet EkibiWordPress teknik ekibi
WPHizmet içeriklerini hazırlayan teknik ekip. Rehberler, WordPress ve WooCommerce sitelerinde günlük olarak karşılaşılan sorunlara dayanır; sürüm, yapılandırma ve gereksinim bilgileri yayın öncesinde resmi dokümantasyondan doğrulanır.
- WordPress teknik destek
- Performans ve Core Web Vitals
- Güvenlik ve zararlı kod temizliği
- WooCommerce
- Teknik SEO