Çoğu sitede yapısal veri, sayfaya serpiştirilmiş bağımsız şema bloklarından oluşur: bir yerde Organization, başka yerde Article, bir başka yerde BreadcrumbList — birbirinden habersiz. Bu rehberde, tüm şemaları tek bir @graph içinde birbirine bağlayan, denetimlerde “altın standart” kabul edilen mimariyi kod örnekleriyle anlatıyoruz.
Neden @graph mimarisi?
Google, sayfadaki varlıkları (sayfa, içerik, yayıncı, yazar) ve aralarındaki ilişkileri anlamaya çalışır. Bağımsız şema blokları bu ilişkiyi belirsiz bırakır; hatta aynı kuruluşun iki kez, farklı biçimlerde tanımlanmasına yol açar. @graph + @id referans yaklaşımı üç şey kazandırır:
- Tek tanım, çok referans: Organization bir kez tanımlanır; Article'ın
publisher'ı, WebPage'inpublisher'ı aynı@id'ye işaret eder. - Hiyerarşi: İçerik, sayfanın; sayfa, sitenin parçası olarak beyan edilir — arama motoru sayfa tipini net anlar.
- Bakım kolaylığı: Marka bilgisi tek noktadan güncellenir; çelişen kopyalar oluşmaz.
Katmanlar: hangi şema nerede?
| Sayfa tipi | Ana şema | İçine yerleşenler |
|---|---|---|
| Ana sayfa | WebPage | WebSite (yalnızca burada), Organization, BreadcrumbList |
| İçerik / makale | WebPage | Article / BlogPosting (mainContentOfPage), yazar Person, BreadcrumbList |
| Kategori / liste | CollectionPage | ItemList (mainEntity), BreadcrumbList |
Kural: WebSite şemasını yalnızca ana sayfada kullanın. Kategori sayfalarında CollectionPage + ItemList ikilisini tercih edin ve ItemList öğelerinde name alanını asla boş bırakmayın — boş alanlar doğrulama hatası üretir ve zengin sonuç şansınızı düşürür.
Uygulamalı örnek: makale sayfası
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://www.site.com/#organization",
"name": "Marka Adı",
"logo": {
"@type": "ImageObject",
"url": "https://www.site.com/logo-1200.png",
"width": 1200, "height": 1200
},
"sameAs": [
"https://www.linkedin.com/company/marka",
"https://x.com/marka"
]
},
{
"@type": "Person",
"@id": "https://www.site.com/#yazar-ad",
"name": "Yazar Adı",
"jobTitle": "SEO Direktörü",
"url": "https://www.site.com/yazarlar/yazar-ad/"
},
{
"@type": "WebPage",
"@id": "https://www.site.com/blog/ornek/#webpage",
"url": "https://www.site.com/blog/ornek/",
"name": "Sayfa başlığı",
"isPartOf": { "@id": "https://www.site.com/#website" },
"publisher": { "@id": "https://www.site.com/#organization" },
"breadcrumb": {
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Ana Sayfa",
"item": "https://www.site.com/" },
{ "@type": "ListItem", "position": 2, "name": "Blog",
"item": "https://www.site.com/blog/" },
{ "@type": "ListItem", "position": 3, "name": "Örnek Yazı" }
]
},
"mainContentOfPage": { "@id": "https://www.site.com/blog/ornek/#article" }
},
{
"@type": "BlogPosting",
"@id": "https://www.site.com/blog/ornek/#article",
"headline": "Makale başlığı",
"image": [
"https://www.site.com/gorsel-16x9.jpg",
"https://www.site.com/gorsel-1x1.jpg"
],
"datePublished": "2026-08-10T09:00:00+03:00",
"dateModified": "2026-08-29T09:00:00+03:00",
"author": { "@id": "https://www.site.com/#yazar-ad" },
"publisher": { "@id": "https://www.site.com/#organization" }
}
]
}
Denetimlerde en sık yakalanan incelikler
- Boş alan yayınlamayın. Dolduramadığınız özelliği (telefon, açıklama, name) hiç yazmayın; boş string doğrulama hatasıdır.
- Beyan gerçeği yansıtsın. Şemada 1200px dediğiniz görsel gerçekten 1200px olsun; olmayan ödül, üyelik veya inceleme beyan etmeyin.
- Görselleri iki oranda verin. Article görselini hem 16:9 hem 1:1 sunun; AI yüzeyleri ve Discover farklı oranları tercih ediyor.
- Publisher adı marka adıdır.
"name": "www.site.com"değil,"name": "Marka". - Breadcrumb tam yol olsun. Mevcut sayfa dahil tüm seviyeler; son öğede
itemvermek zorunlu değildir. - Yazar bir Person olsun. Metin değil; unvan, profil sayfası ve
sameAsile desteklenmiş gerçek bir varlık. - Tarihler tutarlı olsun. Sayfada görünen tarih, şemadaki tarih ve sitemap
lastmodaynı gerçeği anlatsın.
Test ve izleme
- Yayın öncesi: Schema.org Validator ile sözdizimi, Zengin Sonuç Testi ile uygunluk kontrolü.
- Yayın sonrası: Search Console → Zengin sonuçlar raporlarında hata/uyarı takibi.
- Her şablon değişikliğinde regresyon testi — yapısal veri, sessizce kırılan altyapıların başında gelir.
Kendi sayfalarınız için hazır @graph iskeleti üretmek isterseniz Schema Oluşturucu aracımızı kullanabilirsiniz.
Sık sorulan sorular
Microdata mı JSON-LD mi?
JSON-LD. Google'ın önerdiği format; HTML'den bağımsız yönetilir, hata riski düşüktür ve @graph mimarisine izin verir.
Yapısal veri sıralamayı doğrudan etkiler mi?
Doğrudan bir sıralama faktörü değildir; ancak zengin sonuç uygunluğu, varlık netliği ve AI yüzeylerinde doğru anlaşılma yoluyla görünürlüğü belirgin biçimde etkiler.