1. Ana Sayfa
  2. Blog
  3. WooCommerce Sayfaları Neden Geç Açılır?

WooCommerce Sayfaları Neden Geç Açılır?

WooCommerce sayfaları çoğunlukla yetersiz hosting, sayfa önbelleğinin olmaması, şişmiş veritabanı, büyük görseller ve ağır eklentiler yüzünden geç açılır. Bu yazıda nedeni nasıl tespit edeceğinizi ve sunucu, veritabanı, önbellek ve görsel tarafındaki düzeltmeleri anlatıyoruz.

By meoman2008’den beri WordPress

Sunucu Altyapısı ve Hosting Kaynaklarının Verimliliği

WooCommerce mağazanızın sayfaları çoğunlukla yetersiz hosting, sayfa önbelleğinin olmaması, şişmiş veritabanı (özellikle wp_options autoload kayıtları ve sipariş tabloları), büyük görseller ve ağır eklentiler yüzünden geç açılır. Nedeni bulmak için Query Monitor eklentisiyle yavaş sorguları ve eklentileri, PageSpeed Insights ile ön yüz yükünü ölçün. İlk bayt süresi (TTFB) yüksekse sorun sunucu, veritabanı ya da önbellek tarafındadır; düşükse görsellere ve JavaScript dosyalarına bakın.

Sunucu tarafında kullanılan işlemci mimarisi ve depolama birimlerinin hızı, İlk Bayt Süresi (TTFB) üzerinde belirleyici rol oynar. NVMe SSD depolama birimleri, geleneksel SSD'lere göre veriye çok daha hızlı erişim sağlayarak ürün listeleme sayfalarındaki gecikmeleri minimize eder. Ayrıca, sunucunun fiziksel lokasyonunun hedef kitlenize uzak olması, ağ gecikmesini (latency) artırarak kullanıcı deneyimini olumsuz etkiler.

WooCommerce'in desteklediği güncel bir PHP 8 sürümünü kullanmak, eski PHP 7 sürümlerine göre kodu daha hızlı çalıştırır. Yazılımsal güncellemelerin yanı sıra, sunucu katmanında kullanılan işletim sisteminin optimize edilmiş olması ve HTTP/3 protokolünün desteklenmesi, verilerin tarayıcıya iletilme sürecini hızlandırır. Bu altyapısal eksiklikler giderilmeden yapılacak eklenti bazlı optimizasyonlar kalıcı çözüm sağlamayacaktır.

  • PHP bellek limitini en az 512MB veya 1GB seviyesine yükseltin.
  • NVMe SSD ve yüksek frekanslı işlemci sunan bulut sunucuları tercih edin.
  • Sunucu lokasyonunu ana müşteri kitlenizin bulunduğu bölgeye yakın seçin.
Yavaşlık NedeniEtki DüzeyiÇözüm YöntemiUygulama ZorluğuYeni Yaklaşım
Yetersiz HostingÇok YüksekBulut Sunucuya GeçişOrtaServerless Altyapı
Şişmiş VeritabanıYüksekSQL OptimizasyonuZorOtomatik Temizlik
Ağır GörsellerOrtaWebP/AVIF DönüşümüKolayAI Sıkıştırma
Eklenti KalabalığıYüksekKod TemizliğiOrtaModüler Yapı
Önbellek EksikliğiÇok YüksekRedis/Object CacheKolayEdge Caching

Veritabanı Optimizasyonu ve Tablo Temizliği

WooCommerce siteleri zamanla "wp_options", "wp_postmeta" ve "wp_woocommerce_order_items" gibi tablolarda binlerce gereksiz veri biriktirir. Özellikle eski siparişlerin logları, silinmiş ürünlerin kalıntıları ve geçici veriler (transients), veritabanı sorgularının yavaşlamasına yol açar. Veritabanı boyutu büyüdükçe, bir müşterinin arama yapması veya ürün detayına gitmesi saniyeler süren SQL sorgularına dönüşür.

Otomatik yüklenen (autoload) verilerin kontrol edilmesi, veritabanı performansını artırmanın en etkili yollarından biridir. "wp_options" tablosundaki her satırın her sayfa yüklemesinde okunması, sunucu belleğine gereksiz yük bindirir. Bu tablodaki gereksiz eklenti kalıntılarını temizlemek ve sadece gerekli verilerin otomatik yüklenmesini sağlamak, sitenin genel tepki süresini iyileştirir.

Veritabanı tablolarının düzenli olarak optimize edilmesi ve indekslenmesi, arama motoru gibi çalışan SQL sorgularının daha verimli sonuç döndürmesini sağlar. Büyük ölçekli mağazalar için veritabanı sorgularını hızlandırmak adına harici SQL optimizasyon araçları ve veritabanı önbellekleme teknikleri standart hale gelmiştir. Temiz bir veritabanı, sadece hız değil, aynı zamanda sunucu güvenliği ve yedekleme kolaylığı da sağlar.

  • Eski revizyonları, çöpe atılmış içerikleri ve süresi dolmuş geçici verileri silin.
  • "wp_options" tablosundaki autoload değerini "yes" olan satırları inceleyerek azaltın.
  • Veritabanı tablolarını düzenli olarak "OPTIMIZE TABLE" komutuyla onarın.

Görsel Boyutlandırma ve Yeni Nesil Formatlar

Görseller, e-ticaret sayfalarında çoğu zaman sayfa boyutunun en büyük bölümünü oluşturur. Yüksek çözünürlüklü ürün fotoğraflarının optimize edilmeden yüklenmesi, özellikle mobil kullanıcılar için sayfaların yüklenemez hale gelmesine neden olur. Görsellerin sadece boyutunu küçültmek yeterli değildir; aynı zamanda modern sıkıştırma algoritmalarının kullanılması gerekir.

WebP ve AVIF, güncel tarayıcıların desteklediği ve JPEG / PNG'ye göre genellikle daha küçük dosya sunan formatlardır. Bu formatlar, aynı görsel kalitesini çok daha düşük dosya boyutlarında sunarak bant genişliği tasarrufu sağlar. Ayrıca, "Lazy Load" (Tembel Yükleme) tekniği sayesinde, kullanıcının ekranına girmeyen görsellerin yüklenmesi ertelenerek ilk açılış hızı optimize edilir.

Görsellerin sunumu sırasında İçerik Dağıtım Ağları (CDN) kullanmak, görsellerin kullanıcıya en yakın sunucudan gönderilmesini sağlar. Bu durum, sunucu üzerindeki yükü hafifletirken, görsel tabanlı gecikmeleri ortadan kaldırır. Görsel optimizasyonu, sadece dosya boyutuyla ilgili değil, aynı zamanda doğru boyutlandırma (dimension) ve "srcset" kullanımıyla tarayıcının doğru görseli seçmesini sağlamakla da ilgilidir.

  • Tüm görselleri WebP veya AVIF formatına dönüştürerek servis edin.
  • Görseller için yükseklik ve genişlik (width/height) değerlerini belirleyerek düzen kaymalarını önleyin.
  • Görsel sıkıştırma işlemlerini sunucu yerine API tabanlı harici servislerle gerçekleştirin.
İlgili hizmetE-Ticaret Siteleri

Eklenti Yönetimi ve Kod Kalabalığının Azaltılması

WooCommerce ekosisteminde her yeni özellik için bir eklenti yüklemek, sitenin "kod şişkinliği" (code bloat) yaşamasına neden olur. Her eklenti, sitenizin ön yüzüne yeni CSS ve JavaScript dosyaları ekler. Bu dosyalar birleştirilmediğinde veya ertelenmediğinde, tarayıcı her biri için ayrı bir HTTP isteği yaparak sayfa açılışını geciktirir.

Devre dışı bırakılan eklentiler kod çalıştırmadığı için siteyi yavaşlatmaz; yine de güvenlik ve düzen için kullanılmayanları tamamen silmek daha iyidir. Bazı eklentiler arka planda sürekli çalışan PHP işlemleri (cron jobs) başlatarak sunucu kaynaklarını tüketir. Eklenti seçiminde "hafif" (lightweight) ve iyi kodlanmış olanları tercih etmek, uzun vadeli performans için hayati önem taşır.

Gereksiz scriptlerin sayfa bazlı devre dışı bırakılması, optimizasyonun ileri seviyesidir. Örneğin, sadece iletişim sayfasında çalışan bir form eklentisinin, ürün sayfalarında JavaScript yüklemesi mantıksızdır. Eklenti denetleme araçları kullanarak hangi eklentinin ne kadar kaynak tükettiğini analiz etmek ve işlevleri mümkünse kod parçacıklarıyla (snippets) çözmek, sitenizi hızlandıracaktır.

  • Sadece gerçekten ihtiyaç duyduğunuz eklentileri aktif tutun ve diğerlerini silin.
  • Ağır eklentilerin yerine fonksiyonel kod parçacıkları kullanmayı deneyin.
  • Eklentilerin yüklediği scriptleri sadece ihtiyaç duyulan sayfalarda çalışacak şekilde kısıtlayın.

Önbellekleme Stratejileri ve Dinamik İçerik Yönetimi

Önbellekleme, WooCommerce sitelerinde hızı artırmanın en güçlü yoludur ancak yanlış yapılandırıldığında sepet ve ödeme sayfalarında sorunlara yol açabilir. Sayfa önbellekleme (Page Caching), dinamik PHP sayfalarını statik HTML dosyalarına dönüştürerek sunucu yükünü azaltır. Ancak e-ticaret sitelerinde kullanıcıya özel veriler bulunduğu için, bu önbelleğin akıllıca yönetilmesi gerekir.

Nesne önbellekleme (Object Caching), veritabanı sorgularının sonuçlarını bellekte (RAM) tutarak aynı sorgunun tekrar tekrar çalışmasını engeller. Redis veya Memcached gibi teknolojiler, özellikle WooCommerce'in yoğun veritabanı trafiğini yönetmek için vazgeçilmezdir. Bu sayede, ürün arama ve filtreleme gibi işlemler milisaniyeler içinde tamamlanır.

Tarayıcı önbellekleme ise, sitenizi daha önce ziyaret etmiş kullanıcıların statik dosyaları kendi cihazlarından yüklemesini sağlar. Bu, tekrar eden ziyaretlerde sayfa yükleme süresini neredeyse sıfıra indirir. Gelişmiş önbellekleme eklentileri, sepet sayfalarını ve kullanıcı panellerini önbellek dışında tutarak mağazanın işlevselliğini bozmadan hız artışı sağlar.

Kaynak: WordPress.org Eklenti Dizini

  • En İyi 5 Optimizasyon Aracı: WP Rocket, LiteSpeed Cache, Redis Object Cache, Perfmatters, Autoptimize.
  • Dinamik sayfaları (Sepet, Hesabım) önbellekleme dışında bırakın.
  • Sunucu seviyesinde Varnish veya Nginx FastCGI önbelleği kullanın.

WooCommerce AJAX ve API Sorgularının Denetimi

WooCommerce, sepete ekleme ve fiyat güncellemeleri gibi işlemler için yoğun şekilde AJAX sorguları kullanır. Özellikle "wc-ajax=get_refreshed_fragments" isteği, mini sepeti güncel tutmak için sayfa önbelleğe alınmış olsa bile sunucuya gider. WooCommerce 7.8 sürümünden beri bu betik varsayılan olarak yalnız mini sepet (Cart widget) kullanılan sayfalarda yüklenir; temanız başlıkta mini sepet gösteriyorsa her sayfada çalışmaya devam eder.

Heartbeat API kullanımı da benzer şekilde sunucuya sürekli sinyal göndererek kaynak tüketimini artırır. Bu API'nin çalışma aralığını genişletmek veya sadece gerekli sayfalarda çalışmasına izin vermek, sunucu üzerindeki yükü hafifletir. Dinamik içeriklerin yüklenmesi sırasında kullanılan bu API ve AJAX yapıları, doğru optimize edilmediğinde sitenin tepki vermesini zorlaştırır.

WooCommerce siteleri için REST API optimizasyonu da kritik bir konudur. Harici uygulamalar veya mobil uygulamalarla entegre çalışan mağazalarda API üzerinden gelen isteklerin hızlı yanıtlanması gerekir. Gereksiz API uç noktalarının kapatılması ve API yanıtlarının önbelleğe alınması, mağazanın genel hızına ve güvenliğine katkı sağlar.

  • Sepet parçacıkları (cart fragments) özelliğini sadece gerekli sayfalarda aktif edin.
  • WordPress Heartbeat API'sinin aralığını uzatın; tamamen kapatmak yazılardaki otomatik kaydetmeyi ve düzenleme kilidini bozar.
  • Gereksiz WooCommerce API uç noktalarını kapatarak sorgu trafiğini azaltın.

Mobil Uyumluluk ve Core Web Vitals Metrikleri

Google'ın sıralama kriterleri arasında yer alan Core Web Vitals (Önemli Web Verileri), bir WooCommerce mağazasının başarısını belirleyen temel teknik ölçütlerdir. LCP (En Büyük İçerikli Boyama), CLS (Kümülatif Düzen Kayması) ve INP (Sonraki Boyamaya Kadar Etkileşim) değerleri, sayfanın ne kadar hızlı göründüğünü, ne kadar kaydığını ve etkileşime ne kadar çabuk yanıt verdiğini ölçer. Bu değerlerde düşük sayı iyidir; mobilde değerlerin yüksek (kötü) olması satış kaybına yol açabilir.

Gereksiz JavaScript dosyalarının ertelemeli (defer) veya asenkron (async) yüklenmesi, tarayıcının sayfayı oluştururken takılmasını önler. Kritik CSS (Critical CSS) kullanımı, sayfanın en üst kısmındaki içeriğin anında görünmesini sağlayarak kullanıcı algısındaki hızı artırır. Mobil kullanıcılar genellikle daha yavaş bağlantılara sahip olduğu için, kod yapısının mümkün olduğunca hafif tutulması gerekir.

DOM ağacı derinliğinin azaltılması ve üçüncü taraf scriptlerin (reklamlar, izleme kodları) minimize edilmesi, mobil performansı doğrudan etkiler. Güncel algoritmalar, sadece sayfa yükleme hızına değil, kullanıcının siteyle etkileşime geçtiği andaki tepki hızına da odaklanmaktadır. Bu nedenle, görsel ve kod optimizasyonunun yanı sıra kullanıcı deneyimi tasarımı da hızla paralel yürütülmelidir.

  • Kritik CSS oluşturarak sayfanın üst kısmının anında yüklenmesini sağlayın.
  • JavaScript dosyalarını erteleyerek DOM içeriğinin yüklenmesini hızlandırın.
  • Düzen kaymalarını (CLS) önlemek için reklam ve görsel alanlarını önceden rezerve edin.

Kaynak: PageSpeed Insights Dokümantasyonu

Sıkça Sorulan Sorular

1. WooCommerce sitem neden masaüstünde hızlı ama mobilde yavaş?

Mobil cihazların işlemci gücü daha düşüktür ve optimize edilmemiş JavaScript dosyaları ile büyük görseller mobil tarayıcıları masaüstüne göre çok daha fazla zorlar.

2. Hangi hosting türü WooCommerce için en iyisidir?

Paylaşımlı hosting yerine, kaynakların size özel atandığı bulut sunucular (VPS) veya yönetilebilir WordPress hosting servisleri çok daha yüksek performans sunar.

3. "Cart Fragments" özelliği hızı nasıl etkiler?

Mini sepeti güncel tutmak için her sayfada AJAX isteği gönderir ve önbelleği atlar; WooCommerce 7.8'den beri yalnız mini sepet bileşeni kullanılan sayfalarda yüklenir.

4. Eklenti sayısını azaltmak hızı kesin artırır mı?

Her zaman değil; hızı eklenti sayısından çok eklentilerin ne kadar kod ve sorgu yüklediği belirler, tek bir ağır eklenti birçok hafif eklentiden yavaş olabilir.

5. CDN kullanmak zorunlu mu?

Küresel bir satış yapıyorsanız zorunludur, ancak yerel satışlarda bile görselleri ve statik dosyaları ana sunucudan ayırmak hızı hissedilir derecede artırır.

WooCommerce sayfalarının geç açılması, donanımsal yetersizliklerden yazılımsal hatalara kadar geniş bir yelpazedeki nedenlerden kaynaklanabilir. Sunucu altyapısını güçlendirmek, veritabanını temiz tutmak ve önbellekleme stratejilerini doğru uygulamak mağazanızın hızını güncel standartlara taşıyacaktır.

Özetle
WooCommerce hız sorunları; yetersiz hosting, şişmiş veritabanı, optimize edilmemiş görseller ve gereksiz eklenti kullanımı gibi temel faktörlerden kaynaklanır. Bu sorunları çözmek için Redis önbellekleme, WebP formatı ve sunucu taraflı optimizasyonlar uygulanmalıdır.