Pratik Rehberler

Şema İşaretlemesi Nasıl Eklenir: Adım Adım Uygulama Rehberi

Şema işaretlemesi (schema markup), yapay zeka cevap motorlarının içeriğinizi anlamasını sağlayan kritik bir yapı. JSON-LD formatında, hangi sayfaya hangi şemayı eklemeniz gerektiği ve doğrulama adımlarıyla birlikte tam bir uygulama rehberi.

Seval Ekinci
Seval Ekinci
İçerik Editörü
8 dk okuma
Şema İşaretlemesi Nasıl Eklenir: Adım Adım Uygulama Rehberi
İçindekiler

TL;DR: Şema işaretlemesi (schema markup), web sayfanızın anlamını yapay zeka motorlarına makine-okunur bir biçimde sunan bir yapıdır. JSON-LD formatında, <script type="application/ld+json"> etiketi içinde sayfanıza eklenir. Doğru şema türünü seçmek, doğru alanları doldurmak ve Google'ın Rich Results Test aracıyla doğrulamak yeterlidir. Bu rehberde her adımı, gerçek kod örnekleriyle anlatıyoruz.

Yapay zeka motorlarının sitenizi "anlamasını" sağlamanın en etkili yolu, içeriğinizin yapısını açıkça beyan etmektir. Şema işaretlemesi tam olarak bunu yapar: HTML'in arkasında, "bu bir makaledir, bu bir SSS sayfasıdır, bu bir üründür" diye söyler.

İstatistiklere göre içeriğine doğru şema ekleyen siteler, yapay zeka cevap motorlarında yaklaşık %12 daha fazla alıntılanır. Üstelik bu artış, geleneksel arama motoru sonuçlarındaki zengin sonuç (rich result) görünümüne de katkı sağlar — yani çift kazanç.

Bu rehberde, hiç şema işaretlemesi olmayan bir siteden başlayıp ilk schema'larınızı uygulamaya kadar tüm adımları anlatacağız.

Şema İşaretlemesi Nedir?

Şema işaretlemesi, schema.org standardına göre tanımlanmış bir veri sözlüğüdür. Google, Microsoft, Yandex ve Yahoo'nun ortak girişimiyle 2011'de oluşturulmuş; bugün yapay zeka motorlarının da kullandığı evrensel bir yapıdır.

Üç farklı yazım biçimi vardır:

Biçim Konum Tavsiye
JSON-LD <script> etiketi içinde ✓ Önerilen
Microdata HTML etiketlerine itemprop ekleyerek Eski sistemler için
RDFa HTML etiketlerine property ekleyerek Çok nadir

JSON-LD'yi tercih edin. Google'ın resmi önerisidir, içerikten ayrıdır (HTML değişirse şema bozulmaz), bakımı kolaydır ve yapay zeka motorlarının en iyi anladığı formattır.

Hangi Sayfaya Hangi Şema?

Şema türleri sayfanızın içeriğine göre değişir. Yanlış şema kullanmak (örneğin SSS sayfasına Product şeması) güvenilirlik puanınızı düşürür.

Sayfa türü Önerilen şema Önceliği
Ana sayfa Organization + WebSite Çok yüksek
Blog yazısı BlogPosting + BreadcrumbList Yüksek
SSS sayfası FAQPage Çok yüksek
Nasıl yapılır rehberi HowTo + Article Yüksek
Ürün sayfası Product + Offer Çok yüksek
Yerel işletme LocalBusiness Yüksek
Etkinlik Event Yüksek (eğer ilgiliyse)
Tarif Recipe Çok yüksek (yiyecek sitesi için)
Tüm sayfalar BreadcrumbList Orta — her sayfa için

İlk uygulamanızda üç şemayla başlamanızı öneriyoruz: Organization (ana sayfada), BlogPosting (blog yazılarında) ve FAQPage (SSS bölümlerinde). Bu üçü, marka görünürlüğünüze en hızlı katkı sağlayanlardır.

Adım 1: Organization Şeması (Tüm sayfalara, layout'ta)

Bu şema markanızı tanımlar. Tüm sayfalarda görünmesi gerekir; en doğrusu site layout'unuza tek bir kez eklemektir.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Markanızın Adı",
  "url": "https://markanizinsitesi.com",
  "logo": "https://markanizinsitesi.com/logo.png",
  "description": "Markanız ne yapar, hangi sektörde, hangi pazara hizmet eder.",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Açık adres",
    "addressLocality": "İstanbul",
    "addressCountry": "TR"
  },
  "sameAs": [
    "https://www.linkedin.com/company/markaniz",
    "https://twitter.com/markaniz"
  ]
}
</script>

Dikkat edilmesi gereken alanlar:

  • name: Resmi marka adınız, hep aynı yazımla
  • url: Tam URL, sonunda / olmadan
  • logo: En az 112×112 piksel, PNG veya SVG, mutlak URL
  • sameAs: Aynı markanın sosyal medya hesapları (LinkedIn, X, Facebook, Instagram) sameAs alanı özellikle önemli: yapay zeka motorları bu alandaki bağlantıları takip ederek markanız hakkında daha fazla bilgi edinir ve farklı kaynaklardaki mention'larınızı tek bir kimliğe bağlar.

Adım 2: BlogPosting Şeması (Blog yazılarında)

Her blog yazınızın başında bu şemayı kullanın.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Yazınızın Tam Başlığı",
  "description": "Yazının kısa özeti, 150-200 karakter arası.",
  "image": "https://siteniz.com/yazilar/kapak-gorseli.jpg",
  "datePublished": "2026-05-22T09:00:00+03:00",
  "dateModified": "2026-05-22T09:00:00+03:00",
  "author": {
    "@type": "Person",
    "name": "Yazar Adı",
    "url": "https://siteniz.com/yazarlar/yazar-slug"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Yayıncı Markanız",
    "logo": {
      "@type": "ImageObject",
      "url": "https://siteniz.com/logo.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://siteniz.com/yazilar/bu-yazinin-url-i"
  }
}
</script>

Kritik noktalar:

  • headline: 110 karakteri geçmesin (Google kısaltır)
  • datePublished ve dateModified: ISO 8601 formatında, saat dilimiyle birlikte
  • image: En az 1200 piksel genişlik
  • author: Mutlaka bir @type ("Person" veya "Organization") olmalı
  • mainEntityOfPage: Yazının kanonik URL'i dateModified alanını güncellediğinizde — yani yazıyı revize ettiğinizde — yapay zeka motorları içeriğinizi "taze" olarak değerlendirir. Bu nedenle her 90 günlük güncellemede bu alanı muhakkak yenileyin.

Adım 3: FAQPage Şeması (SSS bölümlerinde)

Yapay zeka cevap motorlarının en sevdiği şema türü budur. Sayfanızda görünür bir SSS bölümü varsa, mutlaka bu şemayla işaretleyin.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Şema işaretlemesi nedir?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Şema işaretlemesi, web sayfanızın anlamını yapay zeka motorlarına makine-okunur biçimde sunan bir yapıdır. JSON-LD formatında uygulanır."
      }
    },
    {
      "@type": "Question",
      "name": "JSON-LD mi yoksa Microdata mı kullanmalıyım?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Google ve diğer büyük arama motorları JSON-LD'yi önerir. Bakımı kolay, içerikten ayrı durur ve yapay zeka motorlarının en iyi anladığı formattır."
      }
    }
  ]
}
</script>

Önemli kurallar:

  • Şemada belirttiğiniz tüm soru-cevaplar sayfada da görünür olmalı. Sahte içerik eklemek (sayfada olmayan SSS'leri şemaya koymak) Google'ın yönergelerini ihlal eder ve cezalandırılır.
  • Cevaplar HTML içerebilir ama paragraf etiketleri (<p>) önerilir
  • Bir sayfada sadece bir FAQPage şeması olmalı, içinde istediğiniz kadar soru
  • Her soru gerçek bir kullanıcı sorusu olmalı, sadece anahtar kelime serpiştirmek için yazılmış sorular yarardan çok zarar verir

Adım 4: BreadcrumbList Şeması (Her sayfada)

Site içi gezinme yolunuzu (breadcrumb) tanımlar. Yapay zeka motorlarına ve geleneksel arama sonuçlarına sayfanın site hiyerarşisindeki konumunu gösterir.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Ana Sayfa",
      "item": "https://siteniz.com"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog",
      "item": "https://siteniz.com/blog"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Bu Yazının Başlığı",
      "item": "https://siteniz.com/blog/bu-yazi"
    }
  ]
}
</script>

Görsel breadcrumb'unuz olmasa bile bu şemayı ekleyebilirsiniz. Yapay zeka motorları sayfanızın site içindeki konumunu anlar ve cevaplarında daha doğru bağlam kurabilir.

Adım 5: Şemanızı Doğrulayın

Şemayı yazmak yeterli değil — geçerli ve hatasız olduğunu mutlaka test edin. Yanlış şema, hiç şema olmamasından daha kötüdür.

Önerilen doğrulama araçları

1. Google Rich Results Test (öncelikli)

https://search.google.com/test/rich-results

URL veya HTML kodunuzu girersiniz, Google şemanızı tarar ve şu üçünü gösterir:

  • Geçerli şemalar (yeşil onay)
  • Uyarılar (sarı — bir şey eksik ama kritik değil)
  • Hatalar (kırmızı — düzeltmeniz şart) 2. Schema.org Validator (alternatif)

https://validator.schema.org

Resmi schema.org doğrulayıcısı. Google'ın tanımadığı schema türlerini de doğrular. Sektöre özel şemalar için tercih edilir.

3. Tarayıcı eklentileri

"Schema Markup Validator" gibi tarayıcı eklentileri, ziyaret ettiğiniz herhangi bir sayfanın şemalarını anında gösterir. Hem kendi sitenizi hem de rakiplerinizi incelemek için pratiktir.

Yaygın hata mesajları ve çözümleri

Hata Çözüm
"Missing field 'image'" image alanına geçerli bir URL ekleyin
"Invalid date format" ISO 8601 formatında yazın (YYYY-MM-DDTHH:MM:SS+TZ)
"Mismatched FAQ content" Şemadaki sorular sayfa içeriğinde de olmalı
"Invalid URL" URL'ler mutlak (https://...) olmalı, göreceli değil
"Unknown field" schema.org'da olmayan bir alan eklemişsiniz, silin

Adım 6: Sürekli Bakım

Şema eklemek tek seferlik bir iş değildir. Üç durumda mutlaka gözden geçirin:

  1. Sayfa içeriği değiştiğinde: Yeni SSS eklediyseniz şemaya da ekleyin
  2. Tarih güncellendiğinde: dateModified alanını yenileyin
  3. Schema.org standardı güncellendiğinde: Yeni alanlar, eskiyen alanlar olabilir Tavsiye edilen aralık: her 90 günde bir, tüm sayfaların şemalarını Rich Results Test ile bir kez geçirin.

Profesyonel İpuçları

1. Şemaları layout'a koyun, sayfa-sayfa yazmayın. WordPress, Laravel veya benzeri sistemde tek bir layout dosyasına şema şablonu yerleştirin, sayfa verilerini dinamik olarak doldurun. Bakım maliyeti %90 düşer.

2. Tek bir sayfada birden fazla şema kullanın — ama akıllıca. Bir blog yazısında BlogPosting + BreadcrumbList + FAQPage birlikte bulunabilir. Ancak bir sayfada iki adet FAQPage veya iki adet Article olmamalı.

3. @graph kullanarak şemaları birleştirin. Birden fazla şemayı tek bir <script> etiketinde toplamak için @graph syntax'ını kullanın. Sayfa hızı için marjinal ama gerçek bir kazanç sağlar.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    { "@type": "Organization", "name": "...", ... },
    { "@type": "BlogPosting", "headline": "...", ... },
    { "@type": "BreadcrumbList", "itemListElement": [...] }
  ]
}
</script>

4. Şemalarınızı sürüm kontrolünde tutun. Şema kodlarınız Git'te olsun. Bir gün bir şey bozulduğunda, son çalışan sürüme dönmek kolay olur.

Sonuç

Şema işaretlemesi karmaşık görünüyor olsa da, yapı oldukça doğrusal: doğru türü seç, kuralları takip et, doğrula. Bir kez sisteminize yerleştirdikten sonra otomatik çalışır.

Bugün yapmanız gerekenler:

  1. Ana sayfanıza Organization şeması ekleyin (15 dakika)
  2. Bir blog yazınıza BlogPosting şeması ekleyin (10 dakika)
  3. Rich Results Test ile her ikisini de doğrulayın (5 dakika) Toplam 30 dakikada sitenizin yapay zeka cevap motorları nezdindeki "anlaşılırlığı" ciddi şekilde artmış olur. Bir sonraki aşamada SSS sayfalarınıza FAQPage, ürün sayfalarınıza Product şemalarını ekleyebilirsiniz.

Sıkça Sorulan Sorular

Şema işaretlemesi olmadan da arama motorlarında çıkabilir miyim?

Evet, çıkabilirsiniz. Şema, sıralama faktörü değil; içeriğinizin nasıl anlaşıldığını etkiler. Yapay zeka motorları için ise neredeyse zorunlu hâle gelmiştir.

JSON-LD'yi sayfanın neresine koymalıyım?

<head> bölümüne koymak en doğrusudur. <body> bölümünde de çalışır ancak <head> arama motorları için daha standart kabul edilir.

Şemam doğru olsa bile zengin sonuç (rich result) görünmüyor, neden?

Şemanın geçerli olması, Google'ın zengin sonuç göstereceğini garanti etmez. Google kendi kalite kriterlerine göre seçim yapar. Sayfanız kaliteli olmalı, içerik şemayla eşleşmeli ve site geneli güvenilirlik puanı yeterli olmalı.

Bir sayfada kaç farklı şema kullanabilirim?

Sınır yoktur, ancak mantıklı olanları kullanın. Tipik bir blog yazısı için 3-4 farklı şema (BlogPosting, BreadcrumbList, FAQPage, Organization) idealdir. Daha fazlası kafa karıştırıcı olur.

Şema yanlış olursa cezalandırılır mıyım?

Niyetli yanıltma (sayfada olmayan içeriği şemada belirtmek) Google tarafından manuel olarak cezalandırılır. Teknik hata olan şemalar (eksik alan, yanlış format) cezalandırılmaz, sadece zengin sonuç olarak görünmez.

Türkçe içerik için özel bir şema türü var mı?

Hayır, schema.org dilden bağımsızdır. Tüm şema türlerini Türkçe içerikte aynen kullanabilirsiniz. Sadece içerik değerlerini Türkçe yazın, etiket isimlerini (örn. @type, name) İngilizce bırakın — bunlar standartın bir parçasıdır.

Paylaş: X / Twitter LinkedIn WhatsApp
Seval Ekinci
Yazar

Seval Ekinci

İçerik Editörü

27 yaşındayım, Okan Üniversitesi Bilişim Sistemleri ve Teknolojileri mezunuyum. Yapay zeka uygulamaları üzerine araştırmalar yapıyorum.