Kısa cevap
Yapılandırılmış veri (structured data) nedir?
Schema markup, bir sayfanın ne hakkında olduğunu makineye JSON-LD biçiminde söyleyen yapılandırılmış veridir. Kurumsal bir sitede sıralama nettir: önce Organization, sonra sayfa başına WebPage, hizmet sayfalarında Service, ürünlerde Product, yazılarda Article. Düğümler @id ile birbirine bağlandığında sayfalar tek bir varlık grafiği oluşturur. Kural tektir: işaretlemede yazan her şey sayfada da görünür olmalıdır.
Özet
- JSON-LD, Google'ın önerdiği biçimdir ve HTML'in içine gömülmek yerine script etiketiyle eklendiği için içerikten bağımsız bakım görür.
- Tek tek duran işaretleme blokları bir varlık oluşturmaz; düğümleri @id ile birbirine bağlamak, üç ayrı parçayı tek bir grafiğe çevirir.
- İşaretlemede yazıp sayfada göstermediğiniz her şey ihlaldir; bu kural, gizli iddiaların cezalandırıldığı yerdir.
- Google FAQ zengin sonuçlarını 14 Eylül 2023'te tanınmış, yetkili devlet ve sağlık siteleriyle sınırladı — SSS işaretlemesi hâlâ yazılmaya değer, ama zengin sonuç vaadi artık geçerli değil.
- İşaretleme doğrudan bir sıralama faktörü değildir; yaptığı iş, sayfanın neyle ilgili olduğunu belirsizlikten çıkarmaktır.
- Rich Results Test yalnızca Google'ın zengin sonuç ürettiği tipleri denetler; grafiğin tamamını görmek için Schema Markup Validator gerekir.
Schema markup nedir ve nereye eklenir?
Bir sayfayı okuyan insan, başlıktan ve düzenden bunun bir hizmet sayfası mı yoksa bir haber mi olduğunu anlar. Makine anlamaz; onun gördüğü etiketlenmemiş metindir. Schema markup, bu boşluğu kapatmak için sayfaya eklenen ve 'bu sayfa bir Kuruluşa ait, bir Hizmeti anlatıyor, şu adreste bulunuyor' diyen yapılandırılmış veridir.
Üç yazım biçimi var — JSON-LD, Microdata ve RDFa — ama pratikte tercih nettir. JSON-LD, sayfanın HTML'ine karışmadan bir script etiketi içinde durur; içerik değiştiğinde işaretleme kırılmaz, işaretleme değiştiğinde sayfa düzeni bozulmaz. Google da bu biçimi öneriyor. Microdata ile yazılmış eski bir siteyi yenilerken JSON-LD'ye taşımak, bakım maliyetini tek başına yarıya indirir.
Tek kural: işaretlemede yazan her şey sayfada da görünür olmalıdır. Sayfada olmayan bir fiyatı, olmayan bir puanı ya da olmayan bir adresi işaretlemeye yazmak yalnızca zengin sonuç kaybettirmez; yapılandırılmış veri yaptırımlarının doğrudan hedefi budur.
Hangi tipler gerçekten gerekli?
schema.org sözlüğünde sekiz yüzden fazla tip var ve bunların büyük kısmı kurumsal bir siteyi hiç ilgilendirmez. Kullanılacak küme küçüktür ve sırası bellidir:
Kurumsal bir sitede kullanılan tipler ve yerleri
Organization
- Ne söyler
- Kurumun adı, adresi, telefonu, logosu ve profilleri
- Nereye konur
- Sitenin tamamında, tek kimlikle
WebSite
- Ne söyler
- Sitenin kendisi ve yayıncısının kim olduğu
- Nereye konur
- Ana sayfada bir kez
WebPage
- Ne söyler
- Bu sayfanın adı, dili ve hangi siteye ait olduğu
- Nereye konur
- Her sayfada
BreadcrumbList
- Ne söyler
- Sayfanın site yapısındaki yeri
- Nereye konur
- Alt sayfalarda
Service
- Ne söyler
- Verilen hizmet, sağlayıcısı ve hizmet bölgesi
- Nereye konur
- Hizmet sayfalarında
Product / Offer
- Ne söyler
- Ürün, fiyatı, para birimi ve stok durumu
- Nereye konur
- Ürün sayfalarında
Article
- Ne söyler
- Yazının başlığı, yayın tarihi ve yazarı
- Nereye konur
- Blog ve rehber sayfalarında
FAQPage
- Ne söyler
- Sayfadaki soru-cevap çiftleri
- Nereye konur
- SSS bulunan sayfalarda
LocalBusiness
- Ne söyler
- Fiziksel konum, çalışma saatleri, koordinatlar
- Nereye konur
- Şube ve konum sayfalarında
| Tip | Ne söyler | Nereye konur |
|---|---|---|
| Organization | Kurumun adı, adresi, telefonu, logosu ve profilleri | Sitenin tamamında, tek kimlikle |
| WebSite | Sitenin kendisi ve yayıncısının kim olduğu | Ana sayfada bir kez |
| WebPage | Bu sayfanın adı, dili ve hangi siteye ait olduğu | Her sayfada |
| BreadcrumbList | Sayfanın site yapısındaki yeri | Alt sayfalarda |
| Service | Verilen hizmet, sağlayıcısı ve hizmet bölgesi | Hizmet sayfalarında |
| Product / Offer | Ürün, fiyatı, para birimi ve stok durumu | Ürün sayfalarında |
| Article | Yazının başlığı, yayın tarihi ve yazarı | Blog ve rehber sayfalarında |
| FAQPage | Sayfadaki soru-cevap çiftleri | SSS bulunan sayfalarda |
| LocalBusiness | Fiziksel konum, çalışma saatleri, koordinatlar | Şube ve konum sayfalarında |
Düğümleri @id ile nasıl birbirine bağlarım?
Bu bölüm, işaretlemeyi 'eklenmiş' olmakla 'çalışıyor' olmak arasındaki farktır. Çoğu sitede üç ayrı script etiketi bulunur: biri Organization, biri WebPage, biri Article. Üçü de geçerlidir, üçü de doğrulayıcıdan geçer ve üçü de birbirinden habersizdir. Makinenin gördüğü şey bir kurum değil, ilişkisiz üç kayıttır.
Çözüm, her düğüme kalıcı bir kimlik (@id) vermek ve düğümleri bu kimlikler üzerinden birbirine referans göstermektir. @id bir adres gibi yazılır ve o kurum ya da sayfa için sitenin ömrü boyunca değişmez. Hepsini tek bir @graph dizisinde toplamak, tarayıcıya tek istek ve tek blok hâlinde tutarlı bir tablo sunar.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "Kuzey Mobilya",
"url": "https://example.com/",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
},
"telephone": "+902121234567",
"address": {
"@type": "PostalAddress",
"streetAddress": "Atatürk Mah. 12. Sok. No: 4",
"addressLocality": "Ümraniye",
"addressRegion": "İstanbul",
"postalCode": "34760",
"addressCountry": "TR"
},
"sameAs": [
"https://www.linkedin.com/company/kuzeymobilya",
"https://www.instagram.com/kuzeymobilya"
]
},
{
"@type": "WebSite",
"@id": "https://example.com/#website",
"url": "https://example.com/",
"name": "Kuzey Mobilya",
"inLanguage": "tr-TR",
"publisher": { "@id": "https://example.com/#organization" }
},
{
"@type": "WebPage",
"@id": "https://example.com/urunler/ofis-koltuklari#webpage",
"url": "https://example.com/urunler/ofis-koltuklari",
"name": "Ofis koltukları",
"inLanguage": "tr-TR",
"isPartOf": { "@id": "https://example.com/#website" },
"about": { "@id": "https://example.com/#organization" }
}
]
}
</script>Dikkat edilecek nokta, publisher ve isPartOf alanlarının kurumu yeniden tarif etmek yerine @id ile göstermesi. Kurum bilgisini her sayfada tekrar yazmak, aynı kurumun birbirinden azıcık farklı yirmi kaydı hâline gelir; tek referans ise yirmi sayfayı tek varlığa bağlar.
FAQ işaretlemesi hâlâ işe yarıyor mu?
Zengin sonuç olarak hayır. Google, 14 Eylül 2023'te FAQ zengin sonuçlarını 'tanınmış, yetkili devlet ve sağlık siteleri' ile sınırladı; sıradan bir kurumsal sitenin arama sonucunda açılır soru listesi görmesi artık beklenmiyor. Bu tarihten önce yazılmış her rehber bu konuda yanlış bilgi veriyor ve Türkiye'de hâlâ 'SSS işaretlemesiyle sonuçta iki kat yer kaplayın' diye satış yapılıyor.
Makine anlaması açısından ise evet, yazmaya değer. FAQPage işaretlemesi soru-cevap sınırlarını açıkça çizer ve üretken motorlar için bu sınır değerlidir: cevabın nerede başlayıp nerede bittiği belirsiz olmaz, pasaj temiz alınır. Yani işaretlemeyi yazın, ama gerekçesi zengin sonuç değil, alıntılanabilirlik olsun.
Schema markup validator ile işaretlemeyi nasıl doğrularım?
İki ayrı araç var ve ikisi farklı sorulara cevap veriyor; yalnızca birini kullanmak en sık yapılan denetim hatasıdır.
- Rich Results Test, yalnızca Google'ın zengin sonuç ürettiği tipleri denetler. Organization ya da WebPage yazdıysanız araç 'uygun öğe bulunamadı' der; bu bir hata değil, aracın kapsamıdır.
- Schema Markup Validator, grafiğin tamamını okur ve tip/alan hatalarını gösterir. Varlık grafiğinizi görmek istiyorsanız kullanacağınız araç budur.
- Search Console'un Zengin Sonuçlar raporu, laboratuvar testinden farklı olarak canlı sayfalarda Google'ın gerçekten ne gördüğünü söyler — ve iki araçla gördüğünüz arasında fark varsa doğru olan budur.
- Sayfa JavaScript ile işaretleme ekliyorsa, HTML kaynağında değil işlenmiş sayfada görünür; denetimi işlenmiş hâl üzerinden yapmak gerekir.
En sık yapılan beş hata nedir?
- Sayfada görünmeyen bilgiyi işaretlemeye yazmak. Görünmeyen fiyat, görünmeyen puan, görünmeyen adres — yaptırımların doğrudan hedefi.
- Her sayfaya ayrı bir Organization bloğu koymak. Aynı kurumun birbirinden azıcık farklı yirmi kaydı, tek tutarlı kayıttan zayıftır.
- Kendi ürettiğiniz puanı aggregateRating olarak yayımlamak. Kendi hakkında kendi verdiği puan, doğrulanamaz bir iddiadır ve sayfanın tamamının güvenilirliğini düşürür.
- @id vermemek ya da @id'yi sayfa yenilendiğinde değiştirmek. Kimliği değişen düğüm, motorun daha önce çözdüğü varlıkla bağını kaybeder.
- Şablonda kalan örnek değerler. 'streetAddress: 123 Main St' satırı, kurulum sırasında unutulup canlıya çıktığında kurumun adresini yanlış beyan eder.
Sık sorulanlar
İşaretleme sıralamayı doğrudan yükseltir mi?
- Hayır, doğrudan bir sıralama faktörü değil. Yaptığı iş, sayfanın neyle ilgili olduğunu belirsizlikten çıkarmak ve zengin sonuç biçimlerine uygun hâle getirmek. Üretken motorlar tarafındaysa etkisi daha somut: işaretleme, kurumu bir metin dizisi olmaktan çıkarıp çözümlenebilir bir varlık hâline getiriyor ve bir motor çözemediği varlığı önermiyor.
Eklenti ile eklemek yeterli mi?
- Başlangıç için yeterlidir, ama iki sınırı vardır. Birincisi, çoğu eklenti her sayfaya kendi Organization bloğunu koyar ve düğümleri @id ile birbirine bağlamaz; geçerli ama kopuk bir işaretleme çıkar. İkincisi, birden fazla eklenti aynı anda işaretleme üretirse sayfada çelişen iki kayıt oluşur. Kurulumdan sonra sayfanın kaynağını açıp kaç blok olduğunu saymak, beş dakikalık ama çok işe yarayan bir kontroldür.
Çok dilli sitede işaretleme nasıl yazılır?
- Her dilin sayfası kendi WebPage düğümünü taşır ve inLanguage alanı o sayfanın diliyle doldurulur; ad, açıklama gibi metin alanları da o dilde yazılır. Organization düğümü ise tek kalır — kurumun adı ve adresi dile göre değişmez. Dil sürümleri arasındaki bağ hreflang ile kurulur; bunu işaretlemede tekrar etmeye gerek yoktur.
Hangi tipten başlamalıyım?
- Organization ile başlayın ve doğru yazın: ad, adres, telefon, logo ve doğrulanabilir profillerin sameAs listesi. Bu tek blok, sitedeki bütün sayfaların bağlanacağı düğümdür; o yanlışsa üstüne kurulan her şey yanlış olur. İkinci adım her sayfaya WebPage, üçüncü adım sayfa tipine göre Service, Product ya da Article.
Kaynaklar
- 01Structured data markup that Google Search supports — Google Search Central, 2026
- 02FAQ (FAQPage) structured data — eligibility — Google Search Central, 2023
- 03FAQPage schema definition — Schema.org, 2026
- 04AI features and your website — Google Search Central, 2026
- 05GEO: Generative Engine Optimization — Aggarwal, Murahari, Rajpurohit, Kalyan — KDD 2024, 2024
Bu sayfa şu aramalara cevap veriyor
- schema markup nedir
- schema markup validator
- schema markup generator
- schema markup checker
- schema markup seo
- yapılandırılmış veri nedir
- yapılandırılmış veri örnekleri