okuma süresi: 11 dakika
Blog Yazılarına Dön

E-Ticaret Yapısal Veri (Schema): Product, Offer ve Zengin Sonuçlar

AI İçin Özet

Yapısal veri (schema markup), ürün bilgilerinizi arama motorlarının ve yapay zeka sistemlerinin okuyabileceği formata çeviren kod bloğudur. E-ticarette iki ayrı sonuç tipi vardır: Product snippet (fiyat, puan, stok gösterebilir) ve Merchant listing (satın alınabilir sayfalar için, kargo ve iade bilgisini de gösterir).

Doğrudan satış yapıyorsanız hedefiniz merchant listing olmalıdır. Temel snippet için name, image ve doğru biçimli bir Offer yeterlidir. Merchant listing için ayrıca brand, ürün kimliği, aggregateRating, shippingDetails ve hasMerchantReturnPolicy gerekir. En sık yapılan hata fiyat biçimidir: fiyat düz sayı olmalı, para birimi simgesi veya binlik ayracı içermemelidir. İkinci kritik kural: şemadaki puan, sayfada gerçekten görünen yorumları yansıtmalıdır.

Yapısal veri, e-ticaret SEO’sunun en teknik ama getirisi en net katmanıdır. Doğru kurulduğunda arama sonucunda fiyat, stok durumu, yıldız puanı, kargo süresi ve iade koşulu görünür.

Bunun etkisi doğrudandır. İki neredeyse aynı sonuçtan biri “ücretsiz kargo, 30 gün iade” bilgisini gösteriyorsa, kullanıcı tıklamadan önce kararını vermiş olur.

Bu rehberde e-ticaret yapısal verisini uçtan uca ele alıyorum: hangi şema tipinin gerektiğinden zorunlu alanlara, varyasyon yönetiminden doğrulama araçlarına kadar. Bu çalışma, e-ticaret SEO ana rehberinde özetlediğim dördüncü katmanın derinlemesine uygulamasıdır.

Yapısal Veri Nedir, Neden Zorunludur?

Yapısal veri, sayfanızdaki bilgiyi makinelerin anlayacağı standart bir sözlükle etiketleyen koddur. Sayfanızda “4.299 TL” yazdığında insan bunun fiyat olduğunu anlar; makine anlamaz. Yapısal veri bu boşluğu doldurur.

E-ticarette bu katman opsiyonel değildir. Yapısal veri olmadan zengin sonuçlarda görünemezsiniz, ücretsiz alışveriş listelemelerine giremezsiniz ve yapay zeka asistanları ürününüzü öneremez.

Format olarak JSON-LD kullanın. Google’ın önerdiği yöntem budur ve sayfanın HTML yapısından bağımsız çalıştığı için bakımı en kolay olanıdır. Kod, sayfanın <head> bölümüne veya gövdeye <script type="application/ld+json"> etiketiyle eklenir.

Eski yöntemler olan Microdata ve RDFa hâlâ desteklenir ama bunlar HTML etiketlerinin içine gömülür. Tema değiştiğinde veya sayfa düzeni güncellendiğinde bozulmaya açıktırlar. JSON-LD ise tek bir blokta durduğu için hem okunması hem güncellenmesi kolaydır.

Bir sayfada birden fazla şema bloğu bulunabilir. Örneğin bir ürün sayfasında hem Product hem BreadcrumbList hem de FAQPage aynı anda yer alabilir. Bunlar ayrı bloklar halinde verilebilir veya @graph yapısıyla tek blokta birleştirilebilir.

İki Sonuç Tipi: Product Snippet ve Merchant Listing

Bu ayrım çoğu rehberde atlanır ama e-ticaret için en kritik karardır. Aynı Product şeması iki farklı sonuç tipi üretebilir.

Product SnippetMerchant Listing
Ne içinBilgi amaçlı ürün sayfalarıSatın alınabilir sayfalar
GösterebildiğiFiyat, puan, stokBunlara ek kargo ve iade bilgisi
Gereken alanlarTemel setTemel set artı ticari alanlar
Alışveriş karuseliGenelde hayırEvet

Kural nettir: kendi ürününüzü kendi sitenizden satıyorsanız hedefiniz merchant listing olmalıdır. Product snippet’te kalmak, rakibiniz kargo ve iade bilgisini gösterirken sizin göstermemeniz demektir.

Temel Product Şeması

Ürün sayfası şemasının çekirdeği Product ve içindeki Offer düğümüdür. Minimum çalışan yapı şudur:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Nike Air Max 90 Beyaz Kadın Spor Ayakkabı",
  "image": [
    "https://site.com/urun-onden.webp",
    "https://site.com/urun-yandan.webp",
    "https://site.com/urun-detay.webp"
  ],
  "description": "Özgün ürün açıklaması...",
  "sku": "NK-AM90-BYZ-38",
  "brand": {
    "@type": "Brand",
    "name": "Nike"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://site.com/urun/nike-air-max-90-beyaz/",
    "price": "4299.00",
    "priceCurrency": "TRY",
    "priceValidUntil": "2027-12-31",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/InStock"
  }
}
</script>

Alanlarla ilgili kritik notlar:

  • price düz sayı olmalı. “4.299 TL” veya “4,299” yazmayın. Para birimi simgesi ve binlik ayracı hataya yol açar. Bu, en sık yapılan hatadır.
  • image birden fazla olabilir. Farklı açılardan görseller verin; Google farklı bağlamlarda farklı görsel kullanır.
  • Ürün kimliği ekleyin. sku, gtin veya mpn alanlarından uygun olanı doldurun.
  • availability doğru olmalı. Stok durumu InStock, OutOfStock veya PreOrder olarak güncel tutulmalıdır.

Google’ın ürün yapısal verisi dokümantasyonu zorunlu ve önerilen alanların tam listesini içerir.

Merchant Listing’e Geçiş: Kargo ve İade

Merchant listing uygunluğu için Offer düğümüne iki alan daha eklenir: kargo bilgisi ve iade politikası. Bu alanlar arama sonucunda “ücretsiz kargo” ve “30 gün iade” gibi satırlar olarak görünür.

Bu, uygulaması en kolay ama etkisi en görünür işlerden biridir. Çoğu rakibinizde bu alanlar yoktur.

"offers": {
  "@type": "Offer",
  "price": "4299.00",
  "priceCurrency": "TRY",
  "availability": "https://schema.org/InStock",

  "shippingDetails": {
    "@type": "OfferShippingDetails",
    "shippingRate": {
      "@type": "MonetaryAmount",
      "value": "0",
      "currency": "TRY"
    },
    "shippingDestination": {
      "@type": "DefinedRegion",
      "addressCountry": "TR"
    },
    "deliveryTime": {
      "@type": "ShippingDeliveryTime",
      "handlingTime": {
        "@type": "QuantitativeValue",
        "minValue": 0, "maxValue": 1, "unitCode": "DAY"
      },
      "transitTime": {
        "@type": "QuantitativeValue",
        "minValue": 1, "maxValue": 3, "unitCode": "DAY"
      }
    }
  },

  "hasMerchantReturnPolicy": {
    "@type": "MerchantReturnPolicy",
    "applicableCountry": "TR",
    "returnPolicyCategory":
      "https://schema.org/MerchantReturnFiniteReturnWindow",
    "merchantReturnDays": 14,
    "returnMethod": "https://schema.org/ReturnByMail",
    "returnFees": "https://schema.org/FreeReturn"
  }
}

Türkiye’de mesafeli satış mevzuatı gereği cayma hakkı süresi 14 gündür; merchantReturnDays değerini kendi politikanıza göre doğru girin. Uygulama detayları için Google’ın merchant listing dokümantasyonuna bakabilirsiniz.

Yorumlar: AggregateRating ve Review

Yıldız puanı arama sonucunda en dikkat çeken unsurlardan biridir ve tıklama oranını belirgin şekilde artırır. Bunun için aggregateRating alanı kullanılır:

"aggregateRating": {
  "@type": "AggregateRating",
  "ratingValue": "4.7",
  "reviewCount": "156",
  "bestRating": "5"
}

Burada uyulması gereken çok net bir kural var: şemadaki puan, sayfada kullanıcıya görünen yorumları yansıtmalıdır. Sayfada hiç yorum yokken aggregateRating eklemek Google’ın yapısal veri politikasını ihlal eder ve manuel işlem (ceza) sebebidir.

Kendi ürününüz için kendi sitenizde yazdığınız yorumlar da geçerli sayılmaz. Puan gerçek müşteri değerlendirmelerinden gelmelidir. Yorum toplama ve yönetme tarafını ürün sayfası SEO rehberinde ele aldım.

Varyasyonlar: ProductGroup

Renk ve beden varyasyonları olan ürünlerde her varyasyonu ayrı ve ilgisiz bir ürün gibi işaretlemek yanlıştır. Doğru yapı ProductGroup kullanmaktır.

Bu yapıda ana ürün bir ProductGroup olarak tanımlanır, varyasyonlar hasVariant içinde listelenir ve variesBy ile hangi eksende değiştikleri belirtilir:

{
  "@context": "https://schema.org",
  "@type": "ProductGroup",
  "name": "Nike Air Max 90 Kadın Spor Ayakkabı",
  "productGroupID": "NK-AM90",
  "variesBy": ["https://schema.org/color",
               "https://schema.org/size"],
  "hasVariant": [
    {
      "@type": "Product",
      "sku": "NK-AM90-BYZ-38",
      "color": "Beyaz",
      "size": "38",
      "offers": { "@type": "Offer", "price": "4299.00",
                  "priceCurrency": "TRY",
                  "availability": "https://schema.org/InStock" }
    }
  ]
}

Bu sayede Google beden ve renk seçeneklerini düzgün gösterir, her varyasyonu birbirinden kopuk ürün sanmaz. Varyasyon URL’lerinin indeksleme tarafını faceted navigation SEO rehberinde ayrıntılı ele aldım.

Kategori Sayfası Şemaları

Ürün sayfaları kadar konuşulmasa da kategori sayfalarının da yapısal verisi vardır ve iki şema öne çıkar.

BreadcrumbList

Sayfa yolu şeması, arama sonucunda site hiyerarşisinin görünmesini sağlar. Hem kategori hem ürün sayfalarında bulunmalıdır.

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1,
      "name": "Ana Sayfa", "item": "https://site.com/" },
    { "@type": "ListItem", "position": 2,
      "name": "Kadın", "item": "https://site.com/kadin/" },
    { "@type": "ListItem", "position": 3,
      "name": "Spor Ayakkabı",
      "item": "https://site.com/kadin/spor-ayakkabi/" }
  ]
}

ItemList ve CollectionPage

Kategori sayfasındaki ürün listesini ItemList ile işaretlemek, Google’ın sayfadaki ürünleri sıralı bir koleksiyon olarak anlamasını sağlar. Kategori sayfası kurulumunun tamamını kategori sayfası SEO rehberinde anlattım.

FAQPage

Ürün veya kategori sayfasında SSS bölümü varsa FAQPage şeması eklenebilir. Kural aynıdır: şemadaki sorular sayfada görünür olmalıdır. Görünmeyen içerik işaretlenemez.

Hangi Şemadan Başlanmalı? Öncelik Sırası

Tüm şema tiplerini aynı anda kurmak gerekmez. Getiri açısından net bir öncelik sırası vardır.

SıraŞemaGetiriZorluk
1Product + OfferÇok yüksekOrta
2shippingDetails + iadeYüksekDüşük
3BreadcrumbListOrtaÇok düşük
4AggregateRatingYüksekYorum varsa düşük
5OrganizationOrta (marka)Düşük
6ProductGroupVaryasyon varsa yüksekYüksek
7FAQPageDüşük ile ortaDüşük

İkinci sıradaki kargo ve iade alanları özellikle dikkat çekicidir: uygulaması en kolay işlerden biri olmasına rağmen çoğu rakipte bulunmaz ve sonucu doğrudan arama sonucunda görünür. Hızlı kazanç arıyorsanız buradan başlayın.

Site Geneli Şema: Organization

Ürün ve kategori şemalarının yanında bir de site geneli kimlik katmanı vardır. Organization şeması markanızı arama motorlarına ve yapay zeka sistemlerine tanıtır.

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Mağaza Adı",
  "url": "https://site.com/",
  "logo": "https://site.com/logo.png",
  "sameAs": [
    "https://www.instagram.com/hesap/",
    "https://www.linkedin.com/company/hesap/"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+90-XXX-XXX-XXXX",
    "contactType": "customer service",
    "availableLanguage": "Turkish"
  }
}

Bu şema doğrudan zengin sonuç üretmez ama marka bilgilerinizin tutarlı ve makine okunabilir olmasını sağlar. Yapay zeka asistanları bir markayı değerlendirirken bu tutarlılığa bakar.

sameAs alanına sosyal medya ve varsa diğer resmi profillerinizi ekleyin. Bu, farklı platformlardaki varlığınızın aynı markaya ait olduğunu doğrular.

Yapısal Veride En Sık Yapılan 7 Hata

  1. Fiyatı yanlış biçimde yazmak. Para birimi simgesi, binlik ayracı veya metin karışımı hata verir. Fiyat düz sayı olmalı.
  2. Şema ile sayfa bilgisini uyumsuz bırakmak. Sayfada bir fiyat, şemada başka fiyat olması politika ihlalidir.
  3. Görünmeyen yorumları işaretlemek. Sayfada yorum yokken puan eklemek manuel işlem sebebidir.
  4. Stok durumunu güncellememek. Tükenen üründe InStock kalması hem kullanıcıyı hem Google’ı yanıltır.
  5. Varyasyonları kopuk ürün gibi işaretlemek. ProductGroup yerine ayrı ayrı Product kullanmak yapıyı bozar.
  6. Birden fazla çelişkili şema eklemek. Tema, eklenti ve elle eklenen kod aynı anda çalışırsa çakışma olur.
  7. Kurup unutmak. Şema bir kez kurulup bırakılan iş değildir; Search Console raporları düzenli izlenmelidir.

Altıncı madde WordPress’te özellikle sık görülür. Tema kendi şemasını basar, SEO eklentisi kendi şemasını basar, bir de elle eklenmiş kod varsa üç ayrı ve çelişkili sinyal doğar. Önce mevcut durumu denetleyin.

Doğrulama ve İzleme

Şema kurduktan sonra doğrulamak zorunludur. Üç aracı birlikte kullanıyorum ve her biri farklı soruyu cevaplar.

AraçNe söylerNe zaman
Rich Results TestZengin sonuç uygunluğu var mıKurulum ve değişiklik sonrası
Schema Markup ValidatorGenel schema.org geçerliliğiGoogle dışı kontrol için
Search Console raporlarıCanlıda gerçekte ne oluyorSürekli izleme

Rich Results Test bir URL’in veya yapıştırdığınız kodun zengin sonuç uygunluğunu gösterir. Schema Markup Validator ise Google’ın alt kümesinin ötesinde genel geçerliliği kontrol eder.

Asıl doğruluk kaynağı Search Console’daki geliştirme raporlarıdır. Sayfa indekslendikten sonra gerçekte hangi zengin sonuç tipine uygun olduğunu, hangi uyarıların çıktığını burada görürsünüz. “Merchant listing deneyimi” uyarısı görüyorsanız kargo veya iade alanları eksik demektir.

WordPress ve WooCommerce’te Uygulama

WooCommerce ürün sayfaları için temel Product şemasını otomatik üretir. Ancak varsayılan çıktı genellikle merchant listing için yeterli değildir; kargo ve iade alanları eksik kalır.

Uygulama yaklaşımları:

  • SEO eklentisi üzerinden: Rank Math ve benzeri eklentiler ürün şemasını yönetir ve alan ekleme imkânı sunar. Çoğu site için en pratik yol budur.
  • Elle JSON-LD eklemek: Tam kontrol isteyenler için. Kargo ve iade alanları gibi eklentinin desteklemediği kısımlar böyle çözülür.
  • Merchant Center üzerinden: Kargo ve iade bilgisini Google Merchant Center hesabınızda tanımlarsanız, şemada tekrar vermeniz gerekmeyebilir.

Önemli bir uyarı: eklenti eklemeden önce temanızın zaten şema basıp basmadığını kontrol edin. Çakışan şemalar tek eksik şemadan daha zararlıdır.

Şema kodunun sayfa ağırlığına etkisi ihmal edilebilir düzeydedir, ancak çok sayıda eklenti üst üste şema basıyorsa gereksiz yük oluşur. Genel performans tarafını WooCommerce hız optimizasyonu rehberinde ele aldım.

GEO: Yapay Zeka Asistanları ve Yapısal Veri

Yapısal veri artık yalnızca Google’ın zengin sonuçları için değil, yapay zeka asistanlarının ürün önerileri için de belirleyicidir.

Bir asistan “300 TL altında su geçirmez koşu ayakkabısı öner” sorusunu cevaplarken, sayfanızdan okuyabildiği veriye bakar. Fiyatı, stok durumunu, kargo süresini ve iade koşulunu makine formatında bulamıyorsa ürününüzü öneremez.

Bu yüzden şema alanlarını eksiksiz doldurmak, GEO çalışmasının teknik temelidir. Özellikle şu alanlar asistanların en sık kullandığı verilerdir:

  • Fiyat ve para birimi: Bütçe filtreli sorularda birincil kriter.
  • Stok durumu: Asistan tükenen ürünü önermek istemez.
  • Kargo ve iade: “Hızlı teslimat” veya “iade kolay” tipi sorularda doğrudan kullanılır.
  • Puan ve yorum sayısı: Güven sinyali olarak değerlendirilir.
  • Marka ve ürün kimliği: Doğru ürünle eşleştirme için gerekli.

Yapısal veri tek başına yeterli değildir; içeriğin kendisi de soru-cevap yapısında ve bağımsız alıntılanabilir olmalıdır. Bu iki tarafı birlikte nasıl kurguladığımı SEO ve AI görünürlük hizmetim kapsamında ele alıyorum.

Şema Bakımı: Kurup Unutulacak Bir İş Değil

Yapısal veri tek seferlik bir kurulum değildir. Ürün fiyatları değişir, stok tükenir, iade politikası güncellenir. Şema bu değişimleri takip etmiyorsa yanlış bilgi yayınlıyorsunuz demektir.

Düzenli kontrol edilmesi gerekenler:

  • Fiyat senkronizasyonu: İndirim uygulandığında şemadaki fiyat da güncelleniyor mu?
  • Stok durumu: Tükenen ürünlerde availability değeri değişiyor mu?
  • priceValidUntil tarihi: Geçmiş tarih kalmış mı?
  • Eklenti güncellemeleri: Bir güncelleme sonrası şema çıktısı bozulmuş olabilir.
  • Search Console uyarıları: Yeni hata veya uyarı türü çıkmış mı?

Pratik öneri: ayda bir Search Console’daki ürün raporlarını açıp hata ve uyarı sayısına bakın. Sayıda ani artış varsa genellikle bir eklenti güncellemesi veya tema değişikliği sebeptir.

E-Ticaret Yapısal Veri Kontrol Listesi

#KontrolKriter
1FormatJSON-LD kullanılıyor
2ÇakışmaTema, eklenti ve elle kod çelişmiyor
3Fiyat biçimiDüz sayı, simge ve ayraç yok
4Sayfa uyumuŞema verisi sayfadakiyle birebir
5Ürün kimliğisku, gtin veya mpn dolu
6Kargo ve iadeshippingDetails ve hasMerchantReturnPolicy var
7PuanSayfada görünen gerçek yorumlardan
8VaryasyonProductGroup ile yapılandırılmış
9BreadcrumbKategori ve ürün sayfalarında var
10DoğrulamaRich Results Test ve Search Console kontrol edildi

Sıkça Sorulan Sorular

Yapısal veri sıralamayı doğrudan artırır mı?

Doğrudan bir sıralama faktörü değildir. Etkisi görünürlük ve tıklama oranı üzerinden gelir: fiyat, puan, stok ve kargo bilgisi arama sonucunda göründüğünde tıklama oranı yükselir. Ayrıca yapısal veri olmadan ücretsiz alışveriş listelemelerine ve alışveriş karuseline giremezsiniz. Yani sıralamayı değil, sıralamadaki görünürlüğünüzü ve tıklanma olasılığınızı değiştirir.

Product snippet ile merchant listing arasındaki fark nedir?

İkisi de aynı Product şemasına dayanır ama farklı sonuç tipleridir. Product snippet daha hafif olanıdır; fiyat, puan ve stok gösterebilir. Merchant listing ise satın alınabilir sayfalar içindir ve kargo ile iade bilgisini de gösterir. Kendi ürününüzü kendi sitenizden satıyorsanız merchant listing uygunluğunu hedeflemelisiniz.

Şemada yorum puanı gösterip sayfada yorum bulundurmasam olur mu?

Olmaz ve risklidir. Google’ın politikası, şemadaki puanın sayfada kullanıcıya görünen değerlendirmeleri yansıtmasını şart koşar. Görünmeyen veya var olmayan yorumlar için puan işaretlemek yapısal veri ihlalidir ve manuel işlem sebebi olabilir. Yorumunuz yoksa aggregateRating alanını hiç eklemeyin.

Fiyatı şemaya nasıl yazmalıyım?

Düz sayı olarak. “4299.00” doğru, “4.299 TL” veya “4,299” yanlıştır. Para birimi simgesi, binlik ayracı veya metin karışımı doğrulama hatası verir. Para birimini ayrı alanda (priceCurrency) belirtin. Bu, yapısal veride en sık yapılan hatadır.

Kargo ve iade alanları zorunlu mu?

Temel product snippet uygunluğu için zorunlu değildir. Ancak merchant listing uygunluğu için Google birçok pazarda bu alanları bekler. Eksik olduğunda Search Console’da “merchant listing deneyimi” uyarısı görürsünüz ve ürününüz alışveriş karuselinde çıkmayabilir. Bu bilgiyi Google Merchant Center hesabınızda tanımladıysanız şemada tekrar vermeniz gerekmeyebilir.

Varyasyonlu ürünlerde şema nasıl kurulur?

ProductGroup yapısı kullanın. Ana ürünü ProductGroup olarak tanımlayın, varyasyonları hasVariant içinde listeleyin ve hangi eksende değiştiklerini variesBy ile belirtin (renk, beden gibi). Her varyasyonu ayrı ve ilgisiz bir Product gibi işaretlemek yanlıştır; Google onları kopuk ürünler sanır ve varyasyon seçicisini düzgün gösteremez.

WooCommerce zaten şema üretiyor, ekstra bir şey yapmalı mıyım?

WooCommerce temel Product şemasını otomatik üretir ama bu genellikle merchant listing için yeterli değildir; kargo ve iade alanları eksik kalır. Ayrıca temanız ve SEO eklentiniz de şema basıyorsa çakışma riski vardır. Önce Rich Results Test ile mevcut çıktıyı kontrol edin, sonra eksikleri tamamlayın. Çakışan şemalar tek eksik şemadan daha zararlıdır.

Yapısal veri yapay zeka aramalarında işe yarar mı?

Evet, temel önkoşullardan biridir. Yapay zeka asistanları ürün önerirken fiyat, stok, kargo, iade ve puan bilgisini makine okunabilir formatta arar. Bu veriler şemada tanımlı değilse asistan ürününüzü güvenle öneremez. Ancak tek başına yeterli değildir; içeriğin de soru-cevap yapısında ve bağlamdan bağımsız alıntılanabilir olması gerekir.

Yazar Hakkında

Barış Dayak

2014'ten bu yana web tasarım, WordPress ve SEO & AI görünürlük alanlarında 500'den fazla işletmeye hizmet veriyorum.

Bu yazıyı
Beğendiniz mi?

En güncel yazılar, kampanyalar ve hizmetlerimiz hakkında düzenli bilgi sahibi olmak için abone olun!

    Yorumlar devre dışıdır