İçeriğe atla
Abdullah Üstün

9 Mayıs 2026 · 12 dk okuma · Teknik SEO

Schema.org Markup Eksiksiz Rehberi 2026 — JSON-LD Hangi Sayfada Hangisi

Schema.org JSON-LD markup hangi sayfada hangi tipler kullanılmalı? Organization, Person, Service, FAQPage, Article, Product, Review, BreadcrumbList — kod örnekleriyle 2026 güncel rehber.

Google “Schema.org JSON-LD markup’ı sıralama faktörü değil” der ama dolaylı etkisi:

  • Rich Results (yıldız, fiyat, FAQ accordion) → CTR %30-50 artıyor
  • AI Overviews → kaynak listesinde olma şansı
  • ChatGPT/Perplexity citation → entity tanıma
  • Knowledge Graph → marka bilgisi tutarlılığı

Yani schema = dolaylı ama büyük etki. 2026’da olmazsa olmaz. 12 yıllık SEO + 2 yıl GEO tecrübesinden tam kapsam rehber.

Hızlı özet: Schema.org markup (JSON-LD formatında) Google rich results, AI Overviews ve AI citation için kritik. Olmazsa olmaz schema’lar: Organization (her sayfada), Person, WebSite, WebPage, Service/Product, FAQPage, BreadcrumbList. @graph ile birleşik tek JSON-LD bloğu en iyi pratik.

Schema.org Hangi Sayfa Tipinde Hangi Markup?

Hiyerarşik yaklaşım — her sayfada bazı schema’lar her zaman, bazıları sayfa tipine göre.

Her Sayfada (Site genelinde tekrarlayan)

  • Organization veya ProfessionalService (şirket bilgisi)
  • Person (kurucu, E-E-A-T için kritik)
  • WebSite (SearchAction ile arama özelliği)

Sayfa Tipine Göre

Sayfa TipiEklenecek Schema’lar
Ana sayfa+ WebPage, FAQPage
Hizmet sayfası+ Service, Offer (fiyat varsa), FAQPage, BreadcrumbList
Paket sayfası+ Service + Offer (fiyat dahil), FAQPage
Ürün sayfası+ Product, Offer, AggregateRating (varsa)
Blog yazısı+ Article, Person (yazar), BreadcrumbList, FAQPage
Vaka çalışması+ Article + CreativeWork + Organization (müşteri)
Hakkımda+ AboutPage, Person (zaten var), Organization
İletişim+ ContactPage, LocalBusiness (varsa)
Doktor sayfası+ Physician + LocalBusiness/MedicalClinic
Avukat sayfası+ LegalService + Attorney
Restoran sayfası+ Restaurant + Menu + Review

@graph ile Tek JSON-LD Bloğu

Kötü pratik (ayrı bloklar):

<script type="application/ld+json">{ "@type": "Organization", ... }</script>
<script type="application/ld+json">{ "@type": "Person", ... }</script>
<script type="application/ld+json">{ "@type": "WebPage", ... }</script>

Google parse eder ama dağınık.

İyi pratik (@graph):

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://example.com/#organization",
      "name": "...",
      "founder": { "@id": "https://example.com/#founder" }
    },
    {
      "@type": "Person",
      "@id": "https://example.com/#founder",
      "name": "..."
    },
    {
      "@type": "WebPage",
      "@id": "https://example.com/page#webpage",
      "isPartOf": { "@id": "https://example.com/#website" },
      "publisher": { "@id": "https://example.com/#organization" }
    }
  ]
}
</script>

Entity’ler @id ile birbirine bağlı. Google bunu “tek tutarlı veri seti” olarak okuyor.

Detaylı Örnek — Hizmet Sayfası

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "ProfessionalService",
      "@id": "https://abdullahustun.com/#organization",
      "name": "Abdullah Üstün",
      "url": "https://abdullahustun.com",
      "logo": "https://abdullahustun.com/logo.png",
      "description": "Yapay Zeka Destekli Dijital Reklam Ajansı",
      "founder": { "@id": "https://abdullahustun.com/#founder" },
      "priceRange": "₺₺",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "İstanbul",
        "addressCountry": "TR"
      },
      "contactPoint": {
        "@type": "ContactPoint",
        "telephone": "+90 530 090 9142",
        "email": "[email protected]",
        "contactType": "customer service"
      }
    },
    {
      "@type": "Person",
      "@id": "https://abdullahustun.com/#founder",
      "name": "Abdullah Üstün",
      "jobTitle": "Kurucu, Dijital Pazarlama Uzmanı",
      "knowsAbout": [
        "Google Ads",
        "Search Engine Optimization",
        "Generative Engine Optimization",
        "AI Search",
        "WordPress to Modern Stack Migration",
        "E-commerce",
        "Local SEO"
      ],
      "worksFor": { "@id": "https://abdullahustun.com/#organization" }
    },
    {
      "@type": "Service",
      "@id": "https://abdullahustun.com/hizmetler/google-ads/#service",
      "name": "Google Ads Yönetimi",
      "description": "Performans odaklı kampanya kurulumu ve sürekli yönetim",
      "provider": { "@id": "https://abdullahustun.com/#organization" },
      "serviceType": "Google Ads Yönetimi",
      "areaServed": { "@type": "Country", "name": "TR" },
      "offers": {
        "@type": "Offer",
        "price": "5000",
        "priceCurrency": "TRY",
        "availability": "https://schema.org/InStock"
      }
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Performance Max yönetir misiniz?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Evet — PMax'ı en sık kullandığımız tip..."
          }
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "Ana Sayfa", "item": "https://abdullahustun.com/" },
        { "@type": "ListItem", "position": 2, "name": "Hizmetler", "item": "https://abdullahustun.com/hizmetler/" },
        { "@type": "ListItem", "position": 3, "name": "Google Ads Yönetimi" }
      ]
    }
  ]
}

Person Schema’da knowsAbout — E-E-A-T Anahtarı

Google’ın 2024’ten beri öne çıkardığı E-E-A-T kriterinde Expertise (uzmanlık) sütununda Schema.org Person’da şunlar olmalı:

{
  "@type": "Person",
  "name": "Abdullah Üstün",
  "jobTitle": "Dijital Pazarlama Uzmanı",
  "alumniOf": "İstanbul Üniversitesi",
  "worksFor": { ... },
  "knowsAbout": [
    "Google Ads",
    "SEO",
    "GEO",
    "AI Search Optimization",
    "WordPress Migration"
  ],
  "memberOf": "Türkiye Dijital Pazarlama Derneği",
  "yearsOfExperience": 12,
  "sameAs": [
    "https://www.linkedin.com/in/abdullahustun/",
    "https://x.com/abdullahustun",
    "https://www.youtube.com/@abdullahustun"
  ]
}

knowsAbout AI’lar için kritik. ChatGPT “X kim, ne yapar” sorusunda bu listeye bakıp eşleştirme yapıyor.

sameAs marka entity sinyali — LinkedIn, X, YouTube hepsi tek kişiye ait. AI doğrulayabiliyor.

FAQPage Schema — En Kazandıran

Her hizmet, paket, blog yazısı, kategori sayfasında 4-7 SSS olsun. Schema’lı + görünür HTML olarak.

Google bunu “sıkça sorulanlar” rich result’ında gösteriyor — CTR’yi %30-50 artırıyor.

{
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Soru metni?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Cevap metni — 50-300 karakter arası ideal. Net, somut, sayılarla."
      }
    }
  ]
}

Önemli: Schema’daki cevap = sayfada görünür HTML cevap olmalı. Aksi takdirde Google “manipülasyon” sayar (cloaking).

Her alt sayfada (her şey hariç ana sayfa):

{
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "position": 1, "name": "Ana Sayfa", "item": "https://..." },
    { "position": 2, "name": "Kategori", "item": "https://..." },
    { "position": 3, "name": "Mevcut Sayfa" }
  ]
}

Son item’da item URL’si konmaz (current page). Google rich result’ında breadcrumb gösteriyor — kullanıcı dostluk + CTR.

Article Schema (Blog yazıları)

{
  "@type": "Article",
  "headline": "Yazı başlığı",
  "description": "Açıklama",
  "image": ["url1", "url2"],
  "datePublished": "2026-05-09",
  "dateModified": "2026-05-09",
  "author": {
    "@type": "Person",
    "@id": "https://abdullahustun.com/#founder"
  },
  "publisher": { "@id": "https://abdullahustun.com/#organization" },
  "mainEntityOfPage": { "@id": "https://abdullahustun.com/blog/x/#webpage" }
}

Kritik alanlar:

  • datePublished (yazı ilk yayın)
  • dateModified (son güncelleme — Perplexity bu sinyale çok duyarlı)
  • author (Person schema’sına bağlı)

Product Schema (E-ticaret)

{
  "@type": "Product",
  "name": "Ürün Adı",
  "image": [...],
  "description": "...",
  "sku": "ABC123",
  "brand": { "@type": "Brand", "name": "..." },
  "offers": {
    "@type": "Offer",
    "url": "https://...",
    "priceCurrency": "TRY",
    "price": "199.99",
    "availability": "https://schema.org/InStock",
    "seller": { "@id": "#organization" }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "127"
  }
}

Google Shopping rich results için zorunlu. Yıldız + fiyat + stok durumu organik sonuçlarda görünür.

Test ve Doğrulama Araçları

1. Google Rich Results Test

https://search.google.com/test/rich-results URL gir → schema’lar listelenir + hatalar gösterilir.

2. Schema.org Validator

https://validator.schema.org/ Daha derin validation, JSON-LD syntax + property typo’ları yakalar.

3. Google Search Console — Rich Results Reports

Indekslenmiş sayfalarda hangi rich result tetikleniyor / hata var, hangi sayfa kaç defa gösterilmiş.

Yaygın Schema Hataları

❌ Schema’da olan, sayfada olmayan içerik

“Cloaking” — Google ban’ler. Schema’da FAQ varsa sayfada da görünür HTML olarak FAQ olsun.

❌ Yanlış @type

“FAQPage” yerine “FAQ” yazmak — boş sonuç. Tam tip adlarına dikkat.

❌ priceCurrency olmayan Offer

Google “geçersiz” sayar. ISO 4217 kodu (TRY, USD, EUR) zorunlu.

❌ datePublished ISO formatında değil

“09 Mayıs 2026” değil “2026-05-09T00:00:00+03:00”.

❌ Aynı @id birden fazla entity’de

@id unique olmalı. “abdullahustun.com/#service” iki schema’da varsa karışıklık.

Astro / Next.js’te Otomatize Etmek

Manuel her sayfaya schema yazmak hata kaynağı. Merkezi bir lib:

// src/lib/schema.ts
export function organizationGraph() { ... }
export function service({ url, name, ... }) { ... }
export function faqPage(items) { ... }
export function graph(...nodes) {
  return { "@context": "https://schema.org", "@graph": nodes.flat() };
}

Sayfada:

---
const schemaGraph = graph(
  organizationGraph(),
  service({ url, name: 'Google Ads' }),
  faqPage(faqs)
);
---

<script type="application/ld+json" set:html={JSON.stringify(schemaGraph)} />

Tek yerden yönetim, her sayfa tutarlı.

2026 İtibarıyla Yeni Schema Tipleri

Schema.org sürekli evrim ediyor. 2024-2025’te eklenen:

  • HowTo — adım adım rehber içerikleri için
  • EducationalOccupationalCredential — eğitim/sertifika
  • GovernmentService — kamu hizmeti
  • InteractionCounter — sosyal etkileşim sayısı

Yıllık review yapın, yeni tipler ekleyin.

Schema Setup Hizmeti

Sıfırdan eksiksiz schema kurulumu için GEO/AI Search Audit içinde tam analiz var (5 gün, 7.500 TL).

Veya web tasarım/migration projesinde Web Tasarım hizmetimiz kapsamında tam schema setup dahil.

Ücretsiz strateji görüşmesi → mevcut sitenizin schema durumuna bakıp öneri yapalım.


İlgili yazılar:

Sıkça Sorulanlar

JSON-LD mi, microdata mı, RDFa mı kullanmalıyım? +
JSON-LD — Google, Schema.org ve AI tarayıcıları için en önerilen format. Microdata HTML içinde, RDFa daha karmaşık. JSON-LD <script type='application/ld+json'> bloğunda head'de, içerikten ayrı, temiz.
@graph kullanmalı mıyım yoksa ayrı blok'lar mı? +
@graph önerilir — tek JSON-LD bloğu içinde birden fazla entity'i @id referanslarıyla birbirine bağlar. Google ve AI'lar bunu daha iyi parse ediyor. Ayrı blok'lar da çalışır ama dağınık.
Person schema'sındaki 'knowsAbout' alanı ne işe yarıyor? +
AI'lara 'bu kişi hangi konularda uzman' sinyali. 'Google Ads', 'SEO', 'Migration' gibi 5-10 net konu listele. ChatGPT, Perplexity, Gemini bu alanı kişi-konu eşleştirmesinde kullanıyor. E-E-A-T'in (Experience, Expertise, Authoritativeness, Trustworthiness) Expertise sütununda.
FAQPage schema her sayfaya konabilir mi? +
Evet ve konulmalı. Her hizmet, paket, blog yazısı, kategori sayfasında 4-7 SSS olsun. Schema'da FAQPage olarak markup. Google Rich Results 'sıkça sorulanlar' aramalarda görünüyor — CTR %30-50 artıyor.
Schema markup eklemek SEO'ya doğrudan etki ediyor mu? +
Doğrudan ranking faktörü değil ama dolaylı etki çok yüksek. Rich Results (yıldız, fiyat, FAQ accordion) CTR'yi artırıyor. CTR yükselmesi → ranking artıyor. AI Overviews + AI citation için ise zorunlu. Schema'sız modern SEO yok.

Bu konu hakkında konuşalım mı?

30 dakikalık ücretsiz görüşmeyle ihtiyacınızı netleştirelim.

Form gönderdiğinizde KVKK kapsamında size dönüş yapabilmemiz için iletişim bilgilerinizi kullanmamıza izin vermiş olursunuz.

Schema.org markup (JSON-LD formatında) Google rich results, AI Overviews ve AI citation için kritik. 2026'da olmazsa olmaz schema'lar: Organization (her sayfada), Person (kurucu/yazar), WebSite (search action ile), WebPage (sayfa tipi bazlı), Service/Product (içerik bazlı), FAQPage (her hizmet sayfasında), BreadcrumbList (hiyerarşi). Schema.org @graph ile birleşik tek JSON-LD bloğu en iyi pratik.