İçeriğe geç
teknik-seo

Schema Markup ve JSON-LD Rehberi: Rich Result'lara Giden Yol

·11 dk dakika okuma·Teknik SEO Editörü

Schema Markup Nedir?

Schema markup, arama motorlarına sayfa içeriğinizin ne anlam ifade ettiğini makine tarafından okunabilir bir biçimde anlatan yapısal veri kodudur. Schema.org standardını kullanan bu veri; Google, Bing ve Yandex tarafından parse edilir ve SERP'te rich result (zengin sonuç) olarak görüntülenebilir: yıldız puanı, fiyat bilgisi, tarih, FAQ listesi, breadcrumb vb.

2026 itibarıyla schema markup artık yalnızca "bonus" değil. Google'ın AI Overview kutularının hangi kaynakları öne çıkaracağını belirlemede yapısal veri kalitesinin kritik rol oynadığı tespit edildi.

JSON-LD vs Microdata vs RDFa

Üç farklı implementasyon yöntemi mevcut:

  • JSON-LD (önerilen): HTML içeriğinden bağımsız, <script> bloğuna eklenir. Google tarafından açıkça önerilen yöntem.
  • Microdata: HTML elementlerine attribute olarak eklenir. Bakımı zordur, hata risklidir.
  • RDFa: XML kökenli, akademik/kurumsal kullanım için. Genel web için gereksiz karmaşıklık.

Kural basit: her zaman JSON-LD kullanın.

Temel JSON-LD Yapısı

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Başlık",
  "datePublished": "2026-04-21",
  "author": {
    "@type": "Person",
    "name": "Yazar Adı"
  }
}
</script>

Sayfa Türüne Göre Schema Seçimi

Blog / Makale Sayfaları → Article veya BlogPosting

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Schema Markup ve JSON-LD Rehberi",
  "description": "JSON-LD ile schema markup nasıl eklenir...",
  "image": "https://example.com/images/schema-rehberi.jpg",
  "datePublished": "2026-04-21T09:00:00+03:00",
  "dateModified": "2026-04-21T09:00:00+03:00",
  "author": {
    "@type": "Person",
    "name": "SEO Uzmanı",
    "url": "https://example.com/yazar/"
  },
  "publisher": {
    "@type": "Organization",
    "name": "SEO Araçları",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://example.com/blog/schema-rehberi/"
  }
}
</script>

Ürün Sayfaları → Product

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Ürün Adı",
  "image": "https://example.com/urun.jpg",
  "description": "Ürün açıklaması",
  "sku": "SKU-12345",
  "brand": {
    "@type": "Brand",
    "name": "Marka Adı"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/urun/",
    "priceCurrency": "TRY",
    "price": "299.00",
    "availability": "https://schema.org/InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "127"
  }
}

SSS Sayfaları → FAQPage

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Schema markup nedir?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Schema markup, arama motorlarına içeriğin anlamını anlatan yapısal veridir."
      }
    },
    {
      "@type": "Question",
      "name": "JSON-LD neden tercih edilir?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "JSON-LD, HTML içeriğinden bağımsız olduğu için bakımı kolay ve Google tarafından önerilen yöntemdir."
      }
    }
  ]
}

Breadcrumb → BreadcrumbList

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Ana Sayfa",
      "item": "https://example.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog",
      "item": "https://example.com/blog/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Schema Rehberi",
      "item": "https://example.com/blog/schema-rehberi/"
    }
  ]
}

Next.js'te JSON-LD Ekleme

Next.js App Router'da JSON-LD için ayrı bir kütüphane gerekmez. Script bileşeniyle veya doğrudan layout/page dosyasında eklenebilir:

// app/blog/[slug]/page.tsx
export default function BlogPage({ post }) {
  const jsonLd = {
    '@context': 'https://schema.org',
    '@type': 'BlogPosting',
    headline: post.title,
    datePublished: post.date,
    author: { '@type': 'Person', name: post.author },
  };

  return (
    <>
      <script
        type="application/ld+json"
        dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
      />
      <article>{/* İçerik */}</article>
    </>
  );
}

Schema Doğrulama Araçları

  • Google Rich Results Test: rich.results.google.com — hangi schema türlerinin rich result almaya uygun olduğunu gösterir
  • Schema.org Validator: validator.schema.org — sözdizimi hatalarını tespit eder
  • Google Search Console → Rich Results Raporu: Canlı sitenizdeki schema hatalarını ve impression verilerini gösterir

2026'da Schema ve AI Overview İlişkisi

Google'ın AI Overview kutularının içerik seçiminde yapısal veriyi önemli bir güven sinyali olarak kullandığı gözlemleniyor. Özellikle:

  • HowTo schema: Adım adım içerik, AI Overview'da doğrudan listelenme şansını artırıyor
  • FAQPage schema: Soru-cevap formatındaki içerik, AI kutularına girme olasılığı yüksek
  • SpeakableSpecification: Sesli arama için öne çıkan içerik bölümlerini işaretler

Sık Yapılan Schema Hataları

  • Rating/review şeması ekleyip sayfada gerçek bir yorum göstermemek (Google bunu işaretliyor)
  • Yanlış @type kullanmak (bir makaleye Product schema yazmak gibi)
  • datePublished değerini güncellemeden eski tarih bırakmak
  • image alanını boş bırakmak — Article schema'da image zorunludur
  • Birden fazla JSON-LD bloğunu birleştirip geçersiz JSON üretmek
#schema markup#json-ld#yapısal veri#rich results#teknik seo
Blog'a Dön