Kurucu mağaza kampanyası: ilk yıl %40 indirimKoşullar →
Teramerce
Teknoloji 11 dk okuma

PWA E-Ticaret Implementasyonu: Uygulama Mağazasına Gerek Kalmadan

11 dk okuma
Paylaş:
PWA E-Ticaret Implementasyonu: Uygulama Mağazasına Gerek Kalmadan

Mobil uygulama geliştirmek hem maliyetli hem de karmaşıktır. App Store ve Google Play'de uygulama yayınlamak inceleme süreçleri gerektirir, sürekli güncellemeler bakım yükü yaratır ve kullanıcıların önce indirip sonra açması büyük bir dönüşüm engeli oluşturur. Ortalama bir kullanıcının her ay aktif olarak kullandığı uygulama sayısının sadece 10-15 arasında olduğunu düşünürsek, yeni bir uygulama bu listeye girmenin ne kadar zor olduğunu anlayabiliriz.

Progressive Web App (PWA) teknolojisi bu denklemi değiştiriyor. Uygulama mağazası yok, inceleme süreci yok, zorunlu indirme yok. Yalnızca tarayıcı üzerinden, gerçek bir uygulama deneyimi.

PWA Nedir? Teknik Temeller

PWA, modern web teknolojilerini kullanarak yerel uygulama benzeri bir deneyim sunan web uygulamalarıdır. Google tarafından 2015'te tanımlanan bu yaklaşım, üç temel prensibe dayanır:

Güvenilir (Reliable): Ağ bağlantısı zayıf veya yok olsa bile yüklenir ve çalışır. Hızlı (Fast): Etkileşimler akıcıdır, animasyonlar pürüzsüzdür, her türlü ağ koşulunda hızlı yanıt verir. Etkileşimli (Engaging): Ana ekrana eklenebilir, tam ekran çalışabilir, push bildirimler gönderebilir. Bir uygulama gibi hissettirir.

PWA'nın Teknik Bileşenleri

Bir web uygulamasının PWA sayılabilmesi için üç kritik teknik bileşene ihtiyacı vardır:

1. HTTPS: Güvenli bağlantı tüm PWA özelliklerinin ön koşuludur. Service worker'lar yalnızca HTTPS üzerinde çalışır. 2. Web App Manifest: JSON formatında bir dosya olan manifest, uygulamanın adını, ikonlarını, başlangıç URL'sini, ekran yönünü ve görüntüleme modunu tanımlar.
json
{
  "name": "Mağazam",
  "short_name": "Mağaza",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#0066cc",
  "icons": [
    {
      "src": "/icons/icon-192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "/icons/icon-512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ]
}
3. Service Worker: PWA'nın kalbinde yatan bu JavaScript dosyası, tarayıcı ile ağ arasında bir proxy gibi çalışır. Ağ isteklerini yakalar, önbelleği yönetir ve push bildirimleri işler.

Service Worker: Offline Deneyimin Mimarı

Service worker, PWA'yı sıradan bir web uygulamasından ayıran temel teknolojidir. Arka planda çalışır, kullanıcı arayüzünü engellemez ve web sayfası kapalı olsa bile çalışmaya devam edebilir.

Önbellekleme Stratejileri

E-ticaret PWA'larında farklı içerik tipleri için farklı önbellekleme stratejileri kullanılır:

Cache First (Önce Önbellek): Statik varlıklar (CSS, JS, logolar, ikonlar) için idealdir. Service worker önce önbellekte arar, bulamazsa ağdan çeker. Sonraki ziyarette hep önbellekten gelir, ağ durumundan bağımsız olarak anında yüklenir. Network First (Önce Ağ): Ürün listeleri, stok durumu gibi sık değişen içerikler için tercih edilir. Önce ağdan çekmeye çalışır, ağ yoksa önbellekteki son versiyonu gösterir. Stale While Revalidate: Ürün açıklama sayfaları gibi orta sıklıkta değişen içerikler için dengeli bir çözüm. Önce önbellekten hemen gösterir, arka planda ağdan güncel versiyonu çeker ve sonraki ziyaret için önbelleği günceller. Cache Only: Tamamen statik varlıklar için. Yalnızca önbelleğe bakar, ağa hiç gitmez.

E-Ticaret İçin Pratik Önbellekleme Örneği

javascript
// service-worker.js
const STATIC_CACHE = 'static-v1';
const DYNAMIC_CACHE = 'dynamic-v1';

const STATIC_ASSETS = [
  '/',
  '/offline.html',
  '/css/main.css',
  '/js/app.js',
  '/icons/logo.svg'
];

self.addEventListener('install', event => {
  event.waitUntil(
    caches.open(STATIC_CACHE)
      .then(cache => cache.addAll(STATIC_ASSETS))
  );
});

self.addEventListener('fetch', event => {
  const { request } = event;
  const url = new URL(request.url);

  // API istekleri: Network First
  if (url.pathname.startsWith('/api/')) {
    event.respondWith(
      fetch(request)
        .then(response => {
          const clone = response.clone();
          caches.open(DYNAMIC_CACHE)
            .then(cache => cache.put(request, clone));
          return response;
        })
        .catch(() => caches.match(request))
    );
    return;
  }

  // Statik varlıklar: Cache First
  event.respondWith(
    caches.match(request)
      .then(cached => cached || fetch(request))
  );
});

Offline Mod: Bağlantısız Alışveriş

E-ticaret PWA'larında offline destek kritik bir farklılaştırıcıdır. Metro, uçak veya zayıf sinyal bölgelerinde müşterileriniz mağazanızı gezmeye devam edebilir.

Offline'da Neler Yapılabilir?

Ürün kataloğu gezintisi: Daha önce ziyaret edilen ürün sayfaları önbellekten yüklenir. Arama: Önceden yüklenmiş ürün verileri üzerinde istemci taraflı arama yapılabilir. Sepet yönetimi: Ürün ekleme/çıkarma işlemleri yerel olarak kaydedilir, bağlantı geldiğinde sunucuyla senkronize edilir. İstek listesi: Favorilere ekleme işlemi çevrimdışıyken de çalışır. Sipariş geçmişi: Daha önce yüklenmiş siparişler görüntülenebilir.

Background Sync

Service worker'ın Background Sync API'si, bağlantı kesildiğinde yapılan işlemlerin bağlantı geldiğinde otomatik olarak tamamlanmasını sağlar.

javascript
// Sepete ekleme işlemi offline iken
navigator.serviceWorker.ready.then(registration => {
  registration.sync.register('add-to-cart');
});

// Service worker'da
self.addEventListener('sync', event => {
  if (event.tag === 'add-to-cart') {
    event.waitUntil(syncCartWithServer());
  }
});

Push Bildirimleri: Yeniden Etkileşim Gücü

Push bildirimleri, e-ticaret için en değerli PWA özelliklerinden biridir. Kullanıcı izni alındıktan sonra, uygulama kapalı olsa bile bildirim gönderilebilir.

E-Ticaret Push Bildirim Kullanım Senaryoları

Sepet terk uyarıları: "Sepetinizde 3 ürün var, işleminizi tamamlamayı unutmadınız mı?" Araştırmalar, push bildirim tabanlı sepet terk kampanyalarının e-posta kampanyalarına kıyasla 3 kat daha yüksek açılma oranına ulaşabildiğini göstermektedir. Fiyat düşüşü bildirimleri: Kullanıcının izleme listesindeki bir ürünün fiyatı düştüğünde anında bildirim. Stok bildirimleri: "Beklediğiniz ürün tekrar stokta!" bildirimleri yüksek dönüşüm sağlar. Sipariş durumu güncellemeleri: Sipariş hazırlandı, kargoya verildi, teslim edildi bildirimleri müşteri memnuniyetini artırır. Kişiselleştirilmiş kampanyalar: Kullanıcının geçmiş davranışlarına göre hedeflenmiş indirim bildirimleri.

Push Bildirimi İzin Alma Stratejisi

Push bildirimi izni için kullanıcı deneyimi kritiktir. Sayfa açılır açılmaz izin istemek en kötü yaklaşımdır. Araştırmalar, bağlamsal izin isteklerinin (kullanıcı belirli bir eylemi gerçekleştirdikten sonra) çok daha yüksek kabul oranı sağladığını gösteriyor.

Başarılı izin alma stratejisi:
  1. Kullanıcı en az 2 ürün sayfasını ziyaret etsin
  2. Veya bir ürünü sepete eklesin
  3. Ardından "Fiyat düşüşlerinden haberdar olmak ister misiniz?" gibi somut bir fayda sunun
  4. İzin verilirse push aboneliği oluşturun

"Ana Ekrana Ekle" Deneyimi

PWA'nın en güçlü özelliklerinden biri, kullanıcıların mağazanızı ana ekranlarına uygulama gibi ekleyebilmesidir. Bu sayede:

  • Uygulama ikonu ana ekranda görünür
  • Uygulama başlık çubuğu gizlenerek tam ekran çalışır
  • Splash screen gösterilir
  • URL çubuğu görünmez, gerçek bir uygulama gibi hissettirir

Google, kullanıcıların PWA kurulumunun ardından mağazayı ziyaret etme sıklığının yaklaşık 3 kat arttığını raporlamaktadır. Bu doğrudan uzun vadeli müşteri değerine (lifetime value) yansır.

Install Prompt'u Doğru Zamanlarda Göstermek

Tarayıcı otomatik olarak install prompt göstermek istediğinde bunu yakalayıp daha uygun bir zamana saklayabilirsiniz:

javascript
let deferredPrompt;

window.addEventListener('beforeinstallprompt', (e) => {
  e.preventDefault();
  deferredPrompt = e;
  // Install butonunu göster
  showInstallButton();
});

function installApp() {
  if (deferredPrompt) {
    deferredPrompt.prompt();
    deferredPrompt.userChoice.then((choiceResult) => {
      if (choiceResult.outcome === 'accepted') {
        // Yükleme analitiklerini kaydet
        trackInstallEvent();
      }
      deferredPrompt = null;
    });
  }
}

PWA E-Ticaret Performans Metrikleri

Gerçek dünya verilerine bakıldığında, PWA implementasyonunun e-ticaret metriklerine etkisi etkileyici boyutlardadır:

MetrikOrtalama İyileşme
Sayfa yükleme süresi%50-70 azalma
Dönüşüm oranı%20-40 artış
Ortalama oturum süresi%40-60 artış
Sepet terk oranı%15-25 azalma
Tekrar ziyaret oranı%30-50 artış

Bu rakamlar sektörden sektöre değişmekle birlikte, PWA'nın e-ticaret KPI'larına pozitif etkisi genel olarak kabul görmektedir.


PWA Implementasyon Yol Haritası

Aşama 1: Temel Hazırlık (1-2 Hafta)

  • HTTPS kurulumu ve sertifika yapılandırması
  • Web App Manifest oluşturma
  • Temel service worker kurulumu
  • Kritik varlıklar için önbellekleme stratejisi

Aşama 2: Offline Deneyim (2-3 Hafta)

  • Ürün kataloğu önbellekleme
  • Offline fallback sayfaları
  • Background Sync için sepet senkronizasyonu
  • Çevrimdışı durumu kullanıcıya bildirme

Aşama 3: Etkileşim Özellikleri (2-4 Hafta)

  • Push bildirim altyapısı kurulumu
  • Bildirim segmentasyonu ve kişiselleştirme
  • Install prompt stratejisi
  • Bildirim analitikleri

Aşama 4: Optimizasyon (Sürekli)

  • Lighthouse skoru iyileştirme
  • Önbellekleme stratejilerinin fine-tuning'i
  • A/B testi ile push bildirim içeriklerini optimize etme
  • Yeni API'lerin (Web Share, Web Payments) entegrasyonu

Teramerce ve Mobil Deneyim

Teramerce mağazaları Next.js tabanlıdır ve mobil uyumlu çalışır. Hazır PWA şablonu, service worker ve push bildirim altyapısı Teramerce'in mevcut özellikleri arasında yer almıyor; PWA ihtiyacınızı demo görüşmesinde konuşabiliriz.

Uygulama mağazası bütçesi, geliştirme süreci ve bakım yükü olmaksızın uygulamaya yakın bir deneyim sunmak mümkün; doğru adımları yukarıdaki yol haritasıyla planlayabilirsiniz.

Etiketler:#PWA#Progressive Web App#Mobil E-Ticaret#Service Worker#Push Notification
Bülten

Bu tarz içeriklerden haberdar olun

Yeni e-ticaret ipuçları ve rehberler yayımlandıkça e-posta kutunuza gelsin.

Abone olarak e-ticaret rehberlerimizi e-postayla almayı kabul edersiniz; dilediğiniz an ayrılabilirsiniz. KVKK Aydınlatma Metni