Saya telah bereksperimen dengan Microdata dan berpikir saya akan mencobanya di blog saya. Ternyata templat yang saya gunakan sudah menambahkan beberapa markup. Itu tidak bagus dan jadi saya memperbaiki apa yang saya bisa.
Untuk mencoba dan mendorong keberuntungan saya, saya telah menambahkan markup lebih banyak ke posting terbaru saya tetapi Alat Pengujian Data Terstruktur Google (SDTT) tidak senang dengan itemprop='image'
atribut dan saya tidak yakin mengapa.
Ini adalah pemahaman saya, mengabaikan semua kode di antaranya, bahwa saya telah menyusun data sebagai berikut:
<div itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<div itemprop='articleBody'>
<a href="1.png" itemprop="url"><img itemprop="image sharedContent" src="1.png" /></a>
<a href="2.png" itemprop="url"><img itemprop="image sharedContent" src="2.png" /></a>
<a href="3.png" itemprop="url"><img itemprop="image sharedContent" src="3.png" /></a>
</div>
</div>
Dan ini terlihat benar bagi saya.
BlogPosting
dapat memiliki properti articleBody
dan image
menurut https://schema.org/BlogPosting , tetapi menurut SDTT:
Atribut tipetype memiliki nilai yang tidak valid.
Memang, saya baru saja mencoba SDTT dengan kode contoh di atas dan gagal memvalidasi.
Jadi saya jelas kehilangan sesuatu. Apa yang saya lakukan salah?
sumber
Jawaban:
schema.org/BlogPosting gambar memungkinkan ImageObject dan URL, namun Google hanya mengizinkan ImageObject , karena itu kesalahannya. Markup yang dimaksud adalah:
Perbedaan lainnya adalah schema.org/ImageObject merekomendasikan
contentUrl
, tetapi Google merekomendasikanurl
, maka penggunaan saya di atas.Menanggapi kode komentar Anda, struktur Anda masih salah. Saya akan mengambilnya baris demi baris:
Poin minor, tetapi kecuali Anda menggunakan XHTML,
itemscope='itemscope'
itu salah. Gunakanitemscope
(seperti yang Anda lakukan nanti).ImageObject Anda adalah anak dari properti articleBody, tetapi Anda belum mengaitkannya dengan cara ini. Seperti ini, Anda memiliki artikelBody tanpa properti terkait dan ImageObject yang tidak terkait. Kamu harus menggunakan
Juga,
/>
tidak benar, bahkan jika Anda mencoba XHTML karena elemen ini memiliki anak dan penutup</div>
. Cukup gunakan>
seperti yang saya sertakan dalam cuplikan di atas.Apa yang sharedContent lakukan di sini? sharedContent mengharapkan CreativeWork bila digunakan sebagai properti dari SocialMediaPosting - tidak pernah sebagai properti dari ImageObject dan tidak pernah di img.
Cuplikan kode Anda yang lain yang menempatkan properti sharedContent seperti di bawah ini juga salah.
Sementara sharedContent sekarang di tempat yang tepat, itu masih perlu menjadi CreativeWork. ImageObjects Anda masih tidak terkait dengan BlogPosting, seperti yang ditunjukkan oleh Alat Pengujian Data Terstruktur.
Berikut ini adalah kode yang benar.
sumber
ImageObject
gagal dengansharedContent
sebagai anak itu: pastebin.com/cSgVZNyE . MenghapussharedContent
membuatnya senang: pastebin.com/rieWwSM6 . Membungkus masing-masingimage
dalam orangtuasharedContent
( pastebin.com/AmpBDqJs ) divalidasi dengan gembira, tetapi apakah ini karena STDD Google mengabaikannya? STDD cukup senang jikacontentURL
digunakan juga : pastebin.com/23wBvx8F . Jadi sepertinya saya melakukannya dengan benar dan Google melakukannya dengan salah? Itu pasti yang pertama. 😉 Saya rasa saya bisa menenangkan mereka semua dengan menambahkan semua tag yang relevan. Terima kasih! 😀sharedContent
- Saya telah menggunakan itu semua salah. Saya sudah menghapusnya sekarang. Memiliki orang lain melihat skema saya melihat saya pikir saya tidak perlu menggunakannya dalamCreativeWork
. Abaikan saja/>
, itu diketik terburu-buru 😉, dan kode aslinya adalah XHTML. Saya hanya mencampur keduanya dalam contoh saya (karenanya dua versiitemscope
). Kode terakhir benar, jujur! 😁Saya memiliki masalah yang sama dengan Google Structured Data Tester menandai gambar saya sebagai tidak valid. Tampaknya itu tidak menerima gambar di mana sumbernya adalah domain host lokal. Segera setelah saya ditempatkan ke server panggung, markup terstruktur melewati validasi.
sumber