Blog · 27 Ekim 2026
Yapılandırılmış Veri Nedir? Schema.org ve JSON-LD ile Zengin Sonuçlar
Yapılandırılmış veri, bir sayfadaki bilginin ne anlama geldiğini arama motorlarına standart bir biçimde anlatan koddur. Örneğin bir sayfadaki "1.250 TL" ifadesinin bir ürünün fiyatı, "4,7" ifadesinin ortalama değerlendirme puanı olduğunu makinenin okuyabileceği şekilde belirtir. Google bu işaretlemeyi sayfayı daha iyi anlamak ve uygun olduğunda arama sonuçlarında yıldız, fiyat, breadcrumb gibi ek bilgiler içeren zengin sonuçlar göstermek için kullanır.
Bu rehberde yapılandırılmış verinin nasıl çalıştığını, schema.org sözlüğünü, üç işaretleme biçimi arasındaki farkı, en çok kullanılan türleri, doğrulama araçlarını ve sitelerin en sık düştüğü hataları uygulamalı örneklerle anlatıyoruz.
Yapılandırılmış veri neden gerekli?
Bir insan bir ürün sayfasına baktığında başlığın ürün adı, büyük puntolu rakamın fiyat, yıldızların müşteri puanı olduğunu hemen anlar. Arama motoru ise sayfayı HTML kodu ve metin olarak okur. Gelişmiş dil anlama yeteneklerine rağmen, hangi sayının fiyat, hangi tarihin yayın tarihi, hangi adresin işletmenin adresi olduğunu kesin olarak bilmesi her zaman mümkün değildir. Yapılandırılmış veri bu belirsizliği ortadan kaldırır.
Pratik faydaları şöyle özetlenebilir:
- Zengin sonuç uygunluğu: Ürün fiyatı ve stok durumu, değerlendirme yıldızları, breadcrumb yolu, etkinlik tarihi gibi öğeler yalnızca uygun işaretleme olduğunda gösterilebilir.
- Varlık anlama: Organization ve LocalBusiness işaretlemesi, Google'ın işletmenizi, logonuzu, iletişim bilgilerinizi ve sosyal profillerinizi tek bir varlık olarak ilişkilendirmesine yardım eder.
- Tıklama oranı: Zengin sonuçlar standart sonuçlara göre daha fazla alan kaplar ve daha fazla bilgi sunar. Bu da aynı pozisyonda daha yüksek tıklama oranı elde etme ihtimalini artırır. Tıklama oranını nasıl ölçeceğinizi CTR rehberimizde anlattık.
- Yapay zekâ destekli arama: Google'ın AI özetleri, ChatGPT, Gemini ve Perplexity gibi asistanlar sayfa içeriğini yorumlarken net ve tutarlı bilgiye ihtiyaç duyar. Yapılandırılmış verinin bu sistemlerdeki rolü resmi olarak ayrıntılandırılmasa da, açık ve tutarlı veri sunmak sayfanın doğru anlaşılmasına katkı sağlar.
Önemli bir not: Yapılandırılmış veri doğrudan bir sıralama faktörü olarak tanımlanmaz. Kötü bir sayfayı işaretleme ile üst sıralara taşıyamazsınız. Değeri, zaten iyi olan bir sayfanın arama sonuçlarında daha anlaşılır ve daha dikkat çekici görünmesini sağlamasındadır.
Schema.org nedir?
Schema.org, Google, Microsoft, Yahoo ve Yandex tarafından ortaklaşa başlatılan, yapılandırılmış veri için ortak bir sözlüktür. Bu sözlük, web'de anlatılabilecek şeyleri türler (type) ve bu türlerin özellikleri (property) olarak tanımlar.
Türler bir hiyerarşi içinde düzenlenmiştir. En üstte Thing (şey) bulunur; altında Organization, Person, Place, Product, CreativeWork, Event gibi geniş türler yer alır. Bunların da alt türleri vardır: LocalBusiness hem Organization hem de Place türünden özellik alır; Dentist ya da Restaurant ise LocalBusiness altındaki daha özel türlerdir. Alt tür, üst türün tüm özelliklerini miras alır.
Her türün kullanabileceği özellikler sözlükte listelenir. Örneğin Product türü için name, image, description, brand, offers ve aggregateRating gibi özellikler kullanılabilir. Bir özelliğin değeri basit bir metin olabileceği gibi başka bir tür de olabilir: offers özelliğinin değeri, kendi içinde fiyat ve para birimi barındıran bir Offer nesnesidir.
Schema.org ile Google gereksinimleri aynı şey değildir
Schema.org sözlüğü yüzlerce tür ve özellik içerir, ancak Google bunların yalnızca bir kısmını zengin sonuçlar için destekler. Ayrıca Google, desteklediği her zengin sonuç türü için hangi özelliklerin zorunlu, hangilerinin önerilen olduğunu kendi geliştirici belgelerinde ayrıca belirtir. Schema.org açısından geçerli olan bir işaretleme, Google'ın zengin sonuç gereksinimlerini karşılamayabilir. Bu yüzden işaretleme yazarken iki kaynağa birlikte bakmak gerekir: türlerin ve özelliklerin tanımı için schema.org, zengin sonuç uygunluğu için Google Arama Merkezi belgeleri.
JSON-LD, Microdata ve RDFa: Hangi biçimi kullanmalı?
Schema.org sözlüğü üç farklı sözdizimiyle sayfaya eklenebilir. Üçü de Google tarafından desteklenir, ancak Google mümkün olduğunda JSON-LD kullanılmasını önerir.
| Biçim | Nasıl eklenir? | Artısı | Eksisi |
|---|---|---|---|
| JSON-LD | Sayfaya ayrı bir script bloğu olarak eklenir | HTML'den bağımsızdır, okunması ve bakımı kolaydır, dinamik olarak üretilebilir | Görünen içerikle senkron tutulmazsa veri ile sayfa arasında tutarsızlık oluşabilir |
| Microdata | Mevcut HTML etiketlerine itemscope, itemtype, itemprop nitelikleri eklenir | İşaretleme görünen içeriğin üzerinde durduğu için tutarsızlık riski düşüktür | Şablon değişikliklerinde kolayca bozulur, iç içe yapılarda karmaşıklaşır |
| RDFa | HTML etiketlerine vocab, typeof, property nitelikleri eklenir | Farklı sözlüklerle birlikte kullanılabilir | Microdata ile benzer bakım zorlukları vardır, yaygınlığı daha düşüktür |
Yeni bir projede JSON-LD tercih etmemek için güçlü bir neden yoktur. Tüm işaretleme tek bir blokta durur, tasarım ekibi HTML'i değiştirdiğinde işaretleme bozulmaz ve içerik yönetim sisteminden gelen verilerle otomatik olarak üretilebilir. Aynı sayfada birden fazla JSON-LD bloğu bulunabilir; örneğin bir blok Organization, diğeri BreadcrumbList için kullanılabilir.
Basit bir JSON-LD örneği
Aşağıdaki örnek, bir blog yazısı için Article işaretlemesidir. Bu blok genellikle sayfanın head bölümüne ya da body içinde herhangi bir yere eklenir:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Yapılandırılmış Veri Nedir?",
"image": ["https://www.ornek.com/gorseller/kapak.jpg"],
"datePublished": "2026-10-27T09:00:00+03:00",
"dateModified": "2026-10-27T09:00:00+03:00",
"author": {
"@type": "Person",
"name": "Ayşe Yılmaz",
"url": "https://www.ornek.com/yazarlar/ayse-yilmaz"
},
"publisher": {
"@type": "Organization",
"name": "Örnek Yayın",
"logo": {
"@type": "ImageObject",
"url": "https://www.ornek.com/logo.png"
}
}
}
</script>
Bu örnekte dikkat edilmesi gerekenler:
@contextsözlüğün schema.org olduğunu,@typeise neyin tanımlandığını belirtir.authorvepublisherözellikleri düz metin değil, kendi türüne sahip iç içe nesnelerdir.- Tarihler saat dilimiyle birlikte ISO 8601 biçiminde yazılmıştır. Türkiye için saat dilimi
+03:00olarak belirtilir. - URL'ler tam ve mutlak adreslerdir; göreli yol kullanılmamıştır.
- Başlık, yazar adı ve tarih sayfada görünen bilgilerle birebir aynı olmalıdır.
En yaygın yapılandırılmış veri türleri
Her sitenin her türe ihtiyacı yoktur. Hangi türü kullanacağınızı sayfanın gerçekte ne olduğu belirler. Aşağıdaki tablo, Türkiye'deki çoğu site için öncelikli türleri ve tipik kullanım yerlerini özetler.
| Tür | Nerede kullanılır? | Öne çıkan özellikler |
|---|---|---|
| Organization | Ana sayfa veya hakkımızda sayfası | name, url, logo, sameAs, contactPoint |
| LocalBusiness | Fiziksel adresi olan işletmelerin ana sayfası veya şube sayfaları | address, telephone, openingHoursSpecification, geo, priceRange |
| Product | E-ticaret ürün detay sayfaları | name, image, offers (price, priceCurrency, availability), brand, sku |
| Article / BlogPosting | Blog yazıları ve haber içerikleri | headline, image, datePublished, dateModified, author |
| BreadcrumbList | Kategori yapısı olan her sayfa | itemListElement (position, name, item) |
| FAQPage | Soru-cevap içeren sayfalar | mainEntity (Question, acceptedAnswer) |
| Review / AggregateRating | Ürün, hizmet veya işletme değerlendirmeleri | ratingValue, reviewCount, author |
Organization ve LocalBusiness
Organization, işletmenizin kim olduğunu tanımlar. sameAs özelliğinde resmi sosyal medya profillerinizi listelemek, bu profillerin aynı varlığa ait olduğunu belirtir. Fiziksel bir mağazanız, ofisiniz veya kliniğiniz varsa LocalBusiness ya da onun daha özel bir alt türü (Dentist, Restaurant, AutoRepair gibi) daha uygundur. Adres, telefon ve çalışma saatleri bilgisinin Google İşletme Profilinizdeki bilgilerle tutarlı olması önemlidir. Birden fazla şubeniz varsa her şube sayfasına kendi adresiyle ayrı bir LocalBusiness işaretlemesi ekleyin.
Product
E-ticaret siteleri için en değerli türdür. Fiyat, para birimi ve stok durumu offers içinde verilir. Fiyat sayfada değiştiğinde işaretlemenin de aynı anda güncellenmesi gerekir; bu yüzden Product işaretlemesini elle yazmak yerine ürün verisinden otomatik üretmek esastır. Ürün yorumlarınız sitede gerçekten görünüyorsa aggregateRating ve review özellikleri eklenebilir.
Article ve BlogPosting
Haber ve blog içerikleri için kullanılır. Article türü zorunlu bir zengin sonuç sunmasa da, Google'ın başlığı, yayın tarihini, görseli ve yazarı doğru anlamasına yardımcı olur. dateModified değerini yalnızca içerikte anlamlı bir güncelleme yaptığınızda değiştirin; içeriğe dokunmadan tarihi yenilemek yanıltıcıdır.
BreadcrumbList
Sayfanın site hiyerarşisindeki yerini gösterir. Uygulaması en kolay ve neredeyse her siteye uygun türlerden biridir. Her öğenin position numarası ve name değeri sayfada görünen breadcrumb ile aynı olmalıdır. Site mimarisinin aramada nasıl göründüğü konusunu teknik SEO rehberimizde daha geniş ele aldık.
FAQPage ve HowTo hakkında güncel durum
Bir dönem çok yaygın kullanılan SSS (FAQ) ve nasıl yapılır (HowTo) zengin sonuçları, Google tarafından ciddi biçimde kısıtlandı. SSS zengin sonuçları artık yalnızca sınırlı sayıda, genellikle resmi ve yetkili kabul edilen sitelerde gösteriliyor; HowTo zengin sonuçları ise büyük ölçüde kaldırıldı. Bu nedenle bu türleri yalnızca zengin sonuç elde etmek amacıyla eklemek bugün gerçekçi bir beklenti değildir. FAQPage işaretlemesi içeriği doğru tanımladığı sürece sayfada kalabilir ve zarar vermez, ancak öncelik listenizin üst sıralarına koymayın.
Review ve AggregateRating
Değerlendirme yıldızları en dikkat çekici zengin sonuçlardandır, bu yüzden en çok kötüye kullanılan alan da burasıdır. Google'ın yönergeleri, bir işletmenin kendi sitesinde kendisi hakkında topladığı yorumları (kendi kendine hizmet eden değerlendirmeler) LocalBusiness ve Organization için yıldız gösterimine uygun saymaz. Değerlendirme işaretlemesi; ürünler, kitaplar, tarifler, yazılım uygulamaları gibi desteklenen türlerde ve yorumlar sayfada gerçekten göründüğünde kullanılmalıdır.
Adım adım yapılandırılmış veri ekleme
- Sayfa türlerini listeleyin. Sitenizdeki şablonları çıkarın: ana sayfa, kategori, ürün, blog yazısı, iletişim, şube sayfası. İşaretleme sayfa sayfa değil, şablon şablon planlanır.
- Her şablona tür atayın. Ana sayfaya Organization veya LocalBusiness, ürün şablonuna Product ve BreadcrumbList, blog şablonuna Article ve BreadcrumbList gibi.
- Google belgelerinden zorunlu ve önerilen özellikleri kontrol edin. Zorunlu özellikler eksikse zengin sonuç uygunluğu kaybolur; önerilen özellikler ise uygunluğu güçlendirir.
- Veriyi kaynağından üretin. İşaretlemeyi şablon koduna veya içerik yönetim sistemine bağlayın, böylece fiyat, başlık ve tarih değiştiğinde otomatik güncellensin.
- Önce tek bir sayfada test edin. Zengin Sonuç Testi ile hata ve uyarıları kontrol edin, sonra tüm şablona yayın.
- Canlıya aldıktan sonra Search Console'u izleyin. İlgili geliştirme raporlarında geçerli öğe sayısının arttığını ve yeni hata oluşmadığını doğrulayın.
JSON-LD'yi Google Tag Manager ile eklemek mümkündür ve Google bu yolla eklenen işaretlemeyi de okuyabilir. Ancak bu yöntem JavaScript çalıştırılmasına bağlıdır ve sayfa içeriği ile işaretleme arasındaki bağı zayıflatır. Hızlı bir deneme için kullanışlı olabilir; kalıcı çözüm için işaretlemeyi doğrudan sayfa kaynağına eklemek daha güvenilirdir. Etiket yönetimi tarafını Google Tag Manager rehberimizde ayrıntılı anlattık.
Doğrulama araçları
Zengin Sonuç Testi
Google'ın Zengin Sonuç Testi, bir URL'yi veya kod parçasını analiz ederek sayfada hangi zengin sonuç türlerinin algılandığını, bunların uygun olup olmadığını ve hangi hataların ya da uyarıların bulunduğunu gösterir. Testi Googlebot gibi akıllı telefon tarayıcısıyla çalıştırır ve JavaScript ile eklenen işaretlemeyi de görür. Yalnızca Google'ın zengin sonuç olarak desteklediği türleri raporlar; desteklenmeyen bir türü eklediyseniz burada görünmemesi normaldir.
Schema Markup Validator
Schema.org tarafından sunulan Schema Markup Validator, işaretlemenin schema.org sözlüğüne göre sözdizimsel olarak doğru olup olmadığını kontrol eder. Google'a özgü zengin sonuç kurallarını değerlendirmez, ama Google'ın desteklemediği türler dahil tüm schema.org işaretlemesini gösterir. İki aracı birlikte kullanmak en sağlıklı yoldur: biri sözlüğe uygunluğu, diğeri zengin sonuç uygunluğunu denetler.
Search Console geliştirmeler raporları
Test araçları tek bir sayfaya bakar; Search Console ise sitenin tamamını gösterir. Google sitenizde desteklenen bir yapılandırılmış veri türü algıladığında, Search Console'da o türe ait bir rapor (örneğin breadcrumb, ürün snippet'leri, satıcı listeleri gibi) görünür. Bu raporlar geçerli ve geçersiz öğe sayılarını, hata türlerini ve etkilenen örnek URL'leri listeler. Bir hatayı düzelttikten sonra düzeltmeyi doğrulama talebinde bulunabilirsiniz. Raporların yeri ve okunması hakkında daha fazla bilgi için Google Search Console rehberimize bakabilirsiniz.
Ayrıca Performans raporunda arama görünümüne göre filtreleme yaparak zengin sonuç alan sayfaların tıklama oranını diğerleriyle karşılaştırabilirsiniz. SEO Analytics gibi Search Console verisini bağlayan bir panel kullanıyorsanız, işaretleme eklediğiniz sayfaların öncesi ve sonrası CTR değişimini düşük CTR raporlarıyla birlikte izlemek kolaylaşır.
Sık yapılan hatalar
- Sayfada görünmeyen içeriği işaretlemek: En temel kuraldır. İşaretlemede yer alan her bilgi, kullanıcının sayfada görebildiği içerikte de bulunmalıdır. Sayfada olmayan yorumları, fiyatları veya soruları işaretlemeye eklemek yönergelere aykırıdır ve manuel işleme yol açabilir.
- Yanlış tür seçmek: Hizmet sayfasına Product, kategori sayfasına tek bir ürünmüş gibi Product işaretlemesi eklemek yaygın bir hatadır. Tür, sayfanın gerçek ana konusunu yansıtmalıdır.
- Güncel olmayan veri: Fiyatı değişen ama işaretlemesi eski fiyatı gösteren ürünler, kaldırılmış etkinlikler, kapanmış şubeler. Elle yazılmış statik JSON-LD bu sorunun en büyük kaynağıdır.
- Zorunlu özelliklerin eksik olması: Product için fiyat veya para birimi, Article için başlık eksik olduğunda zengin sonuç uygunluğu kaybolur.
- Biçim hataları: Eksik virgül, kapanmamış süslü parantez, tarih yerine serbest metin, para birimi kodu yerine "TL" yazmak (doğrusu
TRY), sayı alanına binlik ayırıcı eklemek. - Kendi hakkında yıldız toplamak: İşletmenin kendi sitesinde kendisine verdiği yıldızları LocalBusiness işaretlemesine eklemek, yıldız gösterimi için uygun kabul edilmez.
- Çakışan işaretlemeler: Tema, eklenti ve elle eklenen kodun aynı sayfada birbiriyle çelişen birden fazla Organization veya Product bloğu üretmesi. Sayfa kaynağını kontrol edip tek ve tutarlı bir yapı bırakın.
- Bütün sitede aynı işaretleme: Her sayfaya ana sayfanın LocalBusiness işaretlemesini kopyalamak bilgi katmaz; sayfaya özgü işaretlemeyi öne çıkarın.
Zengin sonuç garanti değildir
Hatasız ve yönergelere uygun bir işaretleme, zengin sonuç gösterilmesini garanti etmez. Google, zengin sonucun ne zaman gösterileceğine sorguya, cihaza, konuma, sayfanın kalitesine ve sonuç sayfasındaki diğer öğelere göre kendisi karar verir. Aynı sayfa bir sorguda zengin sonuçla, başka bir sorguda standart sonuçla görünebilir. Zengin Sonuç Testi'nde "uygun" ifadesini görmek, sayfanın teknik olarak hazır olduğu anlamına gelir; gösterim kararı yine Google'dadır.
Bu nedenle yapılandırılmış veriyi bir kısayol gibi değil, sayfanın kalitesini makinelere doğru aktaran bir altyapı olarak görün. İçerik zayıfsa, sayfa yavaşsa veya site güven vermiyorsa işaretleme tek başına fark yaratmaz.
Yapılandırılmış veri kontrol listesi
- Sitedeki sayfa şablonlarını listeledim ve her birine uygun türü atadım.
- İşaretlemeyi JSON-LD biçiminde ekledim.
- Google belgelerindeki zorunlu özelliklerin tamamını, önerilen özelliklerin mümkün olanlarını doldurdum.
- İşaretlemedeki her bilginin sayfada görünür olduğunu kontrol ettim.
- Fiyat, stok, tarih gibi değişken veriler kaynaktan otomatik üretiliyor.
- URL'ler mutlak, tarihler saat dilimli ISO 8601 biçiminde, para birimi ISO kodu ile yazıldı.
- Örnek sayfaları Zengin Sonuç Testi ve Schema Markup Validator ile doğruladım.
- Aynı sayfada çakışan veya tekrarlanan işaretleme bırakmadım.
- FAQ ve HowTo işaretlemesinden zengin sonuç beklentisi kurmadım.
- Canlıya aldıktan sonra Search Console geliştirmeler raporlarını ve ilgili sayfaların CTR değişimini takvime ekledim.
Sık sorulan sorular
Yapılandırılmış veri sıralamayı yükseltir mi?
Yapılandırılmış veri doğrudan bir sıralama faktörü olarak tanımlanmaz. Sayfanın daha iyi anlaşılmasına ve zengin sonuçlara uygun olmasına yardımcı olur; bu da tıklama oranını artırarak dolaylı olarak trafiğe katkı sağlayabilir.
JSON-LD sayfanın neresine eklenmeli?
JSON-LD bloğu head bölümüne ya da body içinde herhangi bir yere eklenebilir; Google iki konumu da okur. Önemli olan, bloğun sayfa yüklendiğinde mevcut olması ve içerdiği bilgilerin sayfada görünen içerikle tutarlı olmasıdır.
İşaretleme ekledim ama zengin sonuç çıkmıyor, neden?
Önce sayfanın yeniden tarandığından ve Zengin Sonuç Testi'nde hata olmadığından emin olun. Ardından Search Console geliştirmeler raporlarını kontrol edin. Her şey doğruysa beklemek gerekir; Google zengin sonucu her sorguda ve her sayfa için göstermeyi garanti etmez.
Bir sayfaya birden fazla tür eklenebilir mi?
Evet. Bir ürün sayfasında Product ve BreadcrumbList, bir blog yazısında Article ve BreadcrumbList birlikte kullanılabilir. Önemli olan her türün sayfanın gerçek içeriğini tanımlaması ve aynı varlık için çelişen birden fazla blok bulunmamasıdır.