İç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ımlaurl: Tam URL, sonunda/olmadanlogo: En az 112×112 piksel, PNG veya SVG, mutlak URLsameAs: Aynı markanın sosyal medya hesapları (LinkedIn, X, Facebook, Instagram)sameAsalanı ö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)datePublishedvedateModified: ISO 8601 formatında, saat dilimiyle birlikteimage: En az 1200 piksel genişlikauthor: Mutlaka bir@type("Person" veya "Organization") olmalımainEntityOfPage: Yazının kanonik URL'idateModifiedalanı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:
- Sayfa içeriği değiştiğinde: Yeni SSS eklediyseniz şemaya da ekleyin
- Tarih güncellendiğinde:
dateModifiedalanını yenileyin - 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:
- Ana sayfanıza
Organizationşeması ekleyin (15 dakika) - Bir blog yazınıza
BlogPostingşeması ekleyin (10 dakika) - 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ızaProductş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.
Seval Ekinci
27 yaşındayım, Okan Üniversitesi Bilişim Sistemleri ve Teknolojileri mezunuyum. Yapay zeka uygulamaları üzerine araştırmalar yapıyorum.