JSON-LD doğrulayıcı ne yapar?

Yapılandırılmış veri çoğu zaman bir eklenti, şablon veya elle yazılmış bir blok olarak sayfaya girer ve küçük bir virgül hatası bütün bloğu okunamaz hâle getirir. Bu araç yapıştırdığınız metni tek tek bloklara ayırır, her bloğu kendi JSON ayrıştırıcısıyla okur ve bulduğu sorunları konumuyla birlikte listeler: blok numarası, JSON Pointer yolu, satır ve sütun.

Geliştiriciler yayın öncesi kontrol için, SEO uzmanları bir eklentinin ürettiği çıktıyı okumak için, içerik ekipleri de tarih ve yazar alanlarının doğru biçimde olup olmadığını görmek için kullanabilir. Araç bir şema üretmez; üretmek isterseniz ilgili araçlardaki schema oluşturucuyu kullanabilirsiniz.

Nasıl kullanılır?

  • Metin kutusuna ya yalnız JSON-LD'yi ya da sayfanın HTML kaynağını yapıştırın. Metin < ile başlıyorsa HTML olarak okunur ve her application/ld+json bloğu ayrı değerlendirilir.
  • Doğrula düğmesine basın. JSON'da sözdizimi hatası varsa hata kutusu satır ve sütunu gösterir; HTML'de hatalı blok raporda hata satırı olarak yer alır, diğer bloklar yine incelenir.
  • Rapor tablosunda katman sütununa bakın: sözdizimi, JSON-LD yapısı, Schema.org değer türleri, Google profili ve kapsam dışı bilgiler birbirinden ayrı tutulur.
  • Metin raporunu kopyalayın veya ayrıntılı JSON raporunu indirin. Girdiyi değiştirdiğinizde eski sonuç güncel sayılmaz; yeniden doğrulamanız gerekir.

Üç doğrulama katmanı

İlk katman JSON sözdizimidir: fazladan virgül, tek tırnak, yorum satırı, kapanmamış dize veya kontrol karakteri konumuyla bildirilir. Aynı anahtar iki kez yazılmışsa JSON okuyucuları genellikle sonuncuyu sessizce kullanır; araç bunu da konumuyla uyarır. __proto__ gibi anahtarlar düz veri olarak saklanır ve nesne birleştirmeye verilmez.

İkinci katman desteklenen JSON-LD yapısıdır: üst düzey nesne veya dizi, @graph, @context, @type, @id ve bilinmeyen @ anahtarları. Yerel @id referansları belge içinde çözülür ve döngülere karşı korunur. Üçüncü katman seçili kurallardır ve iki alt başlığa ayrılır:

KatmanNe kontrol edilir?Örnek bulgu
Schema.org değer türleriTarih, süre, URL, sayı, para birimi ve sabit değer listeleri2026-02-30 geçerli bir tarih değil
Google profiliBelirli bir Google özelliği için belgelenen zorunlu ve önerilen alanlarArticle için image önerilir
KapsamKural profili olmayan türler ve indirilmeyen bağlamlarBilinmeyen tür, harici @context

Google zorunlu alanı eksikse bu Schema.org geçersizliği değildir; yalnız o Google özelliğinin belgelenen koşulunu karşılamadığınızı gösterir ve uyarı olarak yazılır. Önerilen alan eksikliği bilgi düzeyindedir ve hiçbir zaman hataya dönüştürülmez.

Desteklenen türler

TürKontrol
Article, BlogPosting, NewsArticleGoogle'da zorunlu alan yok; author, tarih, headline ve image önerileri
BreadcrumbList, ListItemEn az iki öğe; position, name ve item; son öğede item gerekmez
FAQPage, Question, AnswerSoru ve cevap yapısı; Google görünürlüğü için bilgi notu
Product, Offer, AggregateOffer, Review, AggregateRatingÜrün ve değerlendirme snippet alanları, fiyat ve para birimi biçimi
LocalBusiness ve alt türleri, OrganizationAd ve PostalAddress; iletişim ve konum önerileri
WebSite, WebPage, Person, Event, RecipeSite adı, etkinlik ve tarif alanları; WebPage ve Person için yalnız temel kontrol

Listede olmayan türler için JSON ve JSON-LD yapısı yine denetlenir, ancak tür kuralları kapsam dışı olarak bildirilir. Kural tablolarında her profilin kaynak adresi, kontrol tarihi ve profil sürümü tutulur; bu bilgiler indirilen raporda da yer alır. Google profilleri Google Search Central yapılandırılmış veri belgeleri üzerinden 28 Eylül 2026'da okunmuştur.

Örnek ve yorum

Aşağıdaki blog yazısı işaretlemesinde görsel yok ve tarih biçimi geçersiz:

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Hızlı web deneyimi ilk karardan başlar",
  "datePublished": "2026-02-30",
  "author": {"@type": "Person", "name": "Yunus Emre Balçın"}
}

Rapor /datePublished için Schema.org değer türü hatası verir, çünkü şubat ayında 30 gün yoktur. image, dateModified ve author.url için Google profili bilgi satırları çıkar: bunlar önerilerdir, eksik olmaları JSON-LD'yi geçersiz yapmaz. Türkçe başlık olduğu gibi korunur. Örnek yükle düğmesi ise BlogPosting ve BreadcrumbList içeren bir HTML örneğini açar; orada son breadcrumb öğesinde item olmaması kabul edilir ve yalnız bilgi olarak gösterilir.

Google sonuçlarının sınırları

Bu araç Google adına karar vermez. Zorunlu ve önerilen alanların tamamı mevcut olsa bile zengin sonuç gösterilip gösterilmeyeceğini Google belirler; içerik kalitesi, görünür içerikle eşleşme ve politika kuralları yerelde ölçülemez. Rapor bu nedenle hiçbir zaman onay veya uygunluk sözü içermez.

FAQPage için durum özellikle farklıdır: Google, FAQ zengin sonuçlarının 7 Mayıs 2026'dan itibaren arama sonuçlarında gösterilmediğini güncelleme kayıtlarında duyurdu. Yapı doğru olsa bile araç bunu bir fırsat gibi sunmaz; işaretleme yalnız anlamsal açıklama olarak değerlendirilir. WebSite türündeki site adı verisi de yalnız ana sayfada okunur. Nihai kontrol için Google'ın Zengin Sonuç Testi ve Search Console raporlarını kullanın.

Sınırlar ve gizlilik

  • Girdi en fazla 1 MiB, derinlik en fazla 64 ve düğüm sayısı en fazla 10.000 olabilir.
  • Harici @context adresleri indirilmez; tam JSON-LD genişletme veya RDF doğrulaması yapılmaz. Kapsam uyarısı gösterilir ve ağ isteği gönderilmez.
  • Bütün Schema.org sözlüğü denetlenmez; özellik adlarındaki yazım hataları her zaman yakalanmaz.
  • HTML çalıştırılmaz ve sayfaya eklenmez; bloklar düz metin taramasıyla bulunur, sonuçlar metin olarak gösterilir. JavaScript ile sonradan eklenen işaretleme görülmez.
  • Girdiğiniz içerik tarayıcınızda işlenir ve sunucuya gönderilmez; paylaşım bağlantısına yalnız siz isterseniz eklenir.

Sık sorulan sorular

Rapor temizse Google zengin sonuç gösterir mi?

Hayır, bunu kimse garanti edemez. Araç yalnız sözdizimini, yapıyı ve seçili kuralları yerelde denetler. Zengin sonuç kararını içerik ve politika değerlendirmesiyle Google verir.

Önerilen alan eksikliği neden hata değil?

Google birçok türde önerilen alanları ayrı listeler ve bunların eksikliği işaretlemeyi geçersiz kılmaz. Araç bu farkı korur; örneğin Article için image eksikse yalnız öneri gösterir.

Harici bir @context kullanıyorum; neden uyarı alıyorum?

Araç ağ isteği yapmadığı için harici bağlam dosyasını indirmez ve içindeki eşlemeleri bilemez. Türler Schema.org kısa adlarıyla yorumlanır, ancak sonuç bu sınırla birlikte okunmalıdır.

Birden fazla JSON-LD bloğunu aynı anda kontrol edebilir miyim?

Evet. HTML yapıştırdığınızda her application/ld+json bloğu numaralanır. Bir bloktaki sözdizimi hatası diğer blokların incelenmesini engellemez ve konum orijinal HTML'e göre verilir.

Yazdığım içerik bir yere kaydediliyor mu?

Hayır. Doğrulama tarayıcınızda çalışır; metin sunucuya gönderilmez, yerel depolamaya da yazılmaz. Paylaşım bağlantısına girdi eklemek varsayılan olarak kapalıdır.

Yayın: · Güncelleme: