Bir e-ticaret sitesi yöneticisi olarak şu gerçekle yüzleşmeniz gerekiyor: Sayfanız ne kadar yavaş yüklenirse, o kadar fazla müşteri kaybediyorsunuz. Bu sadece bir tahmin değil, araştırmalarla kanıtlanmış bir gerçektir.
Google ve Amazon'un araştırmaları aynı sonuca işaret ediyor: Her 1 saniyelik yükleme gecikmesi, dönüşüm oranlarını yaklaşık %7 düşürüyor. Walmart ise sayfa yükleme süresini 1 saniye kısalttığında gelirlerinin %2 arttığını açıklamıştır.
Bu rakamlar, büyük ölçekte çalışan şirketler için geçerli; ancak mantık her büyüklükteki e-ticaret sitesi için aynıdır. Ziyaretçi beklemeyi sevmez. Bekleme arttıkça hayal kırıklığı artar, çıkış oranı artar ve satışlar düşer.
Sayfa Hızının SEO'ya Etkisi
Hız optimizasyonu yalnızca dönüşüm değil, doğrudan SEO sıralamalarınızı da etkiler.
Google'ın Hız Sinyalleri
2010'dan beri resmi bir sıralama faktörü olan sayfa hızı, 2021'deki Page Experience güncellemesiyle daha da kritik hale geldi. Core Web Vitals üç metrik üzerinden ölçülen hız ve stabilite skorları, Google sıralamalarında doğrudan etkilidir:
- LCP (Largest Contentful Paint): Ana içeriğin yükleme süresi
- INP (Interaction to Next Paint): Etkileşim yanıt hızı
- CLS (Cumulative Layout Shift): Görsel stabilite
Bu metriklerin detayları için Core Web Vitals rehberimize göz atabilirsiniz.
Mobil Hız: Daha da Kritik
Türkiye'de mobil internet kullanımı masaüstüne göre çok daha yaygındır. Mobil ağlar masaüstü bağlantılara kıyasla genellikle daha yavaş olduğundan, mobil hız optimizasyonu ekstra önem taşır. Google'ın mobile-first indexing yaklaşımı nedeniyle de mobil hız, sıralama kararlarında belirleyici rol oynar.
E-Ticaret Sitelerinin Hız Profili: Neyi Yavaşlatıyor?
Tipik bir e-ticaret sitesinin performans sorunları belli kategorilere düşer:
| Sorun Kategorisi | Katkı Payı | Zorluk |
|---|---|---|
| Optimize edilmemiş görseller | %40-50 | Düşük |
| Aşırı üçüncü taraf script | %15-25 | Orta |
| Render-blocking kaynaklar | %10-20 | Orta |
| Yavaş sunucu/TTFB | %10-15 | Yüksek |
| Büyük CSS/JS dosyaları | %10-15 | Düşük-Orta |
| Font yükleme sorunları | %5-10 | Düşük |
1. Görsel Optimizasyonu: En Büyük Kazanım
E-ticaret siteleri doğası gereği görsel yoğundur. Ürün görselleri, banner'lar, lifestyle fotoğrafları... Bunların tümü optimize edilmediğinde sayfayı saniyeler içinde yavaşlatır.
Doğru Format Seçimi
| Format | Kullanım Alanı | Avantaj |
|---|---|---|
| WebP | Tüm web görselleri (modern tarayıcılar) | JPEG'den %25-35 küçük |
| AVIF | WebP'nin yerini alıyor (2024+) | WebP'den %20 daha küçük |
| JPEG | Geriye dönük uyumluluk gerektiğinde | Yaygın destek |
| PNG | Şeffaf arka plan gerektiren görseller | Kayıpsız sıkıştırma |
| SVG | Logo, ikon, vektörel grafikler | Sonsuz ölçeklenebilir |
<picture>
<source srcset="urun.avif" type="image/avif">
<source srcset="urun.webp" type="image/webp">
<img src="urun.jpg" alt="Ürün Açıklaması" width="800" height="600">
</picture>
Görsel Boyutlandırma
Görsel, gösterildiği boyuttan daha büyük olmamalıdır. 300×300px'lik bir thumbnail için 2000×2000px görsel yüklemek ciddi bant genişliği israfıdır.
Responsive görseller için srcset kullanımı:<img
src="urun-800.webp"
srcset="urun-400.webp 400w, urun-800.webp 800w, urun-1200.webp 1200w"
sizes="(max-width: 600px) 400px, (max-width: 1200px) 800px, 1200px"
alt="Nike Air Max 270"
width="800"
height="600"
>
Görsel Sıkıştırma Araçları
| Araç | Tür | Sıkıştırma Kalitesi | Kullanım |
|---|---|---|---|
| Squoosh.app | Online | Mükemmel | Manuel tek görsel |
| Sharp (Node.js) | Programatik | Mükemmel | Build pipeline |
| ImageOptim | Desktop (Mac) | İyi | Toplu işlem |
| TinyPNG/TinyJPG | Online API | İyi | Otomatik entegrasyon |
| Cloudinary | SaaS | Mükemmel | Dinamik dönüşüm |
Next.js Image Component
Next.js kullanıyorsanız, <Image> component'i otomatik olarak şunları yapar:
- WebP dönüşümü
- Responsive srcset üretimi
- Lazy loading
- Boyut rezervasyonu (CLS önleme)
- Priority loading seçeneği
import Image from 'next/image'
// Ürün detay sayfası - öncelikli yükleme
<Image
src="/images/urun-ana.jpg"
alt="Nike Air Max 270 Erkek Spor Ayakkabı"
width={800}
height={600}
priority
quality={85}
/>
// Ürün listesi - lazy loading
<Image
src="/images/urun-thumbnail.jpg"
alt="Nike Air Max 270 Thumbnail"
width={300}
height={300}
loading="lazy"
/>
2. Lazy Loading: Görünmeyeni Yükleme
Lazy loading, kullanıcı o noktaya kaydırana kadar görsel veya içerik yüklememeyi ifade eder. Bu, özellikle uzun ürün listesi sayfaları için büyük performans kazanımı sağlar.
Yerel Lazy Loading
Modern tarayıcılar için ekstra JavaScript gerektirmez:
<img src="urun.webp" alt="Ürün" loading="lazy" width="300" height="300">
Intersection Observer API ile Gelişmiş Lazy Loading
// İlk 4 ürün görseli hemen yükleniyor, gerisine lazy loading
const images = document.querySelectorAll('img[data-src]');
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const img = entry.target;
img.src = img.dataset.src;
observer.unobserve(img);
}
});
}, { rootMargin: '200px' }); // 200px önceden yüklemeye başla
images.forEach(img => observer.observe(img));
3. CDN: Coğrafi Hız Avantajı
CDN (Content Delivery Network), içeriklerinizi dünyanın veya Türkiye'nin farklı lokasyonlarındaki sunucularda depolayarak kullanıcılara en yakın sunucudan sunar.
Türkiye'de CDN Etkisi
İstanbul'da bir kullanıcı, Ankara'daki bir sunucudan içerik alıyorsa gecikme yaşar. CDN bu mesafeyi ortadan kaldırır.
Popüler CDN seçenekleri:| CDN | Türkiye PoP Varlığı | Ücretsiz Plan | E-Ticaret Özellikleri |
|---|---|---|---|
| Cloudflare | İstanbul dahil 10+ | Evet | Güçlü |
| Fastly | İstanbul | Hayır | Çok güçlü |
| AWS CloudFront | Frankfurt en yakın | Hayır | Kapsamlı |
| BunnyCDN | İstanbul | Hayır | Uygun fiyatlı |
- Statik varlıklar (görseller, CSS, JS) çok daha hızlı yüklenir
- Sunucu yükü azalır
- DDoS koruması
- SSL/TLS işlenmesi
- Otomatik sıkıştırma (gzip/brotli)
4. JavaScript Optimizasyonu
Aşırı ve optimize edilmemiş JavaScript, sayfaları birkaç kat yavaşlatabilir.
Code Splitting
Tüm JavaScript'i tek dosyada yüklemeyin. Yalnızca o sayfanın ihtiyaç duyduğu kodu yükleyin:
// Next.js'de dinamik import (otomatik code splitting)
import dynamic from 'next/dynamic'
const UrunYorumlari = dynamic(() => import('./UrunYorumlari'), {
loading: () => <YukleniyorSkeleti />,
})
Tree Shaking
Kullanılmayan kod parçacıklarını build sürecinde ortadan kaldırın. Modern bundler'lar (Webpack, Vite, Turbopack) bunu otomatik yapar; ancak doğru yapılandırma gerektirir.
Script Yükleme Stratejileri
<!-- Kritik script: Senkron yükle -->
<script src="kritik.js"></script>
<!-- Kritik olmayan script: Defer ile yükle (DOM hazır olduktan sonra çalışır) -->
<script src="analytics.js" defer></script>
<!-- Bağımsız script: Async (DOM'u beklemeden yükle) -->
<script src="chat-widget.js" async></script>
5. Sunucu Tarafı Optimizasyonu
TTFB (Time to First Byte) Azaltma
TTFB, tarayıcının sunucuya istek gönderip ilk byte'ı alması arasındaki süredir. Hedef: 200ms altı.
TTFB'yi artıran faktörler:- Yavaş veritabanı sorguları
- Sunucu tarafında ağır hesaplamalar
- Sunucu kaynağının yetersizliği
- Büyük sayfalar için sunucu tarafı render süreleri
- Redis veya Memcached ile veritabanı sonuçlarını önbelleğe alın
- Statik sayfa üretimi (SSG) veya ISR (Incremental Static Regeneration) kullanın
- Sunucu kapasitesini artırın
Next.js ile Rendering Stratejisi
| Strateji | Ne Zaman Kullanılır | Hız Etkisi |
|---|---|---|
| SSG (Static Site Generation) | İçerik sık değişmiyorsa | En hızlı |
| ISR (Incremental Static Regeneration) | Sık güncellenen ama statik sunulabilen | Çok hızlı |
| SSR (Server-Side Rendering) | Kişiselleştirilmiş, dinamik içerik | Hızlı |
| CSR (Client-Side Rendering) | Kullanıcıya özel veriler | Yavaş (ilk yükleme) |
- Ürün sayfaları: ISR (fiyat/stok değişirse yeniden oluştur)
- Kategori sayfaları: ISR
- Ana sayfa: ISR
- Sepet/checkout: SSR veya CSR
- Kullanıcı hesabı: CSR
6. Caching Stratejisi
İyi bir caching stratejisi, sunucu yükünü dramatik biçimde azaltır ve kullanıcılara daha hızlı deneyim sunar.
Tarayıcı Cache
## Nginx yapılandırması örneği
location ~* \.(jpg|jpeg|png|gif|webp|svg|ico)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
location ~* \.(css|js)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
Sunucu Tarafı Cache
Ürün listeleme sayfaları için cache süresi 5-15 dakika yeterlidir (fiyat ve stok çok sık değişmiyorsa). Ürün detay sayfaları için ISR ile saatlik veya günlük yenileme yapılabilir.
7. Web Fontları Optimizasyonu
Özel fontlar yükleme süresine ek yük getirir. Özellikle Google Fonts ve özel font dosyaları dikkatli yönetilmezse CLS ve LCP sorunlarına yol açar.
En iyi uygulamalar:/* font-display: swap ile FOUT'u kabul edin, FOIT'tan kaçının */
@font-face {
font-family: 'SiteFont';
src: url('/fonts/sitefont.woff2') format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
}
Hız Testleri ve Hedef Skorlar
Aşağıdaki araçlarla sitenizi test edin ve hedef skorları takip edin:
| Araç | URL | Ne Ölçer |
|---|---|---|
| PageSpeed Insights | pagespeed.web.dev | Core Web Vitals + öneriler |
| GTmetrix | gtmetrix.com | Detaylı waterfall analizi |
| WebPageTest | webpagetest.org | Gerçek cihaz testleri |
| Lighthouse (Chrome DevTools) | Tarayıcıda | Lab verisi, geliştirme |
- Mobil Performance: 70+ (ideal: 85+)
- Masaüstü Performance: 90+
- LCP: < 2.5s
- INP: < 200ms
- CLS: < 0.1
Türkiye'de Sık Yapılan Hata: Görseller ve Barındırma
Türkiye'deki e-ticaret sitelerinde en yaygın hız sorunları:
- Yüksek çözünürlüklü ürün görseli yükleme: 5MB+ ürün görselleri optimize edilmeden kullanılıyor
- Paylaşımlı hosting kullanımı: Ucuz paylaşımlı sunucular yüksek trafikte çöküyor
- CDN eksikliği: Türkiye'de birden fazla şehirde PoP'u olan CDN kullanılmıyor
- Üçüncü taraf chatbot ve widget'lar: Birden fazla chat uygulaması aynı anda aktif
- WordPress + çok sayıda eklenti: Her eklenti ek yük getiriyor
Sonuç: Hız Bir Tercih Değil, Zorunluluktur
E-ticarette hız optimizasyonu artık "fark yaratan ekstra" değil, temel bir gereklilik. Google'ın hızı sıralama faktörü olarak kullanması ve kullanıcıların sabırsızlaşan beklentileri, yavaş siteleri ciddiye alınmaz kılıyor.
Her saniye önemlidir. Her kilobyte önemlidir. Her optimizasyon, uzun vadede dönüşüm oranı ve gelir üzerinde birleşik bir etki yaratır.
Teramerce mağazaları Next.js altyapısı üzerine kuruludur ve mobil uyumludur; yine de görsel boyutlarını, üçüncü taraf scriptleri ve Core Web Vitals değerlerinizi düzenli kontrol edin.Daha fazla bilgi için:
Siteniz ne kadar hızlı olursa, müşterileriniz o kadar mutlu ve satışlarınız o kadar yüksek olur. Hız, yatırım getirisi en yüksek SEO çalışmasıdır.