JSON-LD.
JSON-LD, bir sayfanın anlamını makinelerin okuyabileceği biçimde bildiren ve sayfanın görünümünü hiç değiştirmeyen yapılandırılmış veri biçimidir.
Sayfanın içine ayrı bir blok olarak gömülür ve HTML'in yapısından bağımsızdır. Bu bağımsızlık, diğer iki yapılandırılmış veri biçimine göre en büyük avantajıdır: sayfanın görsel düzeni tamamen değişse bile blok aynı kalır ve kırılmaz.
Google'ın açıkça önerdiği biçim budur. Diğer biçimler işaretlemeyi HTML öğelerinin içine serpiştirir; bakımı zordur ve düzen değiştiğinde kolayca bozulur.
Bir blok, bağlamı bildiren bir alanla başlar ve düğümler içerir. Her düğümün bir tipi vardır ve o tipin schema.org'da tanımlı alanları doldurulur. Asıl değer, düğümlerin birbirine kimlikle bağlanmasındadır — bağsız düğümler dağınık bir yığın, bağlı düğümler bir grafik oluşturur.
En tehlikeli kullanım biçimi, ekranda olmayan bir bilgiyi bildirmektir. Bu hem arama motoru kurallarının açık ihlalidir hem de sayfayı kendisiyle çelişir hâle getirir. Doğru kalıp: şema yeni bilgi eklemez, var olan bilgiyi makine diline çevirir.
Sessiz kırılır: bir blok bozulduğunda sayfa normal görünmeye devam eder ve hiçbir hata mesajı çıkmaz. Bu yüzden doğrulama, dağıtım sürecinin bir parçası olmalıdır.
Bakım tarafı da önemlidir: elle yazılan şemalar birkaç ay içinde gerçeğinden ayrışır. Sayfa değişir, şema kalır. Bu yüzden şemanın üretici tarafından, sayfanın kendi verisinden çıkarılması tercih edilmelidir — ayrışma yapısal olarak imkânsız hâle gelir.
Ve doğrulama iki katmanlıdır: sözdizimi otomatik araçlarla, anlam ise insan yargısıyla denetlenir. Hatasız ama anlamsız bir grafik teknik olarak geçerlidir ve hiçbir işe yaramaz.
- Tek blok, çok düğüm — sayfadaki tüm düğümler tek bir grafikte toplansın.
- Sabit kimlikler — kuruluş, kişi ve site bir kez tanımlansın, her yerden atıf alsın.
- Sayfanın kendi düğümü — her sayfa kendi kimliğini taşısın.
- Kırıntı yolu — sayfanın hiyerarşideki yeri.
- İçerik düğümü — sayfa türüne göre makale, hizmet ya da tanım.
Bu sıra atlanabilir ama atlandığında üst katmanlar boşa çalışır: kimlik düğümü olmayan bir makale düğümü yazarını gösteremez, site düğümü olmayan bir sayfa hangi siteye ait olduğunu söyleyemez.