Harap pertimbangkan kode berikut yang ditandai dengan atribut untuk menyediakan mikrodata:
<!DOCTYPE html>
<html>
<head>
<title>Micro data test - Normal version</title>
</head>
<body>
<div itemscope itemtype="http://schema.org/Product">
<h1 itemprop="name">Product name</h1>
<img alt="" itemprop="image" src="http://placehold.it/200x200" />
<div itemprop="description">This is the product description.</div>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<meta content="in_stock" itemprop="availability" />
<span content="GBP" itemprop="priceCurrency">£</span><span itemprop="price">100.00</span>
</div>
</div>
</body>
</html>
Menggunakan Alat Pengujian Data Terstruktur Google memberikan hasil positif.
Ini baik-baik saja dalam contoh pengujian, namun, kami ingin mengimplementasikan mikrodata di berbagai situs yang struktur HTML-nya sangat bervariasi. Untuk mengimplementasikan atribut dengan cara ini akan membutuhkan seseorang untuk mengedit markup HTML secara manual pada setiap situs secara individual.
Lebih disukai, kami ingin dapat memanggil fungsi tunggal yang mengemas semua mikrodata di satu tempat; secara teknis ini dimungkinkan dengan menggunakan meta tag dengan cara berikut:
<!DOCTYPE html>
<html>
<head>
<title>Micro data test - Meta tag version</title>
</head>
<body>
<meta itemscope itemtype="http://schema.org/Product" itemref="microName microImage microDescription microOffer" />
<meta id="microName" itemprop="name" content="Product name" />
<link id="microImage" itemprop="image" href="http://placehold.it/200x200" />
<meta id="microDescription" itemprop="description" content="This is the product description." />
<meta id="microOffer" itemprop="offers" itemscope itemtype="http://schema.org/Offer" itemref="microCurrency microPrice microAvail" />
<meta id="microAvail" itemprop="availability" content="in_stock" />
<meta id="microCurrency" itemprop="priceCurrency" content="GBP" />
<meta id="microPrice" itemprop="price" content="100.00" />
<div>
<h1>Product name</h1>
<img alt="" src="http://placehold.it/200x200" />
<div>This is the product description.</div>
<div>£100.00</div>
</div>
</body>
</html>
Menggunakan Alat Pengujian Data Terstruktur Google memberikan hasil positif yang sama dengan tes pertama.
Untuk referensi (kami tidak akan pernah melakukan ini di situs yang sebenarnya) Alat Pengujian Data Terstruktur Google mengembalikan kesalahan jika Anda mencoba untuk melewatkan mikrodata yang disembunyikan oleh CSS.
Jadi, markup tag normal dan meta menghasilkan hasil yang sama, namun, saya memiliki beberapa kekhawatiran karena pernyataan berikut dari Google dan Schema.org:
https://support.google.com/webmasters/answer/146750 menyatakan:
Secara umum, Google akan menggunakan hanya data yang ditandai yang terlihat oleh pengguna. Data tersembunyi akan diabaikan. Namun, dalam beberapa keadaan, mungkin bermanfaat untuk menyediakan versi konten yang bisa dibaca mesin dan versi yang bisa dibaca manusia. Misalnya, sementara string teks "Ulang tahun Elvis" penting bagi banyak pembaca manusia, itu tidak berarti bagi mesin pencari seperti 1935-01-08. Demikian pula, pembaca manusia dapat menyimpulkan arti dari simbol $, tetapi dapat bermanfaat untuk secara khusus memberi tahu mesin pencari apakah harga Anda dalam peso atau dolar.
http://schema.org/docs/gs.html menyatakan (terkait dengan penggunaan tag meta):
Teknik ini harus digunakan dengan hemat. Hanya gunakan meta dengan konten untuk informasi yang tidak bisa ditandai.
http://schema.org/docs/faq.html#13 menyatakan:
Sebagai aturan umum, Anda harus menandai hanya konten yang dapat dilihat oleh orang-orang yang mengunjungi halaman web dan bukan konten di div tersembunyi atau elemen halaman tersembunyi lainnya.
Pertanyaan saya adalah:
- Meskipun tidak ada kesalahan yang dikembalikan, apakah kita akan dihukum oleh mesin pencari untuk menggunakan meta tag dengan cara ini (yaitu duplikat konten, menyembunyikan informasi dll)?
- Jika ini tidak cocok, bisakah Anda menyarankan cara untuk memisahkan mikrodata dari data aktual atau akankah kita harus menggigit peluru dan mengimplementasikannya dalam HTML berdasarkan kasus per kasus?