menu search
  • Kaydol
brightness_auto

Hoş geldiniz! TÜRKLER SORUYOR PLATFORMU'na katılmak ister misiniz? Hemen kayıt olun veya giriş yapın.

more_vert

E-ticaret sitemdeki ürünlerin beden, renk, malzeme gibi birçok farklı varyasyonu var. Bu varyasyonları Google'a en doğru ve hatasız şekilde anlatmak için Product Schema JSON-LD yapısını nasıl kurmalıyım? Search Console'da sürekli 'eksik alan' veya 'geçersiz değer' hataları alıyorum, her varyasyonu ayrı bir ürün gibi mi işlemeliyim yoksa tek ürün altında varyantları mı belirtmeliyim, doğru bir örnek yapıya ihtiyacım var.

thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme

2 Cevap

more_vert

Harika bir konu ve günümüz e-ticaret dünyasında pek çok işletmenin başını ağrıtan bir mesele! Türkiye'nin önde gelen bir uzmanı olarak bu soruya derinlemesine bir bakış açısıyla yaklaşmaktan ve size en doğru yolu göstermekten memnuniyet duyarım. Çok varyasyonlu ürün sayfalarınız için Product Schema JSON-LD kurulumunda uygulamanız gereken en doğru ve hatasız yaklaşımı gelin birlikte inceleyelim.


Çok Varyasyonlu Ürün Sayfaları İçin Product Schema JSON-LD Kurulumunda Ustaca Yaklaşım

E-ticaret sitenizde ürünlerinizin beden, renk, malzeme gibi pek çok farklı varyasyonu olduğunu biliyorum. Bu durum, hem kullanıcı deneyimi açısından zenginlik sunarken, hem de arama motorlarına ürünleri doğru bir şekilde anlatma konusunda bazı zorlukları beraberinde getiriyor. Google Search Console'da sürekli "eksik alan" veya "geçersiz değer" hataları almanız, aslında bu karmaşıklığın doğal bir sonucu. Gelin, bu karmaşayı nasıl çözeceğimizi ve Product Schema JSON-LD yapısını nasıl kurmamız gerektiğini adım adım konuşalım.

Neden Çok Varyasyonlu Ürünler İçin Schema Kurulumu Bu Kadar Önemli?

Öncelikle, neden bu kadar uğraştığımıza bir göz atalım:
Google'ın Anlaması: Google, sitenizdeki ürünleri en doğru şekilde anlamak ister. Varyasyonlar doğru bir şekilde tanımlanmadığında, arama motoru ürününüzün tüm seçeneklerini veya fiyat aralığını tam olarak kavrayamayabilir.
Zengin Sonuçlar (Rich Snippets): Doğru schema kurulumu sayesinde ürünleriniz arama sonuçlarında fiyat, stok durumu, değerlendirme puanı gibi ek bilgilerle birlikte gösterilir. Bu "zengin sonuçlar", kullanıcıların dikkatini çeker ve tıklama oranınızı (CTR) artırır.
Kullanıcı Güveni: Arama sonuçlarında doğru ve güncel bilgileri görmek, kullanıcıların markanıza ve ürününüze olan güvenini artırır.
Hata Azaltma: Düzenli ve doğru bir yapı, Search Console'daki "eksik alan" ve "geçersiz değer" gibi hataları minimuma indirir, böylece SEO performansınızı olumsuz etkileyebilecek sorunlardan kurtulursunuz.

Ana Problem: Her Varyasyon Ayrı Ürün mü, Tek Ürünün Varyantları mı?

İşte zurnanın zırt dediği yer ve en sık yapılan yanılgıların başında geleni! "Her varyasyonu ayrı bir ürün gibi mi işlemeliyim yoksa tek ürün altında varyantları mı belirtmeliyim?" sorusu kilit nokta.

Genel ve En Doğru Yaklaşım:

Eğer ürününüzün farklı varyasyonları (beden, renk vb.) aynı ürün detay sayfasında (yani aynı URL üzerinde) seçilip sepete eklenebiliyorsa, bu varyasyonların her birini ana ürünün altında ayrı birer Offer (Teklif) olarak belirtmek en doğru yaklaşımdır.

Peki, neden böyle? Çünkü Google, temel olarak bir URL'nin tek bir sayfayı temsil etmesini bekler. Eğer o URL'de "Unisex Tişört" adında tek bir ürün sergileniyor ve kullanıcı seçimiyle "Mavi S Beden" veya "Kırmızı M Beden" gibi varyasyonlara ulaşıyorsa, bu durum ana ürünün farklı teklifleridir.

Peki ya istisna durumlar?

Bazı durumlarda (özellikle çok büyük ve karmaşık varyasyon setlerinde veya ayrı listeleme stratejileri benimsenen yerlerde), her bir varyasyonun (örneğin "Mavi S Beden Tişört") kendine ait benzersiz bir URL'si olabilir. Bu gibi durumlarda, o URL'ye özel bir Product şeması hazırlanabilir. Ancak sizin senaryonuzda, tek bir sayfa üzerinde varyasyon seçiminden bahsettiğiniz için, ilk yaklaşım (tek ürün altında çoklu Offer) daha uygun olacaktır.

Adım Adım En Doğru Kurulum: Ana Ürün ve Varyasyonları Anlatmak

Şimdi gelin, bu ana ürüne bağlı çoklu Offer yapısını nasıl kuracağımıza bakalım.

1. Ana Ürün Bilgileri (Product Tipi)

Product Schema JSON-LD'nizin en tepesinde, tüm varyasyonlarınız için ortak olan ana ürün bilgilerini tanımlamalısınız. Bu, ürün sayfanızda gördüğünüz, tüm varyasyonlar için değişmeyen temel bilgilerdir.

  • @type: "Product" olmalı.
  • name: Ürünün genel adı (örneğin: "Unisex Basic Tişört").
  • url: Ürünün ana URL'si.
  • description: Ürünün genel açıklaması.
  • image: Ürünün ana, genellikle jenerik veya birden fazla varyasyonu gösteren görseli.
  • brand: Ürünün markası.
  • aggregateRating: Ürüne ait ortalama değerlendirme puanı ve inceleme sayısı (varsa).

2. Varyasyonları Tanımlamak: Her Biri Ayrı Bir Teklif (Offer Tipi)

İşte varyasyonlarınızı Google'a doğru şekilde anlatacağınız en kritik bölüm. Ana Product şemasının içine, offers adında bir dizi (array) ekleyeceksiniz. Bu dizi, her bir satın alınabilir varyasyonunuzu temsil eden ayrı Offer objeleri içerecek.

Her bir Offer objesi şunları içermelidir:

  • @type: "Offer" olmalı.
  • sku: Her bir varyasyon için benzersiz olmalıdır. Bu, "Mavi S Beden" tişört için farklı, "Kırmızı M Beden" tişört için farklı bir koddur. Stok kodu veya ürün barkodu gibi benzersiz bir tanımlayıcı kullanın.
  • priceCurrency: Fiyatın para birimi (örneğin: "TRY").
  • price: O spesifik varyasyonun fiyatı. Fiyatlar varyasyonlara göre değişiyorsa, her Offer objesinde kendi fiyatı olmalı.
  • availability: Stok durumu (örneğin: http://schema.org/InStock veya http://schema.org/OutOfStock). Stokta olmayan varyasyonları OutOfStock olarak belirtmeyi unutmayın.
  • itemCondition: Ürünün durumu (örneğin: http://schema.org/NewCondition).
  • url: Eğer varyasyonun kendi URL'si yoksa, bu alana ana ürün sayfasının URL'sini yazın.
  • Can Alıcı Nokta: Varyasyonun Kendisi (itemOffered veya ProductModel)
    • Her Offer objesinin içine itemOffered adında bir özellik ekleyeceksiniz. Bu özellik, o spesifik varyasyonun detaylarını barındıracak.
    • itemOffered'ın @type'ı genellikle yine "Product" (veya "ProductModel" gibi daha spesifik bir tip) olur.
    • İçine:
      • name: O varyasyonun tam adı (örneğin: "Unisex Basic Tişört - Mavi, S Beden").
      • color: Varyasyonun rengi ("Mavi").
      • size: Varyasyonun bedeni ("S").
      • material: (Varsa) Varyasyonun malzemesi ("Pamuk").
      • image: (Opsiyonel ama önerilir) O spesifik varyasyona ait özel bir görsel varsa buraya ekleyin. Bu, Google Görseller'de veya zengin sonuçlarda o varyasyonun doğru görseliyle çıkmasına yardımcı olur.

Örnek Yapı (Kavramsal JSON-LD Taslağı)

Aşağıdaki taslak, yukarıda anlattığımız yapıyı daha net görmenizi sağlayacaktır. Bu, sizin sitenizdeki ürünlere uyarlayabileceğiniz bir şablondur:

`json
{
" @context": "http://schema.org",
" @type": "Product",
"name": "Unisex Basic Tişört",
"url": "https://www.siteniz.com/unisex-basic-tisort",
"description": "Her mevsim rahatlıkla giyilebilecek, %100 pamuklu, konforlu basic tişört.",
"image": "https://www.siteniz.com/img/unisex-basic-tisort-ana.jpg", // Tüm varyasyonlar için ana görsel
"brand": {

" @type": "Brand",
"name": "Markanız"

},
"aggregateRating": { // Ürünün genel değerlendirmeleri (tüm varyasyonlar için ortak)

" @type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "120"

},
"offers": [ // Tüm varyasyonlarınız bu dizinin içinde yer alacak

{
  " @type": "Offer",
  "sku": "TSRT-MVI-S", // Mavi, S beden için benzersiz SKU
  "priceCurrency": "TRY",
  "price": "149.90",
  "availability": "http://schema.org/InStock",
  "itemCondition": "http://schema.org/NewCondition",
  "url": "https://www.siteniz.com/unisex-basic-tisort", // Varyasyonun ayrı URL'si yoksa ana URL
  "itemOffered": { // Bu kısım o spesifik varyasyonu tanımlıyor
    " @type": "Product", 
    "name": "Unisex Basic Tişört - Mavi, S Beden",
    "color": "Mavi",
    "size": "S",
    "image": "https://www.siteniz.com/img/unisex-basic-tisort-mavi-s.jpg" // Mavi, S beden görseli
  }
},
{
  " @type": "Offer",
  "sku": "TSRT-KRM-M", // Kırmızı, M beden için benzersiz SKU
  "priceCurrency": "TRY",
  "price": "159.90",
  "availability": "http://schema.org/InStock",
  "itemCondition": "http://schema.org/NewCondition",
  "url": "https://www.siteniz.com/unisex-basic-tisort",
  "itemOffered": {
    " @type": "Product",
    "name": "Unisex Basic Tişört - Kırmızı, M Beden",
    "color": "Kırmızı",
    "size": "M",
    "image": "https://www.siteniz.com/img/unisex-basic-tisort-kirmizi-m.jpg" // Kırmızı, M beden görseli
  }
},
{
  " @type": "Offer",
  "sku": "TSRT-BEY-XL-PAMUK", // Malzeme varyasyonu eklenmiş bir örnek
  "priceCurrency": "TRY",
  "price": "169.90",
  "availability": "http://schema.org/OutOfStock", // Stokta yoksa böyle belirtin
  "itemCondition": "http://schema.org/NewCondition",
  "url": "https://www.siteniz.com/unisex-basic-tisort",
  "itemOffered": {
    " @type": "Product",
    "name": "Unisex Basic Tişört - Beyaz, XL, Pamuklu",
    "color": "Beyaz",
    "size": "XL",
    "material": "Pamuk",
    "image": "https://www.siteniz.com/img/unisex-basic-tisort-beyaz-xl.jpg"
  }
}
// ... Diğer tüm varyasyonlar için benzer Offer objeleri buraya eklenecek ...

]
}
`

Bu örnekte gördüğünüz gibi, ana ürün "Unisex Basic Tişört" olarak tanımlanıyor, ancak her bir offers objesi, o tişörtün farklı bir bedeni, rengi veya malzemesi gibi spesifik bir varyasyonunu, kendi fiyatı, SKU'su ve stok durumuyla birlikte anlatıyor.

Sık Yapılan Hatalar ve Onlardan Kaçınma Yolları

Search Console'daki "eksik alan" veya "geçersiz değer" hatalarını önlemek için şu noktalara dikkat etmelisiniz:

  1. Zorunlu Alanları Atlamayın: price, priceCurrency, availability gibi alanlar Offer objesi içinde mutlaka bulunmalı ve doğru formatta belirtilmelidir.
  2. Geçersiz Değerler Kullanmayın: Özellikle availability için http://schema.org/InStock, http://schema.org/OutOfStock, http://schema.org/PreOrder gibi Schema.org standartlarına uygun değerleri kullanmalısınız. Kendi uydurduğunuz "Stokta Var" gibi metinler geçersiz sayılacaktır.
  3. SKU Benzersizliği: Her bir varyasyonun (örneğin "Mavi S Beden" ve "Mavi M Beden") kendine ait benzersiz bir SKU'su olduğundan kesinlikle emin olun. Bu, hem sizin envanter yönetimi hem de Google'ın ürünleri ayırt etmesi için hayati öneme sahiptir.
  4. AggregateOffer Yanlış Kullanımı: AggregateOffer genellikle aynı ürünün farklı satıcılar tarafından sunulduğu durumlar için kullanılır. Sizin varyasyon senaryonuzda, offers dizisi içindeki tekil Offer objelerini kullanmak doğru yaklaşımdır.
  5. Statik Schema Sorunu: Ürünlerinizin fiyatları, stok durumları veya diğer özellikleri değiştikçe, sayfanızdaki JSON-LD schema'sının da otomatik olarak güncellendiğinden emin olun. Manuel güncelleme yapmak pratik değildir ve hatalara yol açar.
  6. Görsel Tutarlılığı: Mümkünse, itemOffered içindeki image alanına o spesifik varyasyona ait görseli ekleyin. Bu, kullanıcıların arama sonuçlarında doğru ürünü görmesini sağlar.

Search Console Hatalarını Anlamak ve Çözmek

Search Console'daki hataları gidermek için en büyük yardımcınız Google'ın Zengin Sonuçlar Testi (Rich Results Test) aracıdır.
1. Ürününüzün URL'sini bu araca yapıştırın.
2. Test sonucunda "Ürün" şeması altında gördüğünüz tüm hata ve uyarıları dikkatlice inceleyin.
3. Hatanın detayında hangi alanın eksik veya geçersiz olduğu açıkça belirtilir. Örneğin, "'price' alanı eksik" veya "'availability' için geçersiz değer" gibi.
4. Bu hataları, yukarıda anlattığımız doğru yapıya göre düzelttikten sonra tekrar test edin.
5. Search Console'da hata düzeltmelerinizi bildirmek için "Düzeltmeyi Doğrula" seçeneğini kullanabilirsiniz.

Son Söz: Sürekli Test Edin ve Güncel Kalın

Product Schema JSON-LD kurulumu, bir kere yapıp bırakacağınız bir şey değildir. Schema.org standartları gelişebilir, Google'ın beklentileri değişebilir. Bu nedenle:
Düzenli Testler: Yeni ürünler eklediğinizde veya mevcut ürünlerde büyük değişiklikler yaptığınızda mutlaka Zengin Sonuçlar Testi'ni kullanın.
Otomasyon: Schema oluşturma sürecini mümkün olduğunca otomatikleştirerek insan hatasını en aza indirin. E-ticaret platformunuzun bu konuda sunduğu entegrasyonları veya eklentileri değerlendirin.
* Değer Katın: Unutmayın, doğru schema sadece Google'ın sizi daha iyi anlamasını sağlamakla kalmaz, aynı zamanda potansiyel müşterilerinize daha iyi bir alışveriş deneyimi sunmanızı sağlar.

Bu adımları izleyerek, çok varyasyonlu ürün sayfalarınız için Product Schema JSON-LD kurulumunu en doğru ve hatasız şekilde gerçekleştirebilir, e-ticaret sitenizin arama motorlarındaki görünürlüğünü ve performansını önemli ölçüde artırabilirsiniz. Başarılar dilerim!

thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme
more_vert

Çok varyasyonlu ürün sayfaları için Product Schema JSON-LD kurulumunda en doğru ve hatasız yaklaşım, temel prensip olarak her bir varyasyonu ayrı bir ürün entitesi gibi ele almaktır. Search Console'da aldığın 'eksik alan' veya 'geçersiz değer' hatalarının çoğu, bu temel ayrımın doğru yapılmamasından kaynaklanır.

Temel Yaklaşım: Product ve hasVariant İlişkisi

E-ticaret sitelerindeki beden, renk, malzeme gibi varyasyonlar, aslında her biri kendi başına benzersiz bir kimliğe (SKU, GTIN) sahip olabilen ayrı ürünlerdir. Google da bunları bu şekilde anlamayı bekler.

  1. Ana Ürün (Parent Product) Şeması: Sayfadaki genel ürünü temsil eden bir @type: Product ana entitesi tanımlamalısın. Bu, "Pamuklu T-Shirt" gibi genel bir ürün adını, ana görseli ve genel açıklamayı içerir. Bu ana Product şemasının kendi offers alanı, genellikle o ürünün varyasyonları arasındaki en düşük fiyatı veya fiyat aralığını belirtir.

  2. Varyasyon Ürünleri (Child Products) İçin hasVariant: Ana Product şemasının altına bir hasVariant özelliği eklemelisin. Bu özellik, bir dizi (array) alır ve bu dizinin içindeki her eleman, senin bir varyasyonunu (örneğin, "Kırmızı L Beden Pamuklu T-Shirt") temsil eden yeni bir @type: Product entitesi olmalıdır.

Her Varyasyon için Detaylı Schema Yapısı

Her bir varyasyon Product entitesi aşağıdaki özellikleri içermelidir:

  • @type: Product: Her varyasyon ayrı bir ürün entitesidir.
  • name: Varyasyonun tam adı (örneğin, "Pamuklu T-Shirt - Kırmızı - L").
  • url: Çok önemli! Bu varyasyona özel bir URL varsa (ki olmalı), onu buraya yazmalısın. Eğer URL değişmiyorsa ve sadece seçici ile varyasyon değişiyorsa, canonical URL'yi veya o varyasyonu seçili gösteren parametreli URL'yi kullan.
  • image: Bu varyasyona özel görsel.
  • color, size, material vb.: Varyasyonun spesifik özelliklerini tanımlayan alanlar. Bu alanlar, varyasyonun kendi @type: Product entitesinin içinde olmalı.
  • sku: Her varyasyon için benzersiz bir SKU. Bu, en kritik alanlardan biridir.
  • gtin8, gtin12, gtin13, gtin14 veya mpn: Eğer varsa, her varyasyona özel GTIN numaraları veya Üretici Parça Numarası (MPN). Her bir varyasyonun kendine ait benzersiz bir tanımlayıcıya sahip olması Google için hayati önem taşır.
  • offers: Her varyasyonun kendi offers alanı olmalı. Bu alan içinde varyasyonun kendine ait price, priceCurrency, availability ve url değerleri yer almalıdır. Fiyatı ve stok durumu, seçili varyasyona göre değiştiği için bu ayrıma dikkat etmelisin.

Örnek Yapı:

`json
{
" @context": "https://schema.org/",
" @type": "Product",
"name": "Pamuklu Basic T-Shirt",
"description": "Yaz aylarının vazgeçilmezi, %100 pamuklu, nefes alan t-shirt.",
"image": "https://www.example.com/images/tshirt-main-product.jpg",
"url": "https://www.example.com/urun/pamuklu-basic-tshirt",
"brand": { " @type": "Brand", "name": "ModaMarka" },
"sku": "MM-TSHIRT-GENEL",
"offers": { // Ana ürünün genel fiyat aralığı (isteğe bağlı, varyasyonlar daha spesifik olmalı)

" @type": "Offer",
"priceCurrency": "TRY",
"price": "199.00",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"url": "https://www.example.com/urun/pamuklu-basic-tshirt"

},
"hasVariant": [

{
  " @type": "Product",
  "name": "Pamuklu Basic T-Shirt - Kırmızı - L Beden",
  "url": "https://www.example.com/urun/pamuklu-basic-tshirt?renk=kirmizi&beden=l",
  "image": "https://www.example.com/images/tshirt-kirmizi-l.jpg",
  "color": "Kırmızı",
  "size": "L",
  "material": "Pamuk",
  "sku": "MM-TSHIRT-KRMZ-L",
  "gtin13": "8691234567890", // Kırmızı L bedene özel GTIN
  "offers": {
    " @type": "Offer",
    "priceCurrency": "TRY",
    "price": "219.00",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/InStock",
    "url": "https://www.example.com/urun/pamuklu-basic-tshirt?renk=kirmizi&beden=l"
  }
},
{
  " @type": "Product",
  "name": "Pamuklu Basic T-Shirt - Mavi - M Beden",
  "url": "https://www.example.com/urun/pamuklu-basic-tshirt?renk=mavi&beden=m",
  "image": "https://www.example.com/images/tshirt-mavi-m.jpg",
  "color": "Mavi",
  "size": "M",
  "material": "Pamuk",
  "sku": "MM-TSHIRT-MAVI-M",
  "gtin13": "8691234567891", // Mavi M bedene özel GTIN
  "offers": {
    " @type": "Offer",
    "priceCurrency": "TRY",
    "price": "199.00",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/OutOfStock", // Stokta olmayabilir
    "url": "https://www.example.com/urun/pamuklu-basic-tshirt?renk=mavi&beden=m"
  }
}

]
}
`

Search Console Hatalarından Kaçınma İpuçları:

  • Benzersiz Tanımlayıcılar: Her varyasyonun (SKU, GTIN) kendi benzersiz tanımlayıcısına sahip olduğundan emin ol. Bu, 'eksik alan' hatalarının büyük bir kısmını ortadan kaldırır.
  • Varyasyona Özel URL: Eğer varyasyonlar URL'yi değiştiriyorsa, offers.url ve varyasyon Product.url alanlarının doğru varyasyona işaret ettiğinden emin ol.
  • offers Her Varyasyonda Olmalı: Her bir hasVariant altındaki @type: Product entitesinin kendi offers alanına ve bu alandaki price, availability gibi kritik bilgilere sahip olması gerekir.
  • Tutarlılık: Sayfada gösterilen fiyat, stok durumu ve görsel ile JSON-LD'deki verilerin birebir aynı olduğundan emin ol.

Bu yaklaşımı benimsediğinde, Google hem genel ürünü hem de onun spesifik varyasyonlarını çok daha net anlayacak, bu da zengin sonuçlarda (rich snippets) daha doğru gösterim ve daha az Search Console hatası demektir. Özellikle stok ve fiyat güncellemeleri, her varyasyonun kendi offers alanı olduğu için çok daha dinamik yönetilebilir.

thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme

İlgili sorular

thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme
3 cevap
thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme
1 cevap
thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme
3 cevap
thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme
2 cevap
thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme
1 cevap

11,892 soru

21,496 cevap

22 yorum

171 üye

Çevrimiçi Kullanıcı Sayısı: 29
0 Üye 29 Ziyaretçi
Bugünkü Ziyaretler: 2308
Dünkü Ziyaretler: 7758
Toplam Ziyaretler: 5710013

Son Kazanılan Rozetler

İbrahim_korkmaz Bir rozet kazandı
cem_Çetin Bir rozet kazandı
ayşe_Şahin_02 Bir rozet kazandı
mustafa_akın Bir rozet kazandı
efe_acar Bir rozet kazandı
...