
Schema markup, bir HTML sayfasına eklenen ve içeriğin ne olduğunu arama motorlarına ve yapay zeka modellerine düz metinden çok daha net anlatan yapısal veridir. En yaygın yöntem <script type="application/ld+json"> etiketiyle sayfaya JSON-LD kodu eklemektir; bu kod, sayfanın bir makale mi, ürün mü, SSS mi yoksa kurumsal bir marka sayfası mı olduğunu makinelere açıkça söyler. Bu rehberde üç temel şemayı — Article, FAQPage ve Organization — gerçek JSON-LD örnekleriyle adım adım nasıl ekleyeceğinizi anlatıyoruz. Bu konu, SEO & GEO optimizasyonu çalışmalarımızın teknik ayağının doğrudan bir parçası.
Schema Markup (Yapısal Veri) Nedir?
Schema.org, Google, Bing, Yahoo ve Yandex'in birlikte kurduğu ortak bir sözlük (vocabulary). Bu sözlükteki tipleri (Article, Product, FAQPage, Organization, Person, Event vb.) kullanarak sayfanızdaki bilgiyi standart bir formatta etiketlersiniz. Arama motoru, sayfanızı taramak için artık metni yorumlamak zorunda kalmaz; "bu bir makale, yazarı bu, yayın tarihi bu" bilgisini doğrudan yapısal veriden okur.
Üç yaygın işaretleme yöntemi var: JSON-LD, Microdata ve RDFa. Google resmi olarak JSON-LD'yi öneriyor; çünkü sayfanın görünür HTML'inden ayrı, tek bir script bloğu olarak eklenir — mevcut tasarımı bozmaz, bakımı kolaydır. Bu yazıdaki tüm örnekler JSON-LD formatında.
Neden Önemli? Google'dan Öte, Yapay Zeka Aramaları da Var
Schema markup uzun süredir "zengin sonuç" (rich result) kazanmak için kullanılıyordu: yıldızlı puanlar, SSS açılır listeleri, tarif kartları gibi. Bu hâlâ geçerli — doğru işaretlenmiş bir sayfa, aynı sıralamada bile arama sonuçlarında daha fazla yer kaplayıp daha çok tıklama alabiliyor. Ama son dönemde önemi başka bir sebepten büyüdü. ChatGPT, Perplexity ve Google AI Overviews gibi üretken arama motorları, bir sayfayı yanıtlarına kaynak gösterirken yapısal veriden büyük ölçüde faydalanıyor — çünkü yapısal veri, modelin metni yeniden yorumlamasına gerek kalmadan "bu bilginin ne olduğunu" doğrudan veriyor.
GEO'nun temel kurallarını uygularken schema markup, içeriğinizin makineler tarafından doğru sınıflandırılmasını sağlayan altyapısal bir adım. İyi yazılmış bir içerik bile, doğru işaretlenmemişse yapay zeka modelinin "bu güvenilir bir kaynak mı, yoksa alakasız bir sayfa mı" ayrımını yapmasını zorlaştırabilir.
Somut bir fark şu: aynı konuda yazılmış iki makaleden biri yalnızca düz HTML, diğeri Article + FAQPage şemasıyla işaretlenmişse, model ikincisinden doğrudan alıntı yapmayı çok daha kolay buluyor — çünkü yazar, yayın tarihi ve soru-cevap yapısı zaten ayrıştırılmış hâlde önüne geliyor. Şemasız sayfa da yanıtta yer alabilir, ama modelin ekstra çıkarım yapması gerekir; bu da onu ikinci sıraya iter.
Hangi Sayfa Hangi Şemayı Kullanmalı?
Her sayfa tipi için doğru schema türünü seçmek, gereksiz alan doldurmaktan daha önemli. Pratik bir eşleştirme rehberi:
Blog yazısı / makale: Article veya BlogPosting — bu yazıda ayrıntılı işlediğimiz tip.
SSS içeren herhangi bir sayfa: FAQPage — yalnızca blog yazılarına özgü değil, hizmet ya da ürün sayfalarındaki SSS bölümleri için de kullanılabilir.
Ana sayfa / kurumsal kimlik: Organization — genelde sitede bir kez, site genelinde geçerli olacak şekilde eklenir.
Ürün sayfası: Product, fiyat ve stok bilgisiyle birlikte offers alt tipiyle kullanılır.
Yorum/puanlama içeren sayfa: Review veya AggregateRating — yıldız puanı zengin sonucunu tetikler.
Sayfa hiyerarşisi (breadcrumb): BreadcrumbList — kullanıcının sitede nerede olduğunu hem arama sonucunda hem de yapay zeka yanıtında netleştirir. Bu makalenin bulunduğu sayfada da diğer şemalarla birlikte otomatik olarak üretiliyor.
Bir sayfada bu tiplerden birden fazlası aynı anda kullanılabilir — nitekim bu makalenin bulunduğu sayfa da Article, FAQPage ve BreadcrumbList şemalarını aynı anda, tek bir @graph içinde yayınlıyor.
JSON-LD ile Schema Markup Nasıl Eklenir? Adım Adım
Sayfa tipini belirleyin. Bir blog yazısı için Article/BlogPosting, SSS içeren bir sayfa için FAQPage, kurumsal ana sayfa için Organization uygundur. Bir sayfada birden fazla tip aynı anda kullanılabilir.
Doğru alanları (property) doldurun. Her schema tipinin zorunlu ve önerilen alanları vardır (headline, author, datePublished gibi). Aşağıdaki örneklerden kendi bilgilerinizle doldurun.
JSON-LD kodunu
<script type="application/ld+json">etiketine sarın ve sayfanın HTML'ine (genelde<head>içine ya da sayfa gövdesinin başına) ekleyin.Google Rich Results Test ile doğrulayın. Hatalı alan varsa araç size tam olarak hangi satırda sorun olduğunu gösterir.
Google Search Console'da izleyin. "Zengin Sonuçlar" raporundan hangi sayfalarda hangi şemanın tanındığını ve hata verip vermediğini takip edebilirsiniz.
Article (BlogPosting) Şeması Nasıl Eklenir?
Bir blog yazısını işaretlerken en sık kullanılan tip Article ya da onun daha spesifik alt tipi BlogPosting'dir. Aşağıdaki örnek, minimum önerilen alanları içerir:
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Yazınızın başlığı",
"description": "Yazınızın kısa özeti",
"image": "https://siteniz.com/kapak-gorseli.jpg",
"author": {
"@type": "Person",
"name": "Yazar Adı"
},
"publisher": {
"@type": "Organization",
"name": "Marka Adınız",
"logo": {
"@type": "ImageObject",
"url": "https://siteniz.com/logo.png"
}
},
"datePublished": "2026-08-01T09:00:00+03:00",
"dateModified": "2026-08-05T14:30:00+03:00"
}Dikkat edilmesi gereken üç nokta var: headline 110 karakteri geçmemeli (Google bu sınırı resmi olarak belirtiyor), datePublished/dateModified ISO 8601 formatında olmalı ve image alanı gerçekten erişilebilir bir görsel URL'i olmalı — kırık bir görsel bağlantısı doğrulamayı geçse bile zengin sonucu düşürür.
FAQPage Şeması Nasıl Eklenir?
Sayfanızda gerçek bir soru-cevap bölümü varsa (yalnızca "SSS gibi görünen ama aslında liste olan" bir bölüm değil) FAQPage şeması ekleyebilirsiniz:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Schema markup eklemek ücretli mi?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Hayır, schema.org sözlüğü ve JSON-LD formatı tamamen ücretsizdir; ekstra bir lisans ya da araç gerekmez."
}
},
{
"@type": "Question",
"name": "Bir sayfada kaç soru olmalı?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Sabit bir kural yok; sayfadaki gerçek SSS içeriğiyle birebir eşleşmesi önemli. Google, sayfada görünmeyen soruları şemaya eklemeyi manipülatif kullanım sayıyor."
}
}
]
}Buradaki en kritik kural: şemadaki her soru-cevap, sayfada kullanıcının gerçekten görebileceği bir metinle birebir eşleşmeli. Google, yalnızca arama sonucunu şişirmek için sayfada olmayan soruları şemaya eklemeyi kötüye kullanım (spam) olarak değerlendiriyor ve zengin sonuç kazanımını iptal edebiliyor.
Organization Şeması Nasıl Eklenir?
Bu şema genelde ana sayfaya ya da site genelinde tek bir yerde eklenir; markanızın kimliğini makinelere tanıtır:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Marka Adınız",
"url": "https://siteniz.com",
"logo": "https://siteniz.com/logo.png",
"sameAs": [
"https://www.linkedin.com/company/markaniz",
"https://x.com/markaniz",
"https://www.instagram.com/markaniz"
]
}sameAs alanı küçük görünse de etkisi büyük: markanızın LinkedIn, X, Instagram gibi diğer resmi hesaplarına bağlantı vererek, arama motoruna ve yapay zeka modellerine "bu farklı platformlardaki hesaplar aynı gerçek kuruma ait" bilgisini veriyor. Bu, GEO açısından bir tür kimlik doğrulaması işlevi görüyor — model, markanızdan bahsedilen farklı kaynakları birbirine bağlayabiliyor.
CMS'inize Göre Schema Markup Nasıl Eklenir?
Yukarıdaki JSON-LD kodları her platformda geçerli, ama ekleme yöntemi kullandığınız altyapıya göre değişiyor:
WordPress: Yoast SEO veya Rank Math gibi eklentiler Article ve Organization şemasını genelde otomatik üretir; FAQPage için ise eklentinin kendi "SSS bloğu" özelliğini kullanmanız gerekir — sayfaya düz metin olarak yazdığınız sorular şemaya otomatik yansımaz.
Shopify / Wix gibi kapalı platformlar: Tema ayarlarında "özel kod" veya "head kodu" alanına script etiketini elle ekleyebilirsiniz; bazı temalar Product şemasını zaten varsayılan olarak sağlar.
Özel geliştirilmiş siteler (Next.js, Laravel, vb.): Genelde bir geliştirici, ilgili verideki alanlardan (başlık, yazar, tarih, SSS) JSON-LD nesnesini programatik olarak üretip sayfaya bir script etiketi olarak basar. Bu, elle kopyala-yapıştırdan daha güvenlidir çünkü veriler her zaman güncel kalır.
Vizenith'te Bunu Nasıl Otomatikleştirdik?
Bu makaleyi okuduğunuz sayfanın kaynağına bakarsanız, tam olarak yukarıda anlattığımız şemalardan üçünü canlı olarak görürsünüz: BlogPosting, (sayfada SSS varsa) FAQPage ve BreadcrumbList, aynı @graph dizisi içinde birlikte yayınlanıyor. Bunu her yazı için elle yazmıyoruz — makale başlığı, özeti, yayın tarihi ve SSS alanları admin panelden doldurulduğunda, JSON-LD otomatik olarak üretiliyor. Yazar bir kişiye atanmışsa şema da otomatik olarak Person tipine, atanmamışsa kurum adına (Organization) döner; hangi hizmetle ilgili olduğunu belirttiğimiz yazılarda ise şema, o hizmet sayfasına about alanıyla referans veriyor.
Yani editör ekibimiz hiçbir zaman schema kodu yazmıyor, sadece içerik alanlarını dolduruyor; şemayı sistemin kendisi kuruyor. Küçük/orta ölçekli bir site için önerimiz de bu yöndedir: schema markup'ı her yazıda elle kopyala-yapıştır yapmak yerine, şablon seviyesinde bir kere kurup içerik alanlarından otomatik türetmek — hem hata payını azaltır hem de bir alanı unutma riskini ortadan kaldırır. Elle yönetilen şemalarda en sık gördüğümüz sorun, bir yazı güncellendiğinde dateModified alanının unutulup eski tarihte kalmasıdır; otomatik üretimde bu sorun kendiliğinden ortadan kalkıyor.
Schema Markup'ı Nasıl Test Edersiniz?
Google Rich Results Test: Sayfa URL'nizi ya da JSON-LD kodunu yapıştırın; hangi zengin sonuç tipinin tanındığını ve varsa hata/uyarıları anında görürsünüz.
Schema Markup Validator (validator.schema.org): Google'a özel olmayan, schema.org'un kendi doğrulama aracı; sözdizimi hatalarını yakalamak için faydalıdır.
Google Search Console — Zengin Sonuçlar raporu: Yayına aldıktan sonra, Google'ın sitenizdeki tüm sayfalarda şemayı gerçekten nasıl işlediğini zaman içinde buradan takip edebilirsiniz.
Sık Yapılan Hatalar
Sayfada olmayan içeriği şemaya eklemek: Özellikle FAQPage'de, kullanıcının göremediği soru-cevapları şemaya eklemek Google tarafından spam sayılabiliyor.
Birden fazla çelişkili şema: Aynı sayfada aynı tipte iki farklı JSON-LD bloğu, birbiriyle çelişen bilgiler taşıyorsa arama motoru hangisine güveneceğini bilemez.
Statik/bayat veri:
dateModifiedalanını içerik güncellenmesine rağmen hiç değiştirmemek, yapay zeka modellerine içeriğin güncelliği konusunda yanlış sinyal verir.Kırık görsel/URL alanları:
image,url,logogibi alanlarda gerçekte erişilemeyen bağlantılar bırakmak, doğrulamayı geçse bile zengin sonucun görünürlüğünü düşürür.Şablonu her sayfada elle kopyalamak: Onlarca sayfası olan bir sitede JSON-LD'yi tek tek elle güncellemek er ya da geç bir alanın (genelde tarih ya da yazar) eski kalmasına yol açar; mümkünse şemayı içerik alanlarından otomatik türetin.
Schema Markup ve E-E-A-T İlişkisi
Schema markup tek başına içeriğinizi güvenilir kılmaz; ama güvenilirlik sinyallerini makinelere okunabilir hale getirir. Örneğin author alanına gerçek bir yazar adı ve unvan eklemek, E-E-A-T Nedir? yazımızda anlattığımız "deneyim, uzmanlık, otorite, güvenilirlik" çerçevesinin teknik karşılığıdır. İçerik gerçekten uzman biri tarafından yazılmış olsa bile, bu bilgi şemada yoksa arama motoru ve yapay zeka modeli bunu kolayca fark edemeyebilir.
Kısaca
Schema markup eklemek, tek seferlik bir "kutu işaretleme" görevi değil; sitenizin makineler tarafından doğru okunmasını sağlayan sürekli bir altyapı çalışması. Article, FAQPage ve Organization üçlüsüyle başlamak, hem klasik arama sonuçlarında zengin görünüm kazanmanızı hem de yapay zeka aramalarında doğru şekilde temsil edilmenizi sağlar. Sitenizin teknik SEO ve GEO altyapısını uçtan uca kurmak isterseniz SEO & GEO optimizasyonu hizmetimize göz atabilirsiniz.
Sık Sorulan Sorular
chema markup eklemek SEO sıralamasını doğrudan yükseltir mi?
Hayır. Google, schema markup'ı doğrudan bir sıralama faktörü olarak kullanmadığını açıkça belirtiyor. Ama zengin sonuçlar (rich results) kazandırarak tıklama oranını artırır ve yapay zeka arama motorlarının içeriğinizi doğru yorumlamasını kolaylaştırır — dolaylı ama somut bir etki.
Schema markup eklemek için kod bilmem gerekir mi?
Temel düzeyde hayır. Bu yazıdaki JSON-LD örneklerini kendi bilgilerinizle doldurup sayfanıza yapıştırmanız yeterli. WordPress gibi CMS'lerde Yoast SEO veya RankMath gibi eklentiler bunu arayüzden de yapabiliyor; özel geliştirilmiş sitelerde ise genelde bir geliştiricinin script etiketini şablona eklemesi gerekir.
Hangi schema türüyle başlamalıyım?
Çoğu içerik sitesi için öncelik sırası şöyle: önce Organization (marka kimliğinizi tanımlar), sonra sayfa tipine göre Article/BlogPosting, ardından SSS içeren sayfalarda FAQPage. Bu üçü bir arada, sitenizin hem "kim olduğunuzu" hem "ne anlattığınızı" hem de "hangi soruları yanıtladığınızı" makinelere net şekilde anlatır.
Eklediğim schema markup'ın doğru çalıştığını nasıl anlarım?
Google'ın ücretsiz Rich Results Test aracına sayfa URL'nizi veya kodu yapıştırarak anlık doğrulama yapabilirsiniz. Hatalı ya da eksik alan varsa araç bunu satır satır gösterir; yayına almadan önce bu kontrolü atlamamak önemlidir.
