← Blog

E-ticarette Core Web Vitals: LCP ve INP metriklerini sitenizi bozmadan optimize etme

E-ticarette site hızı yalnızca teknik bir detay değil; doğrudan sepet terk oranlarını, reklam maliyetlerini ve arama motoru sıralamalarını belirleyen ticari bir metriktir. Google’ın Core Web Vitals kriterlerini arama algoritmasının merkezine yerleştirmesiyle birlikte, mobil açılışı yavaş veya tıklamalara geç tepki veren mağazalar iki kat cezalandırılır: Google Ads üzerinde daha yüksek tıklama maliyetleri ve organik aramalarda sıralama kaybı.

FID yerine hayatımıza giren Interaction to Next Paint (INP) metriği ile birlikte birçok Shopify ve WooCommerce mağazası Google Search Console raporlarında “Zayıf” uyarılarıyla karşılaştı. Sorun genellikle sunucu donanımının yetersizliğinden değil; ana görselin (hero image) yanlış yüklenmesinden, etiket yöneticisindeki (GTM) script yığınından ve ana işlem parçacığını (main thread) kilitleyen JavaScript kodlarından kaynaklanır.

Performans optimizasyonu yapmak, işletmenizin bel kemiği olan pazarlama piksellerini veya canlı destek araçlarını kaldırmak anlamına gelmez. Doğru yaklaşım, tarayıcı kaynaklarının nasıl ve hangi öncelikle yüklendiğini yeniden mimarileştirmektir.

1. Largest Contentful Paint (LCP): Ana Ürün Görselini Hızlandırma

E-ticaret ürün detay sayfalarının %85’inde LCP öğesi ana ürün görseli veya vitrin bannerıdır. Tarayıcı bu görseli geç keşfederse, mobil 4G ağlarındaki LCP süreniz önerilen 2,5 saniye sınırını kolaylıkla aşar.

Yapılan En Yaygın LCP Hataları

  1. Ana görsele lazy-load uygulamak: Ürün detay sayfasındaki ana görsele loading="lazy" vermek, e-ticaret temalarındaki en büyük performans hatasıdır. Lazy loading tarayıcıya “kullanıcı sayfayı kaydırana kadar indirme” komutu verir ve görselin yüklenmesini yapay olarak 800 ile 1.500 milisaniye geciktirir.
  2. Görseli JavaScript slider kütüphanelerinin arkasına gizlemek: Ürün galerisi ancak bir istemci kütüphanesi veya React hydration tamamlandıktan sonra DOM’a ekleniyorsa, tarayıcının ön ayrıştırıcısı (speculative pre-parser) ham HTML içinde resmi göremez.
  3. Optimize edilmemiş mega-baytlık PNG dosyaları: Fotoğraf makinesinden çıkan ham formatlar yerine modern AVIF veya WebP formatları kullanılmalı, ekran boyutuna uygun srcset ve sizes tanımları eksiksiz verilmelidir.

Çözüm: Preload ve Fetch Priority Kullanımı

Mobil cihazlarda 1,8 saniyenin altında LCP elde etmek için:

  • Belgenin <head> alanına ana ürün görseli için yüksek öncelikli bir preload etiketi ekleyin: <link rel="preload" as="image" href="/urun-gorseli.webp" fetchpriority="high" />
  • <img> etiketinde doğrudan loading="eager" ve fetchpriority="high" özniteliklerini tanımlayın.
  • Kümülatif düzen kaymasını (CLS) önlemek için görsel alanına kesin width ve height en-boy oranlarını verin.

2. Interaction to Next Paint (INP): Ana İşlem Parçacığını Rahatlatma

Interaction to Next Paint, bir kullanıcı bir butona tıkladığında, menüyü açtığında veya sepete ekleme yaptığında sayfanın görsel bir sonraki kareyi ne kadar sürede sunduğunu ölçer. Yüksek bir INP değeri (> 200ms), web sitesinin donduğu veya tıklamaların algılanmadığı hissini yaratarak kullanıcıyı siteden kaçırır.

E-ticarette INP problemleri genellikle iki noktada yoğunlaşır:

  • “Sepete Ekle” tıklandığında istemci tarafı doğrulama, piksel tetiklemeleri ve sepet çekmecesi animasyonlarının aynı anda ana parçacığı tıkaması.
  • Kategori sayfalarında çok sayıda varyant ve filtre seçimi yapılırken DOM hesaplamalarının ana parçacıkta eşzamanlı çalışması.

INP Değerini Düşürme Yöntemleri

  • Ana işlem parçacığını serbest bırakın: Büyük ve uzun süren JavaScript işlemlerini scheduler.yield() veya requestAnimationFrame() ile bölerek görsel geri bildirimin hemen ilk karede ekrana yansımasını sağlayın.
  • İyimser arayüz tepkisi (Optimistic UI): Müşteri “Sepete Ekle” butonuna bastığı an, sunucu yanıtını veya takip kodlarını beklemeden butonda anında görsel bir yükleniyor durumu veya onay ikonu gösterin.
  • Piksel karmaşasını izole edin: Facebook Pixel, TikTok Pixel, Google Ads ve analitik scriptlerinin aynı anda çalışması cihaz işlemcisini aşırı zorlar. Kritik olmayan izleme kodlarını web worker’lara (örneğin Partytown aracılığıyla) veya sunucu taraflı Google Tag Manager (sGTM) mimarisine taşıyın.

3. Satış Araçları ile Site Hızını Dengeleme

Mağaza yöneticilerinin karşılaştığı en büyük ikilem, hız ile etkileşimli satış araçları arasındaki dengedir. Siteye eklenen her yeni satış destek aracı dönüşümü artırabilir; ancak yanlış entegre edilen harici kütüphaneler mobil performans puanlarını aşağı çeker.

Bu araçları seçerken widget’ın asenkron yüklendiğinden ve ilk ekran çizilmesini engellemediğinden emin olun. Detaylarını canlı destek ve WhatsApp entegrasyonu analizimizde açıkladığımız gibi, anlık iletişim kanalları tarayıcının kritik render zincirini tıkamadan müşteri kararlarını hızlandırmalıdır.

WordPress ve WooCommerce altyapısını kullanan mağazalarda yalnızca arayüz değil, sunucu ve veritabanı darboğazlarını gidermek için hazırladığımız kapsamlı WooCommerce hız denetimi rehberimizi inceleyebilirsiniz.

4. Sürekli Bir Performans Bütçesi Oluşturma

Hız optimizasyonu tek seferlik bir proje değildir. Mağazanıza kurulan her yeni eklenti veya güncellenen tema, performans metriklerinizi yeniden bozabilir. Kazanımlarınızı korumak için performans bütçesi belirleyin:

  1. Laboratuvar Değil Gerçek Kullanıcı Verisi (RUM): Yalnızca sentetik testlere değil, Chrome UX Raporu (CrUX) üzerinden gelen gerçek saha kullanıcı verilerine odaklanın.
  2. Düzenli Etiket Temizliği: Google Tag Manager konteynerinizi her çeyrekte denetleyin. Süresi bitmiş pazarlama kampanyalarından kalan atıl pikselleri kaldırın.
  3. Engelleme Yapan JS Sınırı: Kritik ürün ve ödeme adımlarında toplam bloklayıcı JavaScript miktarını sıkıştırılmış (gzip) 200 KB ile sınırlandırın.

Mağazanız saniyeler kaybetmeden açıldığında ve tüm tıklamalara anında yanıt verdiğinde sepet terk oranları düşer, reklam yatırımlarınızın geri dönüşü (ROAS) katlanarak artar.

Projenizden bahsedelim →