E-Ticaret Siteleri İçin Kritik Web Performans Metrikleri Rehberi ✦ Hiperajans / Stüdyo

E-Ticaret Siteleri İçin Kritik Web Performans Metrikleri Rehberi

Dijital ticarette her milisaniyelik gecikme, doğrudan müşteri kaybı ve azalan sepet dönüşümleri anlamına gelir. Başarılı bir e-ticaret altyapısı kurmak, yalnızca tasarıma değil, sitenin yanıt ve yüklenme hızını belirleyen teknik göstergelere bağlıdır. Bu rehberde, online satışlarınızı artırmak için mutlaka takip etmeniz ve iyileştirmeniz gereken temel performans metriklerini ele alıyoruz.

TL;DR

  • LCP (Largest Contentful Paint) değerini 2.5 saniyenin altında tutarak ana ürün içeriklerinin anında görüntülenmesini sağlayın.
  • INP (Interaction to Next Paint) optimizasyonuyla filtreleme ve buton tıklamaları gibi kullanıcı etkileşimlerindeki gecikmeleri önleyin.
  • CLS (Cumulative Layout Shift) skorunu minimize ederek sayfa yüklenirken yaşanan beklenmedik kaymaları ve hatalı tıklamaları engelleyin.
  • TTFB (Time to First Byte) süresini düşürmek için sunucu yanıt hızını, önbelleklemeyi ve CDN altyapısını güçlendirin.
  • Dönüşüm hunisindeki her 100 ms hız iyileştirmesinin doğrudan sepet terk oranlarını düşürdüğünü göz önünde bulundurun.

E-Ticaret Sitelerinde Web Performansının Dönüşüm ve Gelir Üzerindeki Doğrudan Etkisi

Modern e-ticaret ekosisteminde web performansı, yalnızca teknik bir başarı göstergesi değil, doğrudan şirketin kârlılığını, müşteri sadakatini ve pazar payını belirleyen en kritik iş metriğidir. Kullanıcıların dijital vitrinlerle etkileşime girdiği ilk andan ödeme adımına kadar geçen her milisaniye, satın alma kararını doğrudan etkiler. Yapılan kapsamlı sektör araştırmaları ve gerçek kullanıcı verileri (RUM - Real User Monitoring), sayfa yükleme sürelerindeki ufak gecikmelerin bile e-ticaret sitelerinde dramatik ciro kayıplarına yol açtığını doğrulamaktadır. Örneğin, Deloitte tarafından yürütülen geniş çaplı bir araştırmada, lüks tüketim ve perakende sitelerinde mobil sayfa yükleme hızında sağlanan yalnızca 100 milisaniyelik (0.1 saniye) bir iyileştirmenin, dönüşüm oranlarını (conversion rate) %8.4 oranında artırdığı ve ortalama sipariş değerinde (AOV) %9.2'lik bir yükseliş sağladığı ortaya konmuştur.

Amazon'un yayınladığı klasikleşmiş ancak geçerliliğini koruyan performans raporlarına göre, sayfa yükleme süresindeki her 100 milisaniyelik gecikme toplam satışlarda %1'lik kayba neden olmaktadır. Benzer şekilde Walmart, sayfa hızını 1 saniye iyileştirdiğinde dönüşüm oranlarında %2'lik net bir artış yakalamıştır. Mobil ticaret hacminin küresel e-ticaret trafiğinin %70'inden fazlasını oluşturduğu günümüzde, mobil ağların değişken bant genişliği ve donanım kısıtlamaları performansı daha da kritik bir eşiğe taşımaktadır. Google verilerine göre, mobil bir sayfanın yüklenme süresi 1 saniyeden 3 saniyeye çıktığında hemen çıkma oranı (bounce rate) %32 artmakta; yükleme süresi 5 saniyeye ulaştığında ise bu oran %90 seviyesine fırlamaktadır. Bu durum, pazarlama bütçeleriyle siteye çekilen potansiyel müşterilerin önemli bir kısmının henüz ürünleri dahi görmeden sayfayı terk ettiğini göstermektedir.

Müşteri deneyiminin ötesinde, web performansı marka algısını ve tekrar eden satın alımları da şekillendirmektedir. Yavaş açılan, etkileşim sırasında takılan veya ödeme ekranında yanıt vermeyen bir platform, kullanıcı nezdinde güvensizlik yaratır. Kullanıcıların %79'u, performans sorunları yaşadıkları bir e-ticaret sitesinden tekrar alışveriş yapma olasılıklarının çok düşük olduğunu belirtmektedir. Yüksek performanslı bir web mimarisi oluşturmak, müşteri edinme maliyetlerini (CAC) düşürmenin ve müşteri yaşam boyu değerini (LTV) maksimize etmenin en sürdürülebilir mühendislik yatırımıdır.

SEO, Google Sıralamaları ve Tarama Bütçesi (Crawl Budget) İlişkisi

Arama motoru optimizasyonu (SEO) açısından web sitesi hızı, Google'ın temel sıralama faktörleri arasında yer almaktadır. Google'ın Sayfa Deneyimi (Page Experience) algoritması, Core Web Vitals metriklerini doğrudan organik sıralama sinyali olarak değerlendirmektedir. Aynı arama sorgusunda yarışan iki benzer e-ticaret sitesi arasında, daha hızlı ve daha kararlı bir sayfa deneyimi sunan platform, arama sonuçları sayfasında (SERP) üst sıralarda yer alma avantajı elde eder. Bu durum, organik görünürlüğü ve dolayısıyla sıfır tıklama maliyetli nitelikli trafiği doğrudan artırmaktadır.

Özellikle on binlerce, hatta yüz binlerce ürün ve kategori sayfasına (SKU) sahip büyük ölçekli e-ticaret platformlarında web performansı, Tarama Bütçesi (Crawl Budget) yönetimiyle doğrudan bağlantılıdır. Googlebot ve diğer arama motoru botları, bir web sitesini taramak için sınırlı miktarda zaman ve kaynak ayırır. Sunucunun yanıt verme süresi (Time to First Byte - TTFB) yüksek olduğunda ve sayfalar yavaş yüklendiğinde, Googlebot belirlenen zaman dilimi içerisinde daha az sayfayı tarayabilir. Bu durum, yeni eklenen ürünlerin, güncellenen fiyat veya stok bilgilerinin ve sezonluk kategori sayfalarının arama motoru indekslerine geç girmesine ya da hiç indekslenememesine yol açar. Hızlı yanıt veren optimize edilmiş bir altyapı, arama motorlarının sitenizi çok daha derinlemesine ve sık aralıklarla taramasına olanak tanır.

  • Organik Trafik Kaybının Önlenmesi: Hızlı açılan ürün listeleme (PLP) ve ürün detay (PDP) sayfaları, organik sıralamalarda tutunarak trafiğin sürekliliğini sağlar.
  • Düşük Hemen Çıkma Oranı: Hızlı yanıt süreleri, botların ve kullanıcıların ilk tıklamada sayfayı terk etmesini engelleyerek pozitif kullanıcı sinyalleri üretir.
  • Görsel İndeksleme Verimliliği: Doğru biçimlendirilmiş ve hızlı sunulan ürün görselleri, Google Görseller aramasında daha yüksek sıralamalar elde eder.

Core Web Vitals: E-Ticaret İçin Kritik Üçlü

Google tarafından tanımlanan ve kullanıcı deneyimini niceliksel olarak ölçümleyen Core Web Vitals (Önemli Web Verileri), e-ticaret geliştiricilerinin mimari kararlarını yönlendiren temel standarttır. Bu metrikler; yükleme hızı, etkileşim duyarlılığı ve görsel kararlılık olmak üzere üç temel boyuta odaklanır. E-ticaret sitelerinin dinamik yapısı, üçüncü taraf script yoğunluğu ve ağır medya varlıkları, bu metriklerin optimize edilmesini geleneksel içerik sitelerine kıyasla çok daha zorlu ve kritik hale getirmektedir.

Largest Contentful Paint (LCP) ve Ürün Görsellerinin Optimizasyonu

Largest Contentful Paint (LCP), kullanıcının sayfaya giriş yaptığı andan itibaren görüntüleme alanındaki (viewport) en büyük görsel veya metin bloğunun ekrana tamamen çizildiği süreyi ölçer. E-ticaret sitelerinde bu öğe genellikle ürün detay sayfalarında ana ürün görseli (hero image), kategori sayfalarında öne çıkan afiş veya ana sayfadaki kampanya kaydırıcısıdır (slider). Google standartlarına göre iyi bir kullanıcı deneyimi için LCP değerinin 2.5 saniyenin altında olması gerekir. 4.0 saniyenin üzerindeki değerler ise zayıf performans olarak işaretlenir.

LCP metriğini optimize etmek için görsel varlıkların modern formatlarda sunulması şarttır. Klasik JPEG ve PNG formatları yerine WebP ve özellikle daha yüksek sıkıştırma verimliliği sunan AVIF formatlarına geçilmelidir. AVIF, aynı görsel kalitesinde JPEG formatına göre %50'ye varan dosya boyutu tasarrufu sağlayarak ağ transfer süresini radikal biçimde kısaltır. Bununla birlikte, LCP adayı olan ana görselin yükleme önceliğini tarayıcıya bildirmek için fetchpriority="high" özniteliği kullanılmalı ve kritik görseller kesinlikle loading="lazy" ile ertelenmemelidir. Tembel yükleme (lazy loading), yalnızca ekranın alt kısmında (below-the-fold) kalan ürün kartları ve ikincil görseller için uygulanmalıdır.

LCP elementinin erken keşfedilmesini sağlamak amacıyla HTML kaynak kodunda <link rel="preload" as="image" href="..." fetchpriority="high"> direktifinden yararlanılmalıdır. Responsive tasarımlarda ise ekran çözünürlüğüne uygun görsel boyutunu sunmak adına srcset ve sizes öznitelikleri eksiksiz tanımlanmalıdır. Mobil bir cihaza masaüstü boyutunda 2400 piksel genişliğinde görsel göndermek, LCP süresini doğrudan tüketen en yaygın geliştirme hatalarından biridir.

Interaction to Next Paint (INP): Etkileşim ve Tepkisellik Standardı

Mart 2024 itibarıyla First Input Delay (FID) metriğinin yerini alan Interaction to Next Paint (INP), kullanıcının sayfa ömrü boyunca gerçekleştirdiği tüm tıklama, dokunma ve klavye etkileşimlerinin genel gecikmesini ölçümleyen yeni nesil bir metriktir. FID yalnızca ilk etkileşimin gecikmesini ölçerken, INP kullanıcının sepete ürün ekleme, filtreleri açıp kapama, varyant seçme (renk/beden değiştirme) ve akordeon menüleri genişletme gibi tüm eylemlerini izler ve en kötü senaryolardaki gecikmeyi raporlar. Hedeflenen ideal INP değeri 200 milisaniyenin altıdır.

E-ticaret sitelerinde INP sorunlarının temel kaynağı, aşırı JavaScript yükü ve ana iş parçacığını (main thread) kilitleyen Uzun Görevler (Long Tasks - 50 ms üzeri süren işlemler)'dir. Örneğin, kullanıcı bir ürün kartındaki "Sepete Ekle" butonuna bastığında arka planda çalışan analitik etiketleri, sepet durumu güncellemeleri, reaktif durum (state) yönetimleri ve DOM manipülasyonları ana iş parçacığını bloke ederse, butonun tıklandığına dair görsel geri bildirim (örneğin bir yükleniyor ikonu veya sepet sayacının güncellenmesi) ekrana geç yansır. Bu durum kullanıcının butonun çalışmadığını düşünerek tekrar tekrar tıklamasına ve gecikmenin katlanarak artmasına yol açar.

INP optimizasyonu için yoğun JavaScript hesaplamaları requestAnimationFrame veya modern scheduler.yield() API'si kullanılarak küçük parçalara bölünmeli, ana iş parçacığı periyodik olarak serbest bırakılmalıdır. Fiyat hesaplamaları, karmaşık veri filtrelemeleri veya istemci tarafı arama algoritmaları gibi ağır operasyonlar ise Web Worker arka plan iş parçacıklarına devredilmelidir.

Cumulative Layout Shift (CLS): Görsel Kararlılık ve İstenmeyen Tıklamalar

Cumulative Layout Shift (CLS), sayfanın yüklenme süreci boyunca içeriğin beklenmedik şekilde yer değiştirmesini ölçen boyutsal bir kararlılık metriğidir. İyi bir kullanıcı deneyimi için CLS skorunun 0.1'in altında tutulması beklenir. E-ticaret sitelerinde yüksek CLS değerleri, kullanıcıların yanlış butona tıklamasına (örneğin "Satın Al" yerine istemeden "İptal Et" butonuna basılması veya yanlış varyantın seçilmesi) ve sepeti terk etmelerine neden olan en can sıkıcı arayüz kusurlarından biridir.

E-ticarette CLS bozulmalarına yol açan başlıca unsurlar; genişlik ve yükseklik boyutları (width ve height veya modern CSS aspect-ratio özelliği) belirtilmemiş ürün görselleri, sonradan DOM'a enjekte edilen dinamik promosyon bildirimleri, kişiselleştirilmiş ürün öneri widget'ları ve üçüncü taraf reklam alanlarıdır. Tarayıcı görselin boyutlarını önceden bilmediğinde, görsel indiği anda altındaki tüm ürün ızgarasını (product grid) aşağı iter. Bu durum kümülatif kayma puanını ciddi oranda yükseltir.

CLS sorunlarını engellemek için tüm medya elemanlarına sabit en-boy oranları atanmalı ve dinamik olarak yüklenecek bileşenler için önceden iskelet ekranlar (skeleton screens) veya CSS ile minimum yükseklik (min-height) rezervasyonları yapılmalıdır. Ayrıca, web yazı tiplerinin yüklenmesi sırasında ortaya çıkan FOUT (Flash of Unstyled Text) ve FOIT (Flash of Invisible Text) kaymalarını önlemek için font-display: swap ile birlikte size-adjust, ascent-override ve descent-override CSS tanımları kullanılarak sistem fontu ile web fontunun kapladığı alan birbirine eşitlenmelidir.

Sunucu ve Ağ Seviyesinde Kritik Metrikler: TTFB ve CDN Mimarisi

Kullanıcı tarayıcısının optimizasyonu ne kadar gelişmiş olursa olsun, temel sunucu altyapısı ve ağ mimarisi yavaş olduğunda istemci tarafı optimizasyonları etkisiz kalır. Bir web sitesinin ilk baytını kullanıcıya ulaştırma hızı, tüm yükleme zincirinin başlangıç noktasıdır ve downstream metriklerin tamamını doğrudan sınırlar.

Time to First Byte (TTFB) ve Dinamik Veritabanı Optimizasyonu

Time to First Byte (TTFB), kullanıcının bir URL isteği göndermesiyle tarayıcının sunucudan gelen ilk veri baytını alması arasında geçen süreyi ölçer. DNS çözümlemesi, TCP el sıkışması, TLS şifreleme anlaşması ve sunucu tarafı işlem süresini kapsar. Google standartlarına göre iyi bir TTFB değeri 800 milisaniyenin altında olmalı, yüksek performanslı e-ticaret hedefleri içinse 200-400 milisaniye bandı hedeflenmelidir.

Monolitik e-ticaret platformlarında ve dinamik Sunucu Taraflı İşleme (SSR - Server-Side Rendering) mimarilerinde TTFB gecikmelerinin ana kaynağı, optimize edilmemiş karmaşık veritabanı sorgularıdır. Bir ürün listeleme sayfasını oluşturmak için kategori hiyerarşisi, ürün özellikleri, stok durumları, dinamik fiyatlandırma kuralları, indirim kuponları ve kullanıcı segmentasyonu gibi onlarca farklı tablodan veri çekilir. Veritabanı seviyesinde eksik indekslemeler (indexes), N+1 sorgu problemleri ve aşırı ORM (Object-Relational Mapping) katmanları sunucu yanıt süresini saniyeler seviyesine çıkarabilir.

TTFB'yi düşürmek için veritabanı sorguları optimize edilmeli, sık erişilen ürün ve kategori verileri için Redis veya KeyDB gibi bellek içi (in-memory) önbellekleme katmanları devreye alınmalıdır. Ayrıca, sunucu tarafında tam sayfa önbellekleme (Full Page Caching) uygulanarak dinamik kullanıcı verileri (sepet içeriği, kullanıcı adı) sayfadan ayrıştırılmalı ve API üzerinden asenkron olarak çekilmelidir.

Edge Computing, CDN ve Akıllı Önbellekleme Stratejileri

Küresel veya bölgesel ölçekte hizmet veren e-ticaret sitelerinde coğrafi mesafe, ağ gecikmesini (latency) artıran temel fiziksel faktördür. İçerik Dağıtım Ağları (CDN - Content Delivery Network), statik varlıkları (görseller, JavaScript, CSS dosyaları) kullanıcılara en yakın uç sunuculardan (Edge locations) sunarak bu gecikmeyi minimize eder. Ancak modern e-ticaret altyapıları, statik varlık dağıtımının ötesine geçerek Edge Workers (Cloudflare Workers, Fastly VCL, AWS Lambda@Edge) mimarilerine evrilmektedir.

Edge sunucular üzerinde çalışan mini fonksiyonlar sayesinde; kullanıcı coğrafi konumuna göre para birimi belirleme, A/B testi yönlendirmeleri, bot koruması ve hatta kişiselleştirilmiş HTML manipülasyonları ana kaynak sunucuya (origin server) hiç uğramadan uç noktalarda milisaniyeler içinde tamamlanabilir. Dinamik HTML yanıtları için Cache-Control: public, s-maxage=3600, stale-while-revalidate=60 gibi gelişmiş HTTP başlıkları kullanılarak, içeriğin arka planda güncellenirken kullanıcıya anında önbellekten sunulması sağlanmalıdır.

Modern İletişim Protokolleri: HTTP/3 ve QUIC

Web performansını ağ seviyesinde artırmanın bir diğer kritik adımı, modern taşıma protokollerinin benimsenmesidir. Geleneksel TCP tabanlı HTTP/2 protokolü, paket kaybı yaşanan mobil ağlarda tüm akışların duraklamasına neden olan Head-of-Line Blocking probleminden muzdariptir. UDP üzerine inşa edilen HTTP/3 ve QUIC protokolü, paket kayıplarını bağımsız akışlar halinde yöneterek mobil kullanıcıların dalgalı bağlantılarda bile kesintisiz bir deneyim yaşamasını sağlar.

HTTP/3 protokolünün sunduğu 0-RTT (Zero Round-Trip Time) bağlantı yeniden kurma özelliği, daha önce siteyi ziyaret etmiş kullanıcıların TLS el sıkışma gecikmesini sıfıra indirerek doğrudan veri alışverişine başlamasına imkan tanır. Bu teknoloji, özellikle mobil cihazlardan yapılan ani ve sık ziyaretlerde gezinme hızını hissedilir derecede artırmaktadır.

Modern E-Ticaret Geliştirmede JavaScript ve CSS Yükü Optimizasyonu

Çağdaş e-ticaret web siteleri; sepet yönetimi, zengin ürün filtreleri, canlı sohbet araçları, kişiselleştirme motorları ve çok sayıda pazarlama izleyicisi nedeniyle yoğun bir JavaScript kütüphanesi çalıştırmak zorundadır. Bu scriptlerin kontrolsüzce büyümesi, istemci tarafında ciddi performans darboğazlarına yol açar.

Total Blocking Time (TBT) ve Üçüncü Taraf (Third-Party) Script Yönetimi

Total Blocking Time (TBT), First Contentful Paint (FCP) ile Time to Interactive (TTI) arasında geçen sürede, ana iş parçacığının 50 milisaniyenin üzerinde kilitlendiği tüm zaman dilimlerinin toplamını ifade eder. TBT doğrudan laboratuvar ortamında ölçülebilen bir metriktir ve saha verisi olan INP ile çok güçlü bir korelasyona sahiptir. İdeal bir e-ticaret sayfasında TBT değerinin 200 milisaniyenin altında olması hedeflenmelidir.

E-ticaret sitelerinde TBT'yi en çok artıran faktör, pazarlama ve analitik departmanları tarafından Google Tag Manager (GTM) üzerinden eklenen üçüncü taraf script'lerdir. Meta Pixel, TikTok Pixel, Google Analytics, Criteo, Hotjar ve müşteri deneyimi izleme araçları, sayfa yüklenirken yüzlerce kilobaytlık kod çalıştırarak tarayıcının işlemcisini tüketir. Bu sorunu çözmek için aşağıdaki teknik stratejiler izlenmelidir:

  • Sunucu Taraflı Etiketleme (Server-Side Tagging): Tüm izleme piksellerini doğrudan kullanıcı tarayıcısında çalıştırmak yerine, verileri tek bir uç noktaya (Server GTM) gönderip üçüncü taraf platformlara sunucu üzerinden dağıtmak.
  • Web Worker İzolasyonu (Partytown): Analitik script'lerini ana iş parçacığından tamamen izole ederek bir Web Worker içerisinde arka planda çalıştırmak.
  • Gecikmeli Yükleme (Facade Pattern): Canlı destek (live chat) widget'ları veya ürün inceleme modülleri gibi ağır script'leri sayfa ilk açıldığında değil, kullanıcı ilgili butona tıkladığında veya sayfayı aşağı kaydırdığında dinamik olarak yüklemek.

Render Mimarileri: Hydration Maliyeti ve Islands Mimarisi

React, Vue ve Angular gibi modern kütüphanelerle geliştirilen e-ticaret sitelerinde, sunucuda oluşturulan HTML'in tarayıcıda JavaScript olay dinleyicileriyle (event listeners) bağlanması sürecine Hydration adı verilir. Geleneksel SSR yapılarında sayfa görünür olsa bile, megabaytlarca JavaScript dosyası indirilip ayrıştırılana (parse/compile) kadar sayfa kullanıcı etkileşimlerine yanıt veremez. Bu durum, kullanıcının butona bastığında hiçbir tepki alamadığı bir "ölü zaman" aralığı yaratır.

Bu darboğazı aşmak için modern e-ticaret mühendisliğinde Islands Mimarisi (Astro, Fresh) veya React Server Components (RSC) gibi yaklaşımlar öne çıkmaktadır. Bu mimarilerde, ürün açıklaması veya kategori metinleri gibi statik alanlar sıfır JavaScript ile salt HTML olarak sunulurken; yalnızca "Sepete Ekle" butonu veya dinamik arama çubuğu gibi etkileşimli bileşenler izole birer "ada" olarak istemci tarafında hidrate edilir. Böylece istemciye gönderilen JavaScript boyutu %70 ila %90 oranında azaltılabilmektedir.

Kritik CSS (Critical CSS) ve Render Engelleyen Kaynakların Tasfiyesi

Tarayıcı, CSS dosyalarını tamamen indirip CSSOM (CSS Object Model) ağacını oluşturmadan sayfayı ekrana çizemez. Bu durum CSS dosyalarını doğası gereği Render-Blocking (Render Engelleyici) kaynaklar haline getirir. Büyük e-ticaret temalarında kullanılan devasa CSS dosyaları, kullanıcı boş beyaz bir ekrana bakarken değerli saniyelerin kaybolmasına neden olur.

Çözüm olarak, yalnızca ekranın üst kısmını (above-the-fold) şekillendirmek için gereken Kritik CSS kuralları ayrıştırılmalı ve doğrudan HTML belgesinin <head> bölümüne <style> etiketiyle satır içi (inline) olarak yerleştirilmelidir. Sayfanın geri kalanına ait stiller ise <link rel="preload" as="style" onload="this.rel='stylesheet'"> yöntemiyle asenkron olarak yüklenmelidir. Böylece First Contentful Paint (FCP) süresi 1 saniyenin altına çekilebilir.

E-Ticaret Sayfa Tiplerine Göre Özel Performans Stratejileri

Bir e-ticaret platformu homojen bir yapıdan oluşmaz. Kullanıcının bulunduğu sayfa tipine göre performans dinamikleri, veri yükü ve kullanıcı beklentisi tamamen değişkenlik gösterir. Başarılı bir performans mühendisliği, her sayfa şablonu için özelleştirilmiş stratejiler gerektirir.

Kategori ve Listeleme Sayfaları (PLP) İçin DOM ve Bellek Yönetimi

Ürün Listeleme Sayfaları (PLP - Product Listing Page), yüzlerce ürün kartının, çoklu filtreleme mekanizmalarının ve sıralama fonksiyonlarının bir arada bulunduğu karmaşık yapılardır. Bu sayfalarda en sık karşılaşılan performans sorunu Aşırı DOM Boyutudur (Excessive DOM Size). Google Lighthouse standartlarına göre bir sayfadaki toplam DOM düğümü (node) sayısı 1400'ün altında olmalıdır. Sonsuz kaydırma (infinite scroll) kullanılan sayfalarda binlerce ürün kartının aynı anda bellekte tutulması, düşük donanımlı mobil cihazlarda tarayıcının çökmesine veya kaydırma (scrolling) sırasında takılmalara (jank) yol açar.

Bu sorunu çözmek için Sanal Kaydırma (Virtual Scrolling / DOM Virtualization) teknikleri kullanılmalıdır. Sanal kaydırma kütüphaneleri (örneğin react-window veya sanallaştırılmış liste yöneticileri), yalnızca o anda kullanıcının ekranında görünen 10-15 ürün kartını DOM'da tutar; ekrandan çıkan öğeler bellekten silinir ve yerlerine yenileri eklenir. Ayrıca, faceted search filtreleme işlemlerinde her seçimde tüm sayfayı yeniden çizmek yerine, URL durumunu History API ile güncelleyip yalnızca değişen ürün ızgarasını asenkron olarak yenilemek performansı dramatik ölçüde artırır.

Ürün Detay Sayfalarında (PDP) Zengin Medya ve Yorum Yönetimi

Ürün Detay Sayfaları (PDP - Product Detail Page), dönüşümün nihai olarak gerçekleştiği merkez noktadır. Bu sayfalarda yüksek çözünürlüklü ürün galerileri, yakınlaştırma (zoom) özellikleri, 3D/AR model görüntüleyicileri, kullanıcı yorumları ve ilgili ürün öneri bantları yer alır. Tüm bu bileşenlerin aynı anda yüklenmesi LCP ve INP metriklerini doğrudan bozar.

PDP optimizasyonunda temel kural, ilk etapta yalnızca seçili varyanta ait ilk görselin optimize edilmiş bir biçimde yüklenmesidir. Galeri kaydırıcısının diğer fotoğrafları, kullanıcı görsel üzerinde kaydırma hareketi yapana kadar yüklenmemelidir. Benzer biçimde, genellikle sayfanın alt kısımlarında yer alan binlerce kelimelik kullanıcı yorumları ve derecelendirme widget'ları IntersectionObserver API'si kullanılarak kullanıcı o bölüme yaklaştığında dinamik olarak fetch edilmelidir.

Ödeme ve Sepet Sayfaları (Checkout): Sıfır Toleranslı Hız ve Güvenlik Dengesi

Sepet ve ödeme adımları, kullanıcının satın alma niyetinin en yüksek olduğu ancak aynı zamanda terk etme riskinin de tavan yaptığı hassas alanlardır. Checkout akışında meydana gelecek 1 saniyelik bir donma, kullanıcının kart bilgilerinin güvende olmadığını düşünmesine ve işlemi yarıda bırakmasına yol açar.

Ödeme sayfalarında temel prensip, tüm gereksiz üçüncü taraf script'lerin engellenmesidir. Pazarlama pikselleri, canlı destek araçları ve ağır stil kütüphaneleri checkout şablonundan tamamen kaldırılmalıdır. Kullanıcı adres seçtiğinde veya kupon kodu girdiğinde sayfanın tamamını yenilemek yerine, Arka Planda İyimser Güncelleme (Optimistic UI) teknikleriyle arayüz anında güncellenmeli ve sunucu onayı arka planda işlenmelidir. Form doğrulama işlemleri ise sunucuya gitmeden istemci tarafında anlık olarak doğrulanmalıdır.

Sürekli Performans Kültürü: RUM, Sentetik İzleme ve CI/CD Entegrasyonu

Web performansı, bir kez yapılıp tamamlanan statik bir proje değil; sürekli izleme, denetleme ve kurumsal disiplin gerektiren yaşayan bir süreçtir. Yeni eklenen özellikler, değişen pazarlama etiketleri ve güncellenen üçüncü taraf kütüphaneler zamanla performans kazanımlarını eritebilir (Performance Regression). Bu nedenle sürdürülebilir bir performans mimarisi kurulmalıdır.

Sentetik Testler (Lab Data) ve Gerçek Kullanıcı Verileri (Field Data / RUM)

Performans analizinde iki temel veri kaynağı bulunur: Laboratuvar Verileri (Lab Data) ve Saha Verileri (Field Data / RUM). Google Lighthouse veya WebPageTest gibi araçlar tarafından sağlanan laboratuvar verileri, kontrollü ve sabit bir ağ/donanım simülasyonunda çalışır. Geliştirme aşamasında hataları ayıklamak için mükemmeldir ancak gerçek dünya koşullarını tam olarak yansıtmaz.

Saha verileri (RUM), sitenizi ziyaret eden gerçek kullanıcıların farklı cihaz modelleri, tarayıcı sürümleri ve değişken ağ koşulları (örneğin hareket halindeki bir trendeki 3G bağlantısı) altında ürettiği gerçek deneyim metrikleridir. Google'ın sıralama faktörü olarak kullandığı veri seti, Chrome Kullanıcı Deneyimi Raporu (CrUX) tarafından toplanan 75. yüzdelik dilim (p75) saha verileridir. E-ticaret ekipleri kendi sistemlerine web-vitals JavaScript kütüphanesini entegre ederek, kullanıcıların ürettiği LCP, INP ve CLS verilerini doğrudan kendi analitik platformlarına veya Datadog, New Relic, SpeedCurve gibi izleme araçlarına göndermelidir.

Performans Bütçeleri (Performance Budgets) ve CI/CD Pipeline Doğrulaması

Performans kayıplarını daha üretim (production) ortamına çıkmadan engellemenin en etkili yolu, yazılım dağıtım süreçlerine (CI/CD Pipeline) Performans Bütçeleri entegre etmektir. Bir performans bütçesi, projenin aşamayacağı teknik sınırları tanımlar:

  • Dosya Boyutu Bütçeleri: Ana JavaScript demetinin (bundle) sıkıştırılmış halde maksimum 150 KB olması veya toplam sayfa CSS boyutunun 50 KB'ı geçmemesi kuralı.
  • Zamanlama Bütçeleri: Simüle edilmiş mobil test ortamında LCP süresinin 2.0 saniyenin, TBT süresinin ise 150 milisaniyenin altında kalması zorunluluğu.
  • Metrik Tabanlı Bütçeler: Toplam DOM eleman sayısının 1200'ü, toplam HTTP istek sayısının ise 50'yi aşmaması şartı.

Bu kurallar, Lighthouse CI (LHCI) veya bundlesize araçları aracılığıyla GitHub Actions, GitLab CI veya Jenkins süreçlerine entegre edilir. Bir yazılım geliştirici yeni bir kod tabanı veya kütüphane eklediğinde, eğer belirlenen performans bütçesi aşılıyorsa otomatik testler başarısız olur (build fail) ve ilgili kodun canlıya alınması engellenir. Bu otomasyon mekanizması, e-ticaret sitenizin hızını bireysel inisiyatiflerden bağımsız olarak kurumsal bir standart halinde koruma altına alır.

Tüm yazılar