Ürün sayfası SEO'su ve stokta olmayan ürünler ne olacak?

Stoğu biten ürün için yapılan en yaygın iki hata birbirinin tam tersi. Biri sayfayı hemen silip 404'e düşürmek; ürün iki hafta sonra geri geldiğinde sayfa sıfırdan başlıyor. Diğeri ise yıllardır satılmayan yüzlerce ürünü ana sayfaya 301 ile yönlendirmek.

Doğru cevap, ürünün geçici mi kalıcı mı tükendiğine bağlı. Bu ayrımı bir kez netleştirip kurala dönüştürürseniz, her ürün için ayrı ayrı tartışmak zorunda kalmazsınız.

Önce ayrım: geçici mi, kalıcı mı?

Geçici stoksuzluk, ürünün tekrar satışa gireceğinin beklendiği durumdur: tedarikçiden sipariş verilmiş, sezon sonu bitmiş ama gelecek sezon gelecek ya da üretimde bir gecikme var. Kalıcı stoksuzluk ise ürünün bir daha satılmayacağı durumdur: üretimden kalkmış, marka ile çalışma bitmiş veya model yenisiyle değişmiş.

Bu bilgi genelde SEO ekibinde değil, satın alma ya da ürün yönetiminde olur. Ben ürün veritabanına basit bir alan eklenmesini istiyorum: "stok durumu" yanında "satış durumu" (aktif, geçici olarak yok, kalıcı olarak kaldırıldı). Sayfanın davranışı bu alana göre otomatik belirlenir.

Geçici olarak stokta yok

Sayfa 200 dönmeye devam eder

Sayfa yerinde kalır, URL değişmez, HTTP durum kodu 200 olur. Ürün sayfası zamanla link, sıralama ve kullanıcı sinyali biriktirmiştir; geçici bir stok boşluğu için bunları atmak anlamsızdır. Sayfa dizinde kalır ve ürün geri geldiğinde kaldığı yerden devam eder.

Stok durumu sayfada net görünür

Kullanıcı sayfaya geldiğinde durumu hemen anlamalı. "Sepete ekle" butonu devre dışı ya da gizli olabilir; yerine "Stokta yok" bilgisi ve varsa tahmini tarih gelir. Kullanıcıyı sepete kadar götürüp orada "bu ürün stokta yok" demek hem kötü deneyim hem de geri dönüşün en hızlı yolu.

Alternatifler ve haber ver seçeneği

Stokta olmayan bir ürün sayfası çıkmaz sokak olmamalı. Sayfaya iki şey ekliyorum:

  • Benzer ürünler: Aynı kategoride, benzer fiyat aralığında, stokta olan ürünler. Ürün ızgarasının hemen üstünde ya da satın alma alanının yanında.
  • "Gelince haber ver" formu: Kullanıcı e-posta adresini bırakır, ürün stoğa girince bildirim alır. Bu, geri gelen trafiği satışa çeviren en basit mekanizma.

Kategori listelerinde ise tükenen ürünleri tamamen gizlemek yerine sona itmeyi tercih ediyorum. Tamamen gizlerseniz ürüne giden iç linkler kaybolur ve sayfa yetim kalabilir. Varsayılan sıralama tarafını e-ticaret kategori sayfaları yazısında anlattım.

Product schema'da availability

Yapılandırılmış verideki availability alanı sayfadaki gerçek durumla aynı olmalı. Sık kullanılan değerler:

  • https://schema.org/InStock: stokta var.
  • https://schema.org/OutOfStock: şu an stokta yok.
  • https://schema.org/BackOrder: sipariş alınıyor ama gönderim stok gelince yapılacak.
  • https://schema.org/PreOrder: ürün henüz çıkmadı, ön sipariş alınıyor.

Stokta olmayan bir ürün için örnek JSON-LD:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Örnek Marka Su Geçirmez Kadın Bot - Siyah",
  "image": ["https://www.ornek.com/img/su-gecirmez-bot-siyah.jpg"],
  "description": "Deri, su geçirmez membranlı, kauçuk tabanlı kadın bot.",
  "sku": "BOT-1045-SYH",
  "brand": { "@type": "Brand", "name": "Örnek Marka" },
  "offers": {
    "@type": "Offer",
    "url": "https://www.ornek.com/urun/su-gecirmez-kadin-bot-siyah",
    "priceCurrency": "TRY",
    "price": "2499.90",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/OutOfStock"
  }
}
</script>

Fiyatı kaldırmayın; ürünün bilinen son satış fiyatını tutmak doğru. Merchant Center kullanıyorsanız feed'deki stok durumu ile sayfadaki ve schema'daki durum aynı olmalı; aksi halde uyuşmazlık uyarıları gelir. İşaretlemeyi elle yazmak istemiyorsanız schema oluşturucu ile temel yapıyı üretip kendi alanlarınızı ekleyebilirsiniz. Ürün işaretlemesinde sık yapılan diğer hataları da ürün ve inceleme schema'sı yazısında topladım.

Kalıcı olarak kaldırılan ürünler

Gerçek bir karşılık varsa 301

Ürünün yeni modeli, aynı ürünün farklı ambalajı ya da kullanıcının bu sayfada aradığını gerçekten karşılayan bir ürün varsa, eski URL'yi ona 301 ile yönlendirin. Bu en temiz senaryodur: link değeri ve kullanıcı yeni ürüne gider.

Karşılık tek bir ürün değil de bir grup ise, ürünü üst kategoriye yönlendirmek de mümkün. Ama bunu yalnızca kategori gerçekten ilgiliyse yapıyorum. "Örnek Marka X200 kulaklık" sayfasını "Örnek Marka kulaklıklar" kategorisine yönlendirmek mantıklı; "Elektronik" ana kategorisine yönlendirmek değil.

Karşılık yoksa 404 veya 410

İlgili bir hedef yoksa sayfa 404 ya da 410 dönmeli. Google için ikisi arasında pratikte büyük bir fark yok; ikisi de sayfanın zamanla dizinden düşmesini sağlar. 404 sayfanızın kullanıcıya arama kutusu ve ana kategorileri sunması yeterli.

Soft 404 ve ana sayfaya toplu yönlendirme

İki kaçınılması gereken davranış var:

  • 200 dönen boş sayfa: Ürün kalkmış, sayfa "bu ürün artık satılmıyor" yazıyor ama durum kodu 200. Google bunu soft 404 olarak işaretleyebilir. Durum kodu sayfanın söylediğiyle çelişmemeli.
  • Ana sayfaya toplu 301: Yüzlerce ilgisiz ürünü ana sayfaya yönlendirmek, kullanıcıya hiçbir şey sunmaz. Google bu tür ilgisiz yönlendirmeleri de soft 404 gibi değerlendirebilir; yani beklenen değer aktarımı çoğu zaman gerçekleşmez.

Toplu yönlendirme kurallarını hazırlarken yönlendirme oluşturucu ile .htaccess veya Nginx kurallarını üretmek zaman kazandırır; ama eşleştirme listesini elle, ürün ürün kontrol edin.

İstisna: bilgi değeri olan sayfalar

Bazı kalıcı olarak kaldırılmış ürünler hâlâ arama alır: kullanım kılavuzu, yedek parça veya uyumluluk arayanlar. Böyle bir sayfa ciddi trafik ve link alıyorsa, onu 200 dönen bir bilgi sayfası olarak tutup yerine geçen ürünlere yönlendirmek daha değerli olabilir. Bu durumda sayfanın satış sayfası gibi davranmadığı açık olmalı. schema.org'da bunun için Discontinued değeri de bulunuyor.

Varyantlar

Bir ürünün yalnızca bazı bedenleri ya da renkleri tükendiyse sayfa hiçbir şekilde kaldırılmaz. Tükenen varyant seçici içinde pasif görünür, diğerleri satılmaya devam eder. Her varyantın ayrı URL'si varsa, schema'da her varyantın kendi availability değeri doğru olmalı. Google'ın ürün varyantları için ProductGroup ve hasVariant tabanlı bir işaretleme desteği var; varyant yapınız karmaşıksa bu yapıyı Google'ın ürün belgelerinden kontrol etmeye değer.

Tüm varyantlar tükendiyse ürün, geçici ya da kalıcı ayrımına göre yukarıdaki kurallara tabi olur.

Sezonluk ürünler

Kışlık mont, mayo, okul çantası gibi ürünler sezon sonunda tükenir ama gelecek yıl benzer ya da aynı modelle geri gelir. Aynı model geri gelecekse sayfa 200 ve OutOfStock olarak kalır; "yeni sezonda tekrar satışta" bilgisi ve haber ver formu eklenir. Model değişecekse, yeni sezon ürünü yayına alındığında eski sayfa yenisine 301 ile yönlendirilir.

Karar tablosu

DurumHTTP durumuSayfadaSchema availability
Geçici olarak yok, tarih belirsiz200Stok bilgisi, alternatifler, haber verOutOfStock
Tedarikten gelecek, sipariş alınıyor200Tahmini gönderim tarihiBackOrder
Henüz çıkmadı200Çıkış tarihi, ön siparişPreOrder
Sezonluk, aynı model dönecek200Sezon bilgisi, haber verOutOfStock
Bazı varyantlar tükendi200Tükenen varyant pasifVaryant bazında
Kalıcı, yeni model var301Yeni modele yönlendirmeYok
Kalıcı, ilgili dar kategori var301İlgili kategoriye yönlendirmeYok
Kalıcı, bilgi değeri yüksek200Bilgi sayfası ve yerine geçen ürünlerDiscontinued
Kalıcı, karşılık yok404 veya 410Arama kutusu ve kategorilerYok

Özetle

Stok bitti diye sayfa silinmez; ürün kalıcı olarak kalktı diye de her şey ana sayfaya yönlendirilmez. Geçici durumda sayfa 200 kalır, stok durumu hem sayfada hem schema'da dürüstçe gösterilir, kullanıcıya alternatif ve bildirim seçeneği sunulur. Kalıcı durumda gerçek bir karşılık varsa 301, yoksa 404 veya 410. Arada kalan her şey, özellikle 200 dönen boş sayfalar ve ilgisiz yönlendirmeler, soft 404 raporlarında karşınıza çıkar.

Comments / questions

If you have a question about any topic or wish to contact me: Telegram or send an email to [email protected] Thanks!

Related pages