İletişim

Headless Commerce Nedir?

Kısa tanım

Headless commerce, bir e-ticaret sisteminde müşterinin gördüğü vitrinin (ön yüz) ürün, fiyat, stok, sepet ve sipariş mantığını yöneten ticaret motorundan ayrıldığı mimaridir. Motor işlevlerini API üzerinden sunar; web sitesi, mobil uygulama veya mağaza içi ekran gibi farklı vitrinler aynı motordan beslenir ve kendi teknolojileriyle bağımsız olarak geliştirilir.

Diğer adları: headless e-ticaret, başsız e-ticaret, API-first commerce, decoupled commerce

Bağımsız bir vitrin arayüzünün ürün, sepet ve ödeme işlemlerini e-ticaret altyapısının API'si üzerinden yürüttüğü headless commerce akışı

Vitrin ile ticaret motorunu ayırmak

Klasik bir e-ticaret platformunda ürün kataloğu, fiyat kuralları, sepet, sipariş yönetimi ve müşteri arayüzü aynı uygulamanın içinde yaşar; tasarımı değiştirmek bile platformun tema diline bağlıdır. Headless commerce bu bütünü ikiye böler. Arka tarafta katalog, stok, kampanya, sepet ve sipariş mantığını yöneten bir ticaret motoru kalır ve bu motor işlevlerini yalnızca API üzerinden dışarı açar. Müşterinin gördüğü vitrin (storefront) ise ayrı bir uygulama olarak yazılır: bir React veya Next.js sitesi, bir mobil uygulama ya da mağaza içindeki bir kiosk aynı motordan beslenebilir.

Fikir, içerik tarafındaki headless CMS yaklaşımıyla aynıdır. Fark, ticaret motorunun içerikten çok daha fazla iş kuralı ve durum taşımasıdır: stok rezervasyonu, vergi, kargo, ödeme ve iade akışları. Bu yüzden headless projelerde zor kısım çoğu zaman vitrinin kendisi değil, motorla vitrin arasındaki sözleşmenin doğru kurulmasıdır.

Bir ürün sayfası isteği nasıl akar?

Ziyaretçi bir ürün sayfasını açtığında vitrin uygulaması motorun ürün API'sinden ad, fiyat, varyant ve stok bilgisini çeker, HTML'i üretir ve tarayıcıya gönderir. Sepete ekleme, kupon uygulama veya ödemeyi başlatma gibi işlemler de aynı API'ye giden isteklerdir. Birçok motor REST'in yanında GraphQL uç noktası da sunar; vitrin tek sorguda yalnızca ihtiyaç duyduğu alanları ister:

query Urun($handle: String!) {
  product(handle: $handle) {
    title
    variants(first: 10) {
      nodes { sku availableForSale price { amount currencyCode } }
    }
  }
}

Alan adları platformdan platforma değişir; örnek yalnızca yapıyı gösterir. Fiyat değiştiğinde ya da bir ürün tükendiğinde motorun gönderdiği webhook bildirimleri, vitrinin önbelleğe aldığı sayfaları yenilemesi için tetikleyici olarak kullanılır. Bu halka kurulmazsa vitrin saatlerce eski fiyat gösterebilir.

Kazanımlar ve görünmeyen maliyetler

  • Deneyim özgürlüğü: vitrin, tema sisteminin sınırlarına takılmadan istenen teknolojiyle ve tasarımla geliştirilir.
  • Çok kanallı satış: web, mobil uygulama ve pazar yeri entegrasyonları tek katalog ve tek stoktan beslenir.
  • Bağımsız yayın döngüsü: ön yüz ekibi, ödeme ve sipariş mantığına dokunmadan sürüm çıkarabilir.

Bedeli de somuttur. İki ayrı sistem barındırılır, izlenir ve sürümlenir. Hazır temayla birlikte gelen arama, filtreleme, hesap sayfaları, sipariş takibi ve kampanya alanları vitrinde yeniden yazılır. Platform mağazasındaki eklentilerin çoğu yalnızca klasik temaya hizmet ettiği için aynı işlevin API düzeyinde yeniden entegre edilmesi gerekir. Az sayıda ürün satan, standart akışlarla yetinen bir mağaza için bu ek karmaşıklık genellikle karşılığını vermez.

SEO tarafında kendiliğinden gelmeyenler

Headless mimari arama motorları açısından tek başına ne avantaj ne dezavantajdır; sonucu vitrinin nasıl render edildiği belirler. Ürün ve kategori sayfaları yalnızca tarayıcıda çalışan JavaScript ile oluşturulursa JavaScript SEO sorunları devreye girer: ilk HTML boş gelir, bağlantılar geç oluşur, render kuyruğu dizine eklemeyi geciktirir. Bu nedenle ticari sayfalar genellikle sunucu tarafında render ya da statik üretimle sunulur. Klasik platformun otomatik ürettiği şu unsurların da elle kurulması gerekir:

  • her ürün ve kategori için benzersiz title, meta açıklama ve canonical etiketi;
  • Product ve breadcrumb yapılandırılmış verisi;
  • XML site haritası ve eski URL'ler için kalıcı yönlendirmeler;
  • kaldırılan ürünler için doğru HTTP durum kodu.

Mevcut bir mağazayı headless yapıya taşımak aynı zamanda bir site taşıma projesidir; URL eşlemesi çıkarılmadan yapılan geçiş, yerleşik sıralamaları kaybettirebilir.

Composable commerce ile farkı

Headless commerce yalnızca ön yüzü ayırır; motor tek bir platform olarak kalabilir. Composable commerce bir adım daha ileri gider: arama, ödeme, içerik, fiyatlandırma ve sipariş yönetimi ayrı servislerden seçilip birleştirilir. Her composable mimari headless'tır, ama her headless kurulum composable değildir. Hangi seviyenin gerektiğine karar verdiren şey moda değil; ekibin büyüklüğü, kanal sayısı ve katalog karmaşıklığıdır.

İlgili terimler

← Sözlüğe dön