İletişim

Microdata Nedir?

Kısa tanım

Microdata, yapılandırılmış veriyi doğrudan HTML öğelerinin içine itemscope, itemtype ve itemprop gibi özniteliklerle gömen ve HTML standardının parçası olan bir işaretleme yöntemidir. Böylece sayfada görünen metin aynı zamanda makinece okunabilir veriye dönüşür. Google, Microdata'yı JSON-LD ve RDFa ile birlikte destekler; ancak bakımı daha kolay olduğu için JSON-LD'yi önerir.

Diğer adları: HTML Microdata, mikroveri, itemprop, Microdata ve RDFa

HTML etiketlerine eklenen microdata özniteliklerinin bir kişi varlığına ve özelliklerine dönüştüğünü gösteren diyagram

Beş öznitelik, iç içe bir öğe ağacı

Microdata, WHATWG'nin yayımladığı HTML standardında tanımlanır ve verinin taşıyıcısı olarak sayfanın kendi etiketlerini kullanır. Bunun için beş öznitelik vardır:

ÖznitelikNe yapar?
itemscopeYeni bir öğe (item) başlatır; altındaki özellikler bu öğeye aittir.
itemtypeÖğenin türünü mutlak bir URL ile belirtir, örneğin https://schema.org/Product.
itempropBir HTML öğesini, içinde bulunduğu öğenin bir özelliği olarak işaretler.
itemidSözlük destekliyorsa öğeye küresel bir kimlik verir.
itemrefÖğenin içinde olmayan, başka bir yerdeki öğeleri kimlik (id) üzerinden ona bağlar.

Özelliğin değeri, öğenin türüne göre farklı yerden okunur. Çoğu öğede etiketin metin içeriği alınır; meta öğesinde content, a ve link öğelerinde href, img öğesinde src, time öğesinde ise datetime özniteliği kullanılır. Bu kural, görünen metni değiştirmeden makineye farklı bir değer vermenin yoludur.

Bir ürün kartının Microdata ile işaretlenmesi

<div itemscope itemtype="https://schema.org/Product">
  <h1 itemprop="name">Çelik Termos 500 ml</h1>
  <img itemprop="image" src="/img/termos.jpg" alt="Çelik termos">
  <div itemprop="offers" itemscope itemtype="https://schema.org/Offer">
    <span>749,90 TL</span>
    <meta itemprop="price" content="749.90">
    <meta itemprop="priceCurrency" content="TRY">
    <link itemprop="availability" href="https://schema.org/InStock">
  </div>
</div>

Dikkat edilirse fiyat iki kez yer alır: kullanıcı "749,90 TL" görür, makine ise meta öğesinden ondalık noktalı "749.90" değerini okur. offers özelliği aynı zamanda yeni bir itemscope açtığı için Offer, Product'ın içine yerleşmiş ayrı bir öğe olur. İç içe yapı, HTML'in iç içe yapısını takip etmek zorundadır; bu da Microdata'nın hem gücü hem de kırılganlığıdır.

Microdata, RDFa ve JSON-LD yan yana

Google'ın desteklediği üç yapılandırılmış veri biçiminin üçü de aynı Schema.org sözlüğünü taşıyabilir; fark, verinin sayfada nerede ve nasıl durduğundadır.

MicrodataRDFaJSON-LD
Nerede durur?HTML öğelerinin öznitelikleriHTML öğelerinin öznitelikleriAyrı bir script bloğu
Temel öznitelik / anahtarlaritemscope, itemtype, itempropvocab, typeof, property@context, @type, @id
StandartWHATWG HTMLW3CW3C
Tasarım değişikliğine dayanıklılıkDüşükDüşükYüksek

RDFa, Microdata'ya benzer biçimde öznitelik tabanlıdır ama daha genel bir bağlantılı veri modelinden gelir ve birden fazla sözlüğü aynı sayfada karıştırmaya izin verir. Aynı ürün adı RDFa ile <div vocab="https://schema.org/" typeof="Product"><h1 property="name">…</h1></div> biçiminde yazılır. Pratikte iki biçim de benzer avantaj ve dezavantajları paylaşır. JSON-LD ise veriyi tamamen ayrı bir blokta tuttuğu için şablon değişikliklerinden etkilenmez; Google bu nedenle onu önerir.

Hâlâ mantıklı olduğu durumlar

  • Eski tema ve e-ticaret şablonları: Birçok hazır tema ürün ve yorum verisini yıllardır Microdata ile üretir. Çalışıyor ve doğruysa yalnızca biçim değiştirmek için müdahale etmek zorunlu değildir.
  • Görünen veriyle senkron zorunluluğu: Microdata, değerin doğrudan görünen öğeden okunduğu durumlarda sayfadaki metinle işaretlemenin birbirinden kopmasını zorlaştırır.
  • Taşıma döneminde dikkat: JSON-LD'ye geçerken aynı varlığı bir süre iki biçimde birden işaretlemek, değerler birbirini tutmuyorsa çelişkili veri üretir. Geçişi şablon bazında yapıp eski öznitelikleri temizlemek daha güvenlidir.

Microdata ile çalışırken en sık hata, tasarım güncellemesinde bir div'in taşınması ya da silinmesiyle itemprop'un yanlış öğenin altına düşmesidir. Bu yüzden şablon değişikliklerinden sonra Rich Results Test veya Schema Markup Validator ile yeniden doğrulama yapmak iyi bir alışkanlıktır.

İlgili terimler

← Sözlüğe dön