WooCommerce Checkout Hızlandırma (2026): Sepet/Ödeme Sayfası Yavaşsa 12 Net Çözüm

WooCommerce’te hızın “para”ya en net dönüştüğü yer checkout. Anasayfa hızlı olsa bile sepet/ödeme yavaşsa satış düşer. Aşağıdaki 12 adım; hem en sık “checkout yavaş” sebeplerini çözer, hem de sistemi bozmadan ilerlemeni sağlar.


Hızlı Özet

  • Cart / Checkout / My Account sayfalarını cache’leme → dinamik sayfalardır.
  • Cloudflare’da HTML cache/kuralları kullanıyorsan bu sayfalar için Bypass cache kuralı koy.
  • Checkout’ta INP’yi en çok bozan şey: gereksiz JS (popup, slider, ekstra scriptler). INP optimizasyonu için “long task”ları azalt.

1) Cache çakışmasını bitir: Cart/Checkout/My Account “dinamik” kalmalı

WooCommerce’un kendi performans dokümanı, cache eklentisi kullanıyorsan Cart, Checkout, My Account sayfalarını cache’den hariç tutmanı söyler.
LiteSpeed Cache dokümanında da bu sayfaların varsayılan olarak cache dışı bırakıldığı yazıyor (ama WooCommerce sayfa eşleşmeleri yanlışsa bozulabilir).

Kontrol:

  • WooCommerce → Ayarlar → Gelişmiş: Cart/Checkout/My Account sayfaları doğru atanmış mı? (yanlışsa cache yanlış sınıflanabilir).

2) LiteSpeed kullanıyorsan: WooCommerce sekmesini kontrol et

LSCache, WooCommerce sayfalarını otomatik hariç tutar; ama sen “Guest Page Caching / aggressive ayar” gibi şeylerle bunu bozabilirsin.
Checkout yavaşlığında değil, checkout kırılmasında da en sık sebep yanlış cache davranışıdır.


3) Cloudflare kullanıyorsan: “Bypass cache” kuralı şart (özellikle HTML cache yapıyorsan)

Cloudflare HTML’i varsayılan olarak cache’lemez; sadece uzantıya göre cache yapar.
Ama Cache Rules/Page Rule/APO/Worker gibi bir kurulumla HTML cache’liyorsan, checkout’ı cache’lemek cart/checkout’ı bozabilir.

Cloudflare dokümanına göre Cache Rules içinde Bypass cache seçeneği var.

Önerilen Cloudflare kural mantığı:

  • /cart* → Bypass cache
  • /checkout* → Bypass cache
  • /my-account* → Bypass cache
  • /wp-admin* ve /wp-login.php* → Bypass cache

4) Checkout’ta gereksiz JS/CSS yükünü azalt (INP için en büyük kazanç)

INP, etkileşimlerin gecikmesini ölçer ve özellikle checkout gibi “tıklama yoğun” sayfalarda çok kritiktir. INP’yi iyileştirmenin ana yolu genelde JavaScript kaynaklı gecikmeleri azaltmak ve “long task”ları bölmektir.

Pratik hamleler:

  • Popup/slider/chat widget gibi scriptleri checkout’ta kapat
  • “Tek tıkla açılan” kampanya barlarını checkout’ta devre dışı bırak
  • Checkout’ta sadece gerekli font/ikon yükleri kalsın

5) Ödeme eklentisi scriptlerini sadece checkout’ta yükle

Ödeme eklentileri (iyzico/PayTR vb.) bazen her sayfada script yükleyebilir. Bu, checkout dışında sayfaları da yorar; checkout’ta ise fazladan script INP’yi bozar.

WooCommerce conditional tag’leriyle (ör. is_checkout(), is_cart()) sadece gerekli sayfalarda çalıştırma mantığını kullanabilirsin.

Geliştirici çözümü (child theme / custom plugin):

add_action('wp_enqueue_scripts', function () {
if ( function_exists('is_checkout') && is_checkout() ) {
return; // checkout'ta kalsın
}
// ÖRNEK: ödeme eklentisinin script handle'ını checkout dışı kaldır
wp_dequeue_script('paytr-script-handle');
wp_dequeue_style('paytr-style-handle');
}, 999);

Handle adları eklentiye göre değişir; tarayıcı DevTools “Network/Initiator” veya kaynak koddan bulunur.


6) “Delay JS / Defer JS” ayarlarını checkout’ta agresif kullanma

Checkout; form validasyonu, adres alanları, ödeme iframe’i, webhook tetikleri gibi “anlık” JS ister. Bu yüzden genel sayfalarda işe yarayan geciktirme ayarları, checkout’ta gecikmeye/bozulmaya dönebilir.

Taktik:

  • Delay/Defer’i açacaksan checkout/cart sayfalarını hariç tut
  • Bozulursa hedef script’i exclude et (LiteSpeed “tuning excludes” yaklaşımı)

7) LCP görselini yanlışlıkla lazy-load yapma

Checkout’ta hero görsel pek olmaz ama bazı temalarda üstte banner/kapak olabilir. web.dev, LCP görselini lazy-load yapmanın LCP’yi kötüleştirdiğini net söylüyor.


8) Checkout alanlarını sadeleştir (form = hız)

Her ekstra alan (il/ilçe seçimi, şirket bilgisi koşulları, doğrulamalar) hem JS hem de kullanıcı süresi demek.

Öneri:

  • B2C/B2B alanlarını “koşullu” yap (kurumsal seçilince VKN/Unvan açılsın)
  • Zorunlu olmayan alanları kaldır (adres 2, şirket adı vb. ihtiyaç yoksa)

9) Üçüncü taraf etiketleri checkout’ta minimumda tut

GA4/Ads/heatmap gibi etiketler checkout’ta gereksiz çoğalırsa INP’ye zarar verebilir.

Kural:

  • Checkout’ta sadece zorunlu ölçüm kalsın
  • Dönüşüm takibi gerekiyorsa “thank you” (sipariş alındı) sayfasında tetiklemeyi tercih et

10) Veritabanı ve arka plan işlerini düzene sok

WooCommerce performans rehberinde genel olarak caching, görsel optimizasyonu, veritabanı bakımı ve CDN gibi alanlar önerilir.
Checkout yavaşsa, arka planda aynı anda çalışan ağır işler (backup, güvenlik taraması, import cron) “anlık” yük yaratabilir.


11) Checkout’ta “sonsuz yükleniyor” (loading) oluyorsa

Bu çoğu zaman:

  • cache (cart/checkout cache’lenmiş),
  • Cloudflare kuralı,
  • JS geciktirme,
  • ödeme callback/webhook erişimi

ile ilgilidir. İlk adım: cart/checkout bypass + purge + test.


12) 10 dakikalık test kontrol listesi (kopyala)

  1. Cart/Checkout/My Account cache dışı mı?
  2. Cloudflare Cache Rules varsa checkout için Bypass cache var mı?
  3. Checkout’ta gereksiz popup/slider scriptleri kapalı mı?
  4. Delay/Defer checkout’ta devre dışı mı?
  5. Ödeme sayfasında 1 test siparişi: kart ekranı açılıyor mu, sipariş “processing/completed” oluyor mu?

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Scroll to Top