
Rakibinizin Google sonucunda fiyat, stok durumu, kargo ücreti ve yıldızlar görünüyor; sizinkinde bir başlık ve iki satır açıklama. Aradaki fark çoğu zaman tasarımda ya da içerikte değil, sayfanın arkasına makineler için yazılmış birkaç satırda. O satırlara yapılandırılmış veri deniyor ve sitenizi okuyan her sistem, arama motorundan yapay zekâ asistanına kadar, o satırları da okuyor.
Yapılandırılmış veri, Schema.org ve JSON-LD ne demek
Bir insan sayfanızı okuyunca "Çankaya'da bir klima servisi, cumartesi de açık, telefonu şu" diye anlar. Arama motoru aynı sayfada yalnızca metin görür. "0312" ile başlayan rakam dizisinin telefon mu, vergi numarası mı olduğunu bağlamdan tahmin etmeye çalışır. Tahmin çoğu zaman tutar. Bazen tutmaz.
Yapılandırılmış veri (structured data) bu tahmini ortadan kaldırır. Sayfadaki bilgiyi makineye etiketli olarak verirsiniz: bu ad, bu adres, bu telefon, bu fiyat. Bu işe işaretleme (markup) da denir. Market rafındaki bir paketi düşünün. Ön yüzde reklam dili var; arka yüzdeki etikette ise içerik, gramaj ve son kullanma tarihi her üründe aynı düzende yazıyor. Yapılandırılmış veri sitenizin arka etiketidir.
Etiketin işe yaraması için herkesin aynı kelimeleri kullanması gerekir. Schema.org bu ortak sözlüğün adı; 2011'de Google, Microsoft ve Yahoo birlikte başlattı, aynı yıl Yandex de katıldı. Sözlükte "LocalBusiness" (yerel işletme), "Product" (ürün), "openingHours" (çalışma saati) gibi yüzlerce tip ve özellik tanımlı. "telephone" etiketini gören her arama motoru ne anlaması gerektiğini bilir, çünkü tanım ortaktır.
JSON-LD ise bu sözlüğü sayfaya yazmanın biçimi. Microdata ve RDFa gibi başka biçimler etiketleri sayfanın görünen HTML'ine serpiştirir. JSON-LD ayrı bir blok olarak durur, tasarım değiştiğinde bozulmaz. Google bu biçimi öneriyor, biz de yalnızca bunu kullanıyoruz.
JSON-LD nedir? JSON-LD (JavaScript Object Notation for Linked Data), bir web sayfasındaki bilgiyi Schema.org sözlüğüyle etiketleyip arama motorlarının ve yapay zekâ sistemlerinin okuyacağı düzende yazmaya yarayan bir veri biçimidir. Sayfanın kodunda ayrı bir blok olarak durur ve ziyaretçiye görünmez. Ziyaretçi sayfayı okur; makine aynı sayfanın JSON-LD bloğundan kim, ne, nerede ve ne kadar sorularının cevabını alır.
Bir klima servisinin JSON-LD kartviziti
Ankara'da hizmet veren bir klima servisi için yazılmış sade bir örnek aşağıda. Kartvizitte ne yazıyorsa burada da o var: ad, telefon, adres, çalışma saati.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Örnek Klima Servisi",
"telephone": "+90 312 000 00 00",
"address": {
"@type": "PostalAddress",
"streetAddress": "Örnek Caddesi No: 1, Çankaya",
"addressLocality": "Ankara",
"addressCountry": "TR"
},
"openingHours": "Mo-Sa 09:00-18:00"
}
</script>
Okuması sanıldığı kadar zor değil. "@context" hangi sözlüğün kullanıldığını, "@type" bu kaydın bir yerel işletme olduğunu söylüyor; altındaki satırlar kartvizitin alanları. "Mo-Sa" pazartesiden cumartesiye demek, çünkü sözlük İngilizce gün kısaltmalarını bekliyor. Gerçek bir sitede bu bloğa logo, harita koordinatı, hizmet verilen ilçeler ve sosyal medya hesapları da eklenir. Mantık değişmez.
Google sonuçlarında neyi değiştirir
Yapılandırılmış verinin en görünür karşılığı zengin sonuçlar (rich results), yani arama sonucunda başlık ve açıklamanın yanına eklenen ek bilgiler. Bir e-ticaret sitesinin ürün sayfasında fiyat, stok durumu, kargo ücreti ve iade süresi sonucun altında görünebilir. Ürüne ait müşteri puanı varsa yıldızlar çıkar. Ekmek kırıntısı (breadcrumb) işaretlemesi, sonuçtaki adres satırının yerine "Ana sayfa › Klimalar › Inverter" gibi okunur bir yol koyar. Konser ya da seminer gibi etkinliklerin tarihi ve yeri ayrı satırlarda listelenir. Tıklama kararını sonuç sayfasında veren biri için fark bu satırlarda.
Burada yaygın bir yanlışı düzeltelim. Şema eklemek, sıralamanızı doğrudan yükseltmez. Google yapılandırılmış veriyi bir sıralama faktörü olarak kullanmadığını defalarca açıkladı. Şemanın işi, zaten bulunduğunuz sırada daha dolu ve daha anlaşılır görünmenizi sağlamak. Dolu bir sonuç daha çok tıklanır; dolaylı fayda oradan gelir.
İkinci yanlış beklenti "şemayı ekledim, yıldızlar yarın çıkar" düşüncesi. Kod hatasız olsa bile zengin sonucu gösterip göstermemeye Google karar verir; sayfanın kalitesine, aranan kelimeye ve cihaza göre bazen gösterir, bazen göstermez. İşaretleme bir başvurudur, kesin sonuç değil.
Yapay zekâ aramaları ve sesli asistanlar için anlamı
ChatGPT, Gemini, Perplexity ya da Google'ın yapay zekâ destekli cevapları bir soruya cevap yazarken birden çok sayfayı okuyup bilgiyi birleştirir. Önce şunu çözmeleri gerekir: bu sayfa kimden söz ediyor? Aynı adı taşıyan iki firma ya da eski ve yeni telefon numarası kolayca birbirine karışır.
Bu sorunun adı varlık (entity) netliği. Varlık, makinenin tekil olarak tanıdığı bir şeydir: bir şirket, bir kişi, bir ürün, bir yer. Organization şemasındaki "sameAs" alanı sitenizi sosyal medya hesaplarınıza ve Google İşletme Profili'nize bağlar. Makine böylece sitedeki nakliyat firmasının, Instagram'daki hesabın ve haritadaki kaydın aynı şirket olduğundan emin olur.
Yapay zekâ motorlarının cevap üretirken JSON-LD'yi tam olarak nasıl kullandığı açıklanmış değil. Bildiğimiz şu: bu cevaplar büyük ölçüde arama dizinlerinden besleniyor ve dizin sizi ne kadar doğru tanırsa cevapta yanlış telefon ya da başka bir firmanın bilgisi çıkma ihtimali o kadar düşüyor. Microsoft'un Bing ekibi de şema işaretlemesinin dil modellerinin içeriği anlamasına yardım ettiğini açıkça söyledi. Konuyu yapay zekâ aramalarında görünür olmayı anlatan GEO yazımızda daha geniş ele aldık; yapılandırılmış veri o işin teknik ayağı.
Sesli asistanlarda tablo daha da sade. Asistan on bağlantı okumaz, tek cümle kurar: "Şu an açık, 18.00'de kapanıyor." O cümleyi yapılandırılmış kaynaklardan kurar. Yerel işletmelerde bu kaynakların başında Google İşletme Profili geliyor, sitedeki şema da onu destekliyor. İkisi birbirini tutmadığında asistan ya susar ya da yanlış cevap verir.
Hangi şema tipi kimin işine yarar
Schema.org'da yüzlerce tip var ama bir işletme sitesinin işini çoğu zaman yarım düzinesi görür. En sık kullandığımız tipler şunlar:
| Şema tipi | Kimin için | Ne kazandırır |
|---|---|---|
| Organization / LocalBusiness | Her şirket; adresi ve çalışma saati olan klinik, servis ya da mağaza için LocalBusiness | Logo, iletişim ve adres bilgisinin tutarlı okunması, sosyal hesaplarla bağ kurulması |
| Product | E-ticaret siteleri ve online marketler | Sonuçta fiyat, stok, kargo ve iade bilgisi; puan varsa yıldız |
| Article / BlogPosting | Blog ya da haber yayımlayan siteler | Başlık, yazar, yayın ve güncelleme tarihinin doğru okunması |
| FAQPage | Sık sorulan soruları olan hizmet ve ürün sayfaları | Çoğu site için artık görünür zengin sonuç yok; soru ve cevabın makineye net aktarılması |
| BreadcrumbList | Kategorili her site, özellikle e-ticaret | Sonuçta adres yerine okunur sayfa yolu (2025'ten beri yalnızca masaüstünde), site hiyerarşisinin anlaşılması |
| Service | Hizmet satan firmalar: nakliyat, temizlik, teknik servis | Google'da ayrı bir zengin sonucu yok; hizmetin kapsamını ve verildiği bölgeyi makineye anlatır |
FAQPage satırına ayrıca değinelim. Google Ağustos 2023'ten beri SSS zengin sonucunu yalnızca tanınmış devlet ve sağlık sitelerinde gösteriyor; sıradan bir işletme sitesinde sorular artık sonucun altında açılır liste olarak çıkmıyor. Bunu duyan pek çok site sahibi SSS işaretlemesini kaldırdı. Biz kaldırmıyoruz. Soru ve cevap düzeni, yapay zekâ cevaplarının biçimine zaten çok yakın. "Kombi bakımı ne kadar sürer" diye soran birine cevap arayan sistem, o soruyu ve cevabını sayfanızda etiketli bulduğunda neyi alıntılayacağını daha kolay seçer.
Görünür ödül gitti, anlamlandırma değeri duruyor.
Yayına almadan önce ve sonra doğrulama
Şema bir kez yazılıp unutulacak bir şey değil. Fiyat değişir, şube taşınır, kampanya biter, tema güncellenir. Kontrol için ücretsiz araçlar yeterli:
- Google Zengin Sonuç Testi: Sayfanın adresini girersiniz, araç o sayfanın hangi zengin sonuçlara uygun olduğunu ve hangi alanların eksik ya da hatalı kaldığını listeler. Yeni sayfa yayına çıkmadan önce ilk bakılacak yer burası.
- Search Console'daki Geliştirmeler raporu: Tek sayfaya değil bütün siteye bakar ve her şema tipi için geçerli ve hatalı sayfa sayısını zaman içinde gösterir. Tema güncellemesinden sonra hatalar birden artıyorsa ilk burada görürsünüz.
- Schema Markup Validator: Schema.org'un kendi doğrulayıcısı. Google'ın zengin sonuç üretmediği Service gibi tipleri kontrol ederken buna bakıyoruz.
- Search Console'daki Manuel işlemler bölümü: Boş olması gerekir. Burada yapılandırılmış veriyle ilgili bir uyarı varsa zengin sonuçlarınız Google tarafından kapatılmış demektir.
Site hızı ve dizine alınma gibi teknik konuları teknik SEO kontrol listemizde madde madde topladık.
Sık görülen hatalar
Sayfada görünmeyen bilgiyi işaretlemek
Google'ın kuralı açık: işaretlediğiniz bilgi ziyaretçinin gördüğü sayfada da bulunmalı. Ürün sayfasında fiyat yazmıyorsa şemada da fiyat olmamalı. Sayfa tek bir şubeyi anlatırken şemaya üç şubenin adresini doldurmak bir şey kazandırmaz, güven kaybettirir.
Sahte yorum ve puan eklemek
Yıldızlar en çok istenen zengin sonuç olduğu için en çok suistimal edilen alan da bu. Kimsenin yazmadığı yorumları ya da elle girilmiş "4,9 puan" değerini şemaya koymak, Google'ın manuel işlem (manual action) dediği yaptırıma kadar gider ve site zengin sonuç gösterme hakkını kaybeder. Bir ayrıntı daha: bir işletmenin kendi sitesinde kendisi hakkında yayımladığı yorumları Google 2019'dan beri LocalBusiness ve Organization için yıldız olarak göstermiyor. Firmanızın puanını sonuçta görmek istiyorsanız yeri Google İşletme Profili'ndeki yorumlar.
Eklentinin ürettiği boş ya da çelişkili şema
Hazır SEO eklentileri şemayı kendiliğinden basar ama içini sizin doldurmanızı bekler. Doldurulmayan alanlar boş gider: adı olmayan bir Organization ya da yazarı "admin" görünen bir blog yazısı. Daha kötüsü çelişkidir. Sayfada "tükendi" yazarken şema hâlâ "stokta" diyorsa Google ürünü yanlış bilgiyle göstermektense hiç göstermemeyi seçebilir.
Aynı şemanın iki kez basılması
Tema bir Organization şeması basar, SEO eklentisi bir tane daha. İkisi farklı telefon ya da adres taşıyorsa makine hangisine inanacağını bilemez ve çoğu zaman ikisine de güvenmez.
Şemayı elle yazdırmak yerine altyapıya bırakın
Yukarıdaki hataların çoğu aynı kökten çıkıyor: şema sayfadan ayrı bir yerde, ayrı bir elle yazılıyor. Biri ürün fiyatını panelden güncelliyor, şemadaki fiyat eski kalıyor. Biri telefonu iletişim sayfasında değiştiriyor, şemada eski numara yıllarca duruyor.
Bize sorarsanız şemayı bir yazılımcıya elle yazdırıp sayfaya yapıştırmak uzun vadede en pahalı yol. Elle yazılan JSON-LD yazıldığı gün doğrudur; sonra her değişiklikte birinin onu hatırlamasını bekler. Biz şemanın siteyi üreten altyapı tarafından üretilmesini öneriyoruz. Ürün kaydında fiyat ya da stok değiştiğinde şema da aynı anda değişir, çünkü ikisi aynı kaynaktan okunur. Şube adresi tek bir yerde tutulur; iletişim sayfası da şema da adresi oradan alır.
Kendi geliştirdiğimiz sitelerde böyle çalışıyoruz. Blog yazısı yayımlandığında BlogPosting, ürün eklendiğinde Product şeması kendiliğinden oluşur; kategori yolu BreadcrumbList olarak, işletme bilgisi Organization olarak bunlara bağlanır. Müşterimizin JSON-LD yazmayı bilmesi gerekmez, bilgisini doğru girmesi yeter. Yeni bir site planlıyorsanız bunu kurumsal web tasarımı sürecinin baştan bir parçası olarak isteyin. Mevcut sitenizdeki şema dağınıksa temizliğini ve eksiklerini SEO ve GEO çalışmamızın ilk adımlarında ele alıyoruz.
Sık sorulan sorular
Schema.org ile JSON-LD arasındaki fark nedir?
Schema.org bir sözlük, JSON-LD ise o sözlüğü sayfaya yazmanın biçimi. Schema.org neyi söyleyeceğinizi belirler: bu bir ürün, fiyatı şu. JSON-LD bu bilginin kodda hangi düzende duracağını belirler.
JSON-LD sayfanın neresine eklenir?
JSON-LD, "application/ld+json" türünde bir script etiketinin içine yazılır ve sayfanın head ya da body bölümüne konabilir; Google ikisini de okur. JavaScript ile sonradan eklenen JSON-LD'yi de okuyabiliyor, ama bilginin sunucudan gelen ilk HTML'de durması daha güvenli.
Şema ekledikten sonra zengin sonuç ne zaman görünür?
Google sayfayı yeniden taradıktan sonra; bu birkaç gün de sürebilir, birkaç hafta da. Search Console'daki URL denetimi aracından yeniden tarama isteyerek süreci hızlandırabilirsiniz. Kod hatasız olsa bile zengin sonucun çıkıp çıkmayacağına Google karar verir.
Her sayfaya şema eklemek gerekir mi?
Her sayfaya, o sayfanın içeriğine uyan şema eklenir. Organization bilgisi genellikle ana sayfada bir kez tanımlanır, Product ürün sayfasında, BlogPosting blog yazısında durur. Sayfada karşılığı olmayan bir tipi zengin sonuç umuduyla eklemek fayda değil risk getirir.
ChatGPT gibi yapay zekâ araçları JSON-LD okur mu?
Arama dizinleri üzerinden dolaylı olarak okur, çünkü bu araçların önemli bir kısmı cevaplarını arama motorlarının dizinlerinden besliyor. Bir aracın sayfayı doğrudan ziyaret ettiğinde JSON-LD'ye ne kadar ağırlık verdiği ise açıklanmış değil. Bu yüzden şemanın sayfadaki metinle birebir tutarlı olmasına dikkat ediyoruz.
Sitenizin şemasına birlikte bakalım
Sayfanızın adresini gönderin; hangi şemaların basıldığını, nerede çakıştıklarını ve neyin eksik kaldığını size düz bir dille anlatalım.
