Yapısal veri (schema markup), sayfanızdaki bilgileri arama motorlarının makine gibi okuyabileceği standart bir sözlükle etiketlemektir. Ziyaretçi sayfada "Bornova şubemiz hafta içi 09.00–18.00 arası açık" cümlesini okur; arama motoru ise aynı bilgiyi openingHours, address ve telephone gibi alanlara ayrılmış hâlde görür. Bu sözlük schema.org'dur; Google'ın önerdiği yazım biçimi ise JSON-LD'dir. Doğru işaretlenmiş bir sayfa, ürün fiyatı, yıldız puanı veya içerik yolu (breadcrumb) gibi ek bilgilerle "zengin sonuç" olarak gösterilmeye aday olur. Aday olur, garanti değil: Google, geçerli işaretlemenin bile sonuçlarda gösterileceğini taahhüt etmez.
Bu rehberde Organization, LocalBusiness, Article, Product ve FAQPage türlerini örnek kodlarla ele alıyor, test araçlarını ve abartılı işaretlemenin risklerini anlatıyoruz.
Neden JSON-LD?
Google üç biçimi destekler: JSON-LD, Microdata ve RDFa. Microdata ve RDFa, işaretlemeyi HTML etiketlerinin içine öznitelik olarak ekler; tasarım değiştiğinde işaretleme de bozulur. JSON-LD ise sayfanın görünür HTML'sinden bağımsız, tek bir <script type="application/ld+json"> bloğunda durur. Bu yüzden eklemesi, okuması ve bakımı en kolay olan biçimdir ve Google'ın belgelerinde de site yapısı izin veriyorsa önerilen yöntem olarak geçer.
JSON-LD bloğunu sayfanın <head> veya <body> bölümüne koyabilirsiniz. Önemli olan, bloğun sunucudan gelen HTML'de veya sayfa oluşturulduktan sonra mevcut olması ve sayfadaki görünür içerikle birebir uyuşmasıdır.
Adım adım yapısal veri eklemek
- Sayfa türlerini listeleyin. Neden: İşaretleme sayfa sayfa değil, şablon şablon yapılır. Nasıl: Sitenizde kaç farklı şablon var? Kurumsal bir sitede genellikle ana sayfa, hizmet sayfası, blog yazısı, iletişim/şube sayfası; e-ticarette ayrıca kategori ve ürün sayfası. Her şablon için tek bir işaretleme planı yeterli.
- Her şablona uygun türü seçin. Neden: Yanlış tür, ya hiçbir şey kazandırmaz ya da kural ihlaline girer. Nasıl: Ana sayfa ve hakkımızda için Organization, fiziksel şube için LocalBusiness alt türü, blog yazısı için Article veya BlogPosting, satış sayfası için Product, tüm iç sayfalar için BreadcrumbList. Google'ın arama galerisinde hangi türlerin hangi sonuç görünümünü desteklediği listelenir.
- Yalnızca sayfada görünen bilgiyi işaretleyin. Neden: Google'ın yapısal veri yönergelerinin temel kuralı, okurların göremediği içeriğin işaretlenmemesidir. Nasıl: Sayfada fiyat yazmıyorsa
priceeklemeyin; sayfada müşteri yorumu yoksaaggregateRatingeklemeyin. - JSON-LD bloğunu şablona ekleyin. Neden: Değerlerin elle değil, veritabanından otomatik dolması tutarlılığı garanti eder. Nasıl: Ürün adı, fiyat, stok durumu ve yayın tarihi gibi alanları şablondaki değişkenlerden besleyin. Fiyat değiştiğinde sayfa ve işaretleme aynı anda güncellenmeli.
- Zengin Sonuçlar Testi ile doğrulayın. Neden: Söz dizimi hatası tek bir eksik virgülle bütün bloğu geçersiz kılar. Nasıl: Test sayfasının adresini girin; araç sayfanın hangi zengin sonuç türlerine uygun olduğunu, zorunlu alan eksiklerini ve uyarıları gösterir.
- Yayına alın ve Search Console'da izleyin. Neden: Test tek bir sayfayı kontrol eder; şablondaki bir hata yüzlerce sayfayı etkileyebilir. Nasıl: Search Console'daki ilgili raporlar (ürün snippet'leri, içerik yolu vb.) geçerli ve hatalı öğe sayılarını gösterir. Raporların genel kullanımını Search Console rehberimizde anlattık.
Organization: kim olduğunuzu tanımlayın
Organization işaretlemesi, Google'a şirketinizin adını, logosunu, web adresini ve resmi profillerini tanıtır. Google'ın önerisine göre bu blok her sayfada değil, ana sayfada veya şirketi anlatan tek bir sayfada (örneğin hakkımızda) bulunmalıdır. Zorunlu alan yoktur; uygun olan bütün alanları eklemeniz önerilir. Örnek:
{ "@context": "https://schema.org", "@type": "Organization", "name": "Örnek Makine Sanayi A.Ş.", "url": "https://www.ornekmakine.com.tr", "logo": "https://www.ornekmakine.com.tr/img/logo.png", "telephone": "+90-232-000-00-00", "sameAs": ["https://www.linkedin.com/company/ornekmakine"]}
sameAs alanına yalnızca gerçekten size ait, aktif profilleri ekleyin. Logo dosyasının kalıcı bir adreste durması ve şeffaf ya da beyaz zeminde net okunması iyi olur.
LocalBusiness: şube, adres ve çalışma saatleri
Fiziksel bir adresi olan işletmeler için LocalBusiness, Organization'ın daha özel bir hâlidir. Google, mümkün olan en özel alt türün kullanılmasını önerir: genel LocalBusiness yerine Restaurant, Dentist, AutoRepair, Store gibi. Zorunlu alanlar name ve address; önerilen alanlar arasında telephone, url, geo, openingHoursSpecification ve priceRange bulunur.
{ "@context": "https://schema.org", "@type": "AutoRepair", "name": "Örnek Oto Servis Karşıyaka", "address": { "@type": "PostalAddress", "streetAddress": "Örnek Cad. No: 12", "addressLocality": "Karşıyaka", "addressRegion": "İzmir", "postalCode": "35500", "addressCountry": "TR" }, "telephone": "+90-232-000-00-01", "openingHoursSpecification": [{ "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"], "opens": "08:30", "closes": "18:30" }]}
Birden fazla şubeniz varsa her şube için ayrı bir sayfa ve o sayfada yalnızca o şubenin işaretlemesi en temiz yapıdır. Buradaki adres, telefon ve saatlerin Google İşletme Profili ile birebir aynı olması gerekir; profil tarafını Google İşletme Profili rehberimizde ele aldık.
Article: blog ve haber içerikleri
Article (veya alt türleri BlogPosting ve NewsArticle) işaretlemesi, Google'ın yazının başlığını, görselini, yayın ve güncelleme tarihini ve yazarını doğru anlamasına yardım eder. Google bu tür için zorunlu alan tanımlamaz; headline, image, datePublished, dateModified ve author önerilen alanlardır.
{ "@context": "https://schema.org", "@type": "BlogPosting", "headline": "Kombi Bakımı Ne Zaman Yapılmalı?", "image": ["https://www.ornek.com/img/kombi-bakim-16x9.jpg"], "datePublished": "2026-03-02T10:00:00+03:00", "dateModified": "2026-04-10T09:30:00+03:00", "author": [{"@type": "Person", "name": "Ayşe Yılmaz", "url": "https://www.ornek.com/ekip/ayse-yilmaz"}]}
Yazar alanına dair Google'ın önerileri: kişi için Person, kurum için Organization kullanın; name alanına unvan veya şirket adı eklemeyin; yazarı benzersiz biçimde tanımlayan bir sayfaya (url veya sameAs) bağlantı verin. dateModified değerini yalnızca içerikte anlamlı bir güncelleme yaptığınızda değiştirin. Bu yazıları nasıl kurguladığımızı SEO uyumlu blog yazısı şablonumuzda anlatıyoruz.
Product: ürün sayfaları
Ürün işaretlemesi, e-ticaret sitelerinde en çok fark yaratan türdür. Google burada iki kullanımı ayırır. Ürün snippet'leri, satın alma yapılmayan inceleme veya karşılaştırma sayfaları dahil, fiyat, puan ve stok bilgisini sonuçta gösterebilir; zorunlu alanlar name ile birlikte offers, review veya aggregateRating alanlarından en az biridir. Satıcı listeleri ise ürünü doğrudan satın alabildiğiniz sayfalar içindir ve daha ayrıntılı alanlar (kargo, iade politikası gibi) ister.
{ "@context": "https://schema.org", "@type": "Product", "name": "Paslanmaz Çelik Tezgah 140 cm", "image": "https://www.ornek.com/img/tezgah-140.jpg", "sku": "TZG-140", "brand": {"@type": "Brand", "name": "Örnek"}, "offers": { "@type": "Offer", "price": "0000.00", "priceCurrency": "TRY", "availability": "https://schema.org/InStock", "url": "https://www.ornek.com/urun/tezgah-140" }}
Fiyat ve stok bilgisinin sayfadakiyle aynı olması kritik; indirimde sayfa yeni fiyatı gösterirken işaretleme eski fiyatı taşıyorsa bu, yanıltıcı işaretleme sayılabilir. İşaretlemeyi Google Tag Manager ile JavaScript üzerinden eklemek mümkün olsa da Google, dinamik üretilen ürün işaretlemesinin alışveriş taramalarını daha seyrek ve daha az güvenilir hâle getirebileceğini belirtiyor. Ürün sayfalarında işaretlemeyi sunucu tarafında, şablona gömülü olarak üretmeyi tercih ediyoruz. Ürün sayfasının içerik tarafını dönüşüm getiren ürün sayfası yazımızda bulabilirsiniz.
FAQPage ve BreadcrumbList: beklentiyi doğru kurun
Sık sorulan sorular işaretlemesi (FAQPage) uzun süre en popüler yapısal veri türüydü. Ancak Google, 2023'te yaptığı değişiklikle SSS zengin sonuçlarını yalnızca tanınmış, yetkili kamu ve sağlık sitelerinde göstermeye başladı. Yani sıradan bir kurumsal sitede FAQPage eklemek, arama sonucunda soru-cevap açılır kutusu üretmeyecektir. İşaretlemenin zararı yok ve sayfa içeriğinin yapısını tarif etmeye devam eder; ancak "SSS ekleyelim, sonuçta daha çok yer kaplayalım" beklentisiyle iş planlamayın. Aynı dönemde adım adım tarif (HowTo) zengin sonuçları da kaldırıldı.
BreadcrumbList ise neredeyse her iç sayfaya eklenebilecek, düşük riskli ve faydalı bir türdür. Sayfanın site hiyerarşisindeki yerini (Ana sayfa › Hizmetler › Klima Servisi) tarif eder. Sayfada görünen içerik yoluyla aynı olmalıdır.
Abartılı ve yanlış işaretlemenin riskleri
Yapısal verinin yanlış kullanımı, Google'ın elle uyguladığı yaptırımlara (manuel işlem) yol açabilir. Google'a göre yapısal veri kaynaklı bir manuel işlem sıralamayı doğrudan etkilemez, ancak sayfanın zengin sonuç olarak gösterilme uygunluğunu ortadan kaldırır. Projelerde gördüğümüz riskli uygulamalar:
- Kendi hakkınızdaki yorumlara yıldız eklemek: Google'ın yorum snippet'i yönergelerine göre bir işletme, kendi sitesinde kendisi hakkında topladığı yorumlarla (LocalBusiness veya Organization üzerinde) yıldızlı sonuç almaya uygun değildir. Ana sayfaya
aggregateRatingeklemek bu yüzden işe yaramaz ve kural ihlali riskini taşır. - Görünmeyen içeriği işaretlemek: Sayfada olmayan SSS'ler, gizlenmiş fiyatlar veya hiç yayımlanmamış yorumlar.
- Her sayfaya aynı bloğu kopyalamak: Bütün sayfalarda Product veya LocalBusiness bloğu taşıyan bir site, Google'a hiçbir anlamlı bilgi vermez.
- Uydurma veya eski veriler: Bitmiş bir etkinliğin Event işaretlemesi, değişmiş çalışma saatleri, kampanya bitmesine rağmen indirimli fiyat.
- Çakışan bloklar: Tema bir Organization bloğu üretirken SEO eklentisi ikinci bir blok, elle eklenen kod da üçüncüsünü ekliyorsa çelişkili bilgi ortaya çıkar. Kaynak kodda
application/ld+jsonaraması yaparak kaç blok olduğunu kontrol edin.
Test araçları
| Araç | Ne işe yarar? | Ne zaman kullanılır? |
|---|---|---|
| Zengin Sonuçlar Testi | Sayfanın Google'ın desteklediği hangi zengin sonuçlara uygun olduğunu ve zorunlu alan hatalarını gösterir | Yeni şablon yayına girmeden önce ve sonra |
| Schema Markup Validator | schema.org sözlüğüne göre genel söz dizimi ve tür kontrolü yapar; Google'a özgü kuralları denetlemez | Google'ın zengin sonuç desteklemediği türleri kontrol ederken |
| Search Console raporları | Sitenin tamamındaki geçerli, uyarılı ve hatalı öğeleri listeler | Yayın sonrası düzenli izleme |
| URL denetimi | Google'ın sayfada bulduğu yapısal veriyi gösterir | Tek bir sayfada işaretlemenin Google'a ulaşıp ulaşmadığını görmek için |
Zengin Sonuçlar Testi'ni kod yapıştırarak değil, mümkünse yayındaki sayfanın adresiyle kullanın; JavaScript ile eklenen işaretlemeyi en doğru bu şekilde görürsünüz.
Sık Sorulan Sorular
Yapısal veri sıralamayı yükseltir mi?
Yapısal veri doğrudan bir sıralama artışı vaat etmez. Faydası, Google'ın sayfayı daha doğru anlaması ve sayfanın zengin sonuçlara aday olmasıdır. Zengin sonuçlar sonuç sayfasında daha fazla bilgi sunduğu için tıklama oranını olumlu etkileyebilir.
WordPress kullanıyorum, kod yazmam gerekir mi?
Yaygın SEO eklentileri Organization, Article ve BreadcrumbList gibi temel türleri otomatik üretir. Eklentinin ürettiği çıktıyı Zengin Sonuçlar Testi ile kontrol etmeniz ve tema ya da başka eklentilerle çakışan blok olmadığından emin olmanız yeterli. Şube, ürün varyantı veya özel içerik türleri için çoğu zaman şablona kod eklemek gerekir.
Test aracı "geçerli" diyor ama zengin sonuç çıkmıyor, neden?
Geçerli işaretleme yalnızca uygunluk sağlar. Google, sorguya, cihaza ve sayfanın genel kalitesine göre zengin sonucu gösterip göstermemeye kendisi karar verir. Yeni eklenen işaretlemenin fark edilmesi için sayfanın yeniden taranması da gerekir.
Bir sayfada birden fazla tür kullanılabilir mi?
Evet. Bir ürün sayfası Product ve BreadcrumbList, bir blog yazısı BlogPosting ve BreadcrumbList taşıyabilir. Önemli olan, her türün sayfada gerçekten bulunan bir içeriği tarif etmesi ve türlerin birbiriyle çelişmemesidir.
Yapısal veriyi ne sıklıkla kontrol etmeliyim?
Her şablon değişikliğinden, tema güncellemesinden ve eklenti değişiminden sonra birkaç örnek sayfayı test edin. Bunun dışında Search Console'daki ilgili raporlara ayda bir göz atmak yeterlidir.
Sonuç
Yapısal veri, iyi bir sayfayı Google'a daha net anlatmanın yoludur; zayıf bir sayfayı öne çıkarmanın kestirmesi değildir. Şablonlarınızı listeleyin, her birine doğru türü seçin, yalnızca görünen içeriği işaretleyin ve değerleri veritabanından otomatik besleyin. Taranma ve indeksleme tarafının da sağlam olduğundan emin olmak için teknik SEO kontrol listemize göz atabilirsiniz. Web geliştirme projelerimizde yapısal veriyi şablon aşamasında tasarlıyor, yayın öncesinde test ediyoruz. Mevcut sitenizin işaretlemesini gözden geçirmemizi isterseniz bize yazın.


