![]() |
Pengertian Mikrodata Blogger |
Sebagian kecil contoh telah kami berikan dalam penerapan navigasi breadcrumbs dengan microdata. Sedangkan secara keseluruhan, saya akan mencoba untuk menguraikan pada posting ini. Perlu menjadi catatan bahwa microdata yang dimaksud merujuk kepada schema.org, seperti Blog, BlogPosting, dan Comment. Kemudian hal-hal yang terkait dengan ‘basa-basi publik’ rating blog yang dibuat oleh pengelola sendiri tidak disertakan.
![]() |
Tampilan Mikrodata |
Markah (markup) meta deskripsi blog
Oleh karena meta deskripsi telah dimasukkan dalam blog tepatnya pada markah <b:include data='blog' name='all-head-content'/> kemungkinan meta deskripsi microdata berikut kurang bermanfaat. Terkecuali untuk memperkaya cuplikan struktur data. Meta deskripsi dengan microdata ini dapat diletakkan di bawah <body> atau di bawah pengkodean navbar.
<body expr:class='"loading" + data:blog.mobileClass'>Catatan: kode yang diberi warna biru merupakan deskripsi yang akan ditampilkan pada pengujian rich snippets.
<b:if cond='data:blog.pageType == "index"'>
<div itemscope='itemscope' itemtype='http://schema.org/Blog' style='display: none;'>
<b:if cond='data:blog.pageName == ""'>
<!-- Add schema.org description on home page -->
<b:if cond='data:blog.metaDescription'>
<meta expr:content='data:blog.metaDescription' itemprop='description'/>
</b:if>
<b:else/>
<!-- Avoid duplicate schema.org description on label and search page -->
<b:if cond='data:blog.searchLabel'>
<meta content="Penelusuran arsip <data:blog.title/> berdasarkan label <data:blog.pageName/>" itemprop="description"/>
<b:else/>
<meta content="Arsip berdasarkan <data:blog.pageName/>" itemprop="description"/>
</b:if>
</b:if>
</div><!-- itemscope itemtype='http://schema.org/Blog' -->
<b:else/>
<b:if cond='data:blog.pageType == "archive"'>
<div itemscope='itemscope' itemtype='http://schema.org/Blog' style='display: none;'>
<!-- Add schema.org description on archive page -->
<meta content="Penelusuran arsip <data:blog.title/> berdasarkan bulan <data:blog.pageName/>" itemprop="description"/>
</div><!-- itemscope itemtype='http://schema.org/Blog' -->
<b:else/>
<div itemscope='itemscope' itemtype='http://schema.org/BlogPosting' style='display: none;'>
<!-- Add schema.org description on item and static page -->
<b:if cond='data:blog.metaDescription'>
<meta expr:content='data:blog.metaDescription' itemprop='description'/>
</b:if>
</div><!-- itemscope itemtype='http://schema.org/BlogPosting' -->
</b:if>
</b:if>
…
</body>
Markah schema.org/Blog
Apabila kita mengambil referensi berdasarkan template standar Blogger, maka skema microdata Blog akan terlihat seperti di bawah ini.
<b:if cond='data:blog.pageType == "index"'>Oleh karena alasan tertentu, maka markah itu saya kustomisasi, dimana sebagian diletakkan sebagai deskripsi (sub judul “Markah (markup) meta deskripsi blog”) & sisanya akan dikonfigurasi pada elemen lain, seperti pada elemen pembungkus. Detail akan ditunjukkan pada contoh pengkodean berikut ini.
<div itemscope='itemscope' itemtype='http://schema.org/Blog' style='display: none;'>
<meta expr:content='data:blog.title' itemprop='name'/>
<b:if cond='data:blog.metaDescription'>
<meta expr:content='data:blog.metaDescription' itemprop='description'/>
</b:if>
</div>
</b:if>
<div id='content' itemscope='itemscope' itemtype='http://schema.org/Blog'>
<header id='header-content'>
<div class='head-wrap'>
<div id='header-group'>
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='Title Blog (Header)' type='Header'/>
</b:section>
</div>
<div id='search'>
</div>
<nav id='main-menu'>
</nav>
</div>
</header>
…
<footer id='footer-content'>
<p>&copy; 2012 Aris Asmara diberdayakan oleh Blogger.com</p>
</footer></div>
Kustomisasi properti skema name, url, dan about
Kita dapat memasukkan format microdata melalui tag-tag tertentu, seperti <span> atau meta. Sedangkan properti skema Blog antara lain berisi name, url, dan about dapat dikonfigurasi melalui elemen header blog.
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>Markah schema.org/BlogPosting
<b:widget id='Header1' locked='true' title='Title Blog (Header)' type='Header'>
…
<b:includable id='title'>
<meta expr:content='data:blog.title' itemprop='name'/>
<meta expr:content='data:blog.homepageUrl' itemprop='url'/>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<data:title/>
<b:else/>
<a expr:href='data:blog.homepageUrl'><data:title/></a>
</b:if>
</b:includable>
<b:includable id='description'>
<div class='descriptionwrapper'>
<p class='description'itemprop='about'><span><data:description/></span></p>
</div>
</b:includable>
…
</b:widget>
</b:section>
Bagi pengguna template default pasti sudah tidak asing lagi dengan markah berikut, karena ia sudah dimasukkan oleh perancang.
<b:includable id='post' var='post'>Ketika kita melakukan uji coba terhadap struktur data, terdapat peringatan bahwa properti image_url, blogId, dan postId tidak termasuk dalam skema. Mengapa hal ini terjadi? Setelah kembali melihat beberapa properti yang dapat dimasukkan dalam skema BlogPosting pada schema.org, ternyata tidak satupun properti di atas digolongkan sebagai bagian skema BlogPosting. Oleh karena itu kita dapat menghilangkan atau melakukan konfigurasi ulang terhadap ketiga properti itu. Berikut merupakan konfigurasi untuk properti image_url.
<div class='post hentry' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<b:if cond='data:post.thumbnailUrl'>
<meta expr:content='data:post.thumbnailUrl' itemprop='image_url'/>
</b:if>
<meta expr:content='data:blog.blogId' itemprop='blogId'/>
<meta expr:content='data:post.id' itemprop='postId'/>
<a expr:name='data:post.id'/>
…
</b:includable>
Catatan: selain properti thumbnailUrl, kita dapat pula menandainya dengan properti image.
<b:if cond='data:post.thumbnailUrl'>
<meta expr:content='data:post.thumbnailUrl' itemprop='thumbnailUrl'/>
</b:if>
Sedangkan properti blogId dan postId — setahu saya — dulu berada pada elemen <post-footer>, tepatnya dalam kode post-author. Mungkin alasan pemindahan tersebut nantinya akan terkait dengan skema struktur data Product (red: hanya opini saya). Kembali ke pokok utama, untuk sementara properti blogId dan postId dihilangkan dari hirarki skema, namun akan dimasukkan kembali dalam kode post-author dengan konfigurasi sebagai berikut:
<span class='post-author vcard'>Catatan: untuk melihat apakah landasan properti tersebut benar atau keliru, mari kita amati pada http://schema.org/Person.
<b:if cond='data:top.showAuthor'>
<data:top.authorLabel/>
<b:if cond='data:post.authorProfileUrl'>
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta expr:content='data:blog.blogId' itemprop='owns'/>
<meta expr:content='data:post.id' itemprop='owns'/>
<meta expr:content='data:post.authorProfileUrl' itemprop='url'/>
<a expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
<span itemprop='name'><data:post.author/></span>
</a>
</span>
<b:else/>
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta expr:content='data:blog.blogId' itemprop='owns'/>
<meta expr:content='data:post.id' itemprop='owns'/>
<span itemprop='name'><data:post.author/></span>
</span>
</b:if>
</b:if>
</span>
Properti name dan url
<a expr:name='data:post.id'/>Penambahan markah skema BlogPosting pada tag entry-title bisa terdiri dari beberapa versi. Seorang blogger mungkin tetap pada properti tersebut, sedangkan yang lain menambahnya menjadi itemprop='name headline' atau merubahnya menjadi itemprop='headline'. Variasi itu tidak akan menimbulkan pesan peringatan, ketika di uji pada alat rich snippets. Kemudian kita dapat pula menambahkan properti url yang ditunjukkan oleh markah di bawah ini.
<b:if cond='data:post.title'>
<h3 class='post-title entry-title' itemprop='name'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link'><data:post.title/></a>
<b:else/>
<b:if cond='data:post.url'>
<b:if cond='data:blog.url != data:post.url'>
<a expr:href='data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
<b:else/>
<data:post.title/>
</b:if>
</b:if>
</h3>
</b:if>
<b:if cond='data:post.link'>Catatan: itemprop='url' tidak akan ditampilkan pada halaman posting, sehingga diperlukan kostumisasi kembali jika ingin memunculkannya. Nah, masalah ini akan dibahas pada penggunaan elemen post-timestamp.
<meta expr:content='data:post.link' itemprop='url'/>
<a expr:href='data:post.link'><data:post.title/></a>
<b:else/>
<b:if cond='data:post.url'>
<b:if cond='data:blog.url != data:post.url'>
<meta expr:content='data:post.url' itemprop='url'/>
<a expr:href='data:post.url'><data:post.title/></a>
<b:else/>
…
</b:if>
Properti articleBody
Skema BlogPosting dengan properti ini telah terdapat pula pada template standar Blogger™ dengan peletakkan yang unik & menarik.
<b:if cond='data:blog.metaDescription == ""'>Saya rasa ini merupakan terobosan yang sangat baik dari perancang. Konfigurasi pengkodean di atas akan berperan untuk membantu pengelola blog, terutama yang sudah ‘menelurkan’ banyak posting. Apa alasanya? Coba kita perhatikan markah tersebut, penggunaan <b:if cond='data:blog.metaDescription == ""'> dan diiringi dengan itemprop='description articleBody' merupakan kata kunci agar duplikasi meta deskripsi posting tidak terjadi, jika penulis lupa memasukkan deskripsi pada editor posting atau tidak mengaktifkan meta deskripsi dalam setelan pengaturan pada preferensi penelusuran. Arti sederhananya mungkin adalah deskripsi posting akan diterjemahkan secara otomatis, meskipun penulis tidak memasukkannya. Namun jika meta deskripsi posting telah dimasukkan penulis, maka yang akan ditampilkan adalah hasil isian dari penulis posting tersebut.
<!-- Then use the post body as the schema.org description, for good G+/FB snippeting. -->
<div class='post-body entry-content' expr:id='"post-body-" + data:post.id' itemprop='description articleBody'>
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
<b:else/>
<div class='post-body entry-content' expr:id='"post-body-" + data:post.id' itemprop='articleBody'>
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
</b:if>
Properti articleSection
Para blogger yang biasanya menambah beberapa elemen di bawah posting — elemen posting terkait — dapat memanfaatkan markah articleSection. Tetapi ia bukan articleBody, agar lebih jelas akan saya coba contohkan seperti yang ditunjukkan pada pengkodean berikut.
<b:if cond='data:blog.metaDescription == ""'>Properti url dan datePublished pada post-timestamp
<!-- Then use the post body as the schema.org description, for good G+/FB snippeting. -->
<div class='post-body entry-content' expr:id='"post-body-" + data:post.id' itemprop='description articleBody'>
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
<b:if cond='data:blog.pageType == "item"'>
<aside class='related-posts' itemprop='articleSection'>
…
</aside>
<div class='clear;'></div>
</b:if>
<b:else/>
<div class='post-body entry-content' expr:id='"post-body-" + data:post.id' itemprop='articleBody'>
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
<b:if cond='data:blog.pageType == "item"'>
<aside class='related-posts' itemprop='articleSection'>
…
</aside>
<div class='clear;'></div>
</b:if>
</b:if>
Properti ini juga telah ditambahkan oleh perancang template Blogger. Ketika sebuah halaman posting terbuka, maka judul posting umumnya tidak memiliki pranala (link). Oleh karena itu skema microdata dengan properti url dialihkan ke elemen post-timestamp. Dengan catatan pengelola blog belum melakukan perubahan struktur data pada entry-title (post-title).
<span class='post-timestamp'>Catatan: ada yang merasa aneh pada kode yang berwarna biru? Hal itu hanya ‘latah’ saya untuk menghilangkan peringatan pada alat rich snippets ketika menguji struktur data blog ini.
<b:if cond='data:top.showTimestamp'>
<data:top.timestampLabel/>
<b:if cond='data:post.url'>
<meta expr:content='data:post.url' itemprop='url'/>
<a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601' itemprop='datePublished'><span class='updated'><data:post.timestamp/></span></abbr></a>
</b:if>
</b:if>
</span>
Properti discussionUrl
Skema properti ini akan muncul jika dan hanya jika pengelola menampilkannya pada halaman indeks, sedangkan pada halaman posting atau halaman statis biasanya tidak ditampilkan. Meskipun ditampilkan, maka besar kemungkinan pengkodean dengan menempatkan itemprop='discussionUrl' akan sama pula.
<span class='post-comment-link'>Properti keywords
<b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:blog.pageType != "static_page"'>
<b:if cond='data:post.allowComments'>
<a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick' itemprop='discussionUrl'>
<data:post.commentLabelFull/>
</a>
</b:if>
</b:if>
</b:if>
</span>
Pengkodean dengan markah microdata BlogPosting dengan properti keywords secara sederhana dapat kita letakkan pada elemen post-labels.
<span class='post-labels'>Markah schema.org/Comment
<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><span itemprop='keywords'><data:label.name/></span></a><b:if cond='data:label.isLast != "true"'>,</b:if>
</b:loop>
</b:if>
</span>
Oleh karena kebanyakan para blogger menggunakan sistem komentar bersarang (threaded comments), maka konfigurasi hanya akan dilakukan di sekitar daerah judul komentar. Adapun properti yang dimanfaatkan sebagai markup adalah name dan interactionCount khusus pada jumlah komentar yang masuk. Menyisipkan atau memberi markup microdata pada sesi ini dibagi menjadi dua, yakni sebelum ada komentar (comments) & setelah ada komentar (threaded comments).
Khusus bagi penggunaan komentar tidak bersarang, markup microdata yang dimanfaatkan adalah itemprop='UserComments' dengan tipe schema.org/UserComments. Sedangkan propertinya antara lain: commentText, commentTime, creator, dan replyToUrl serta dapat pula ditambahkan schema.org/Person sebagai bagian di dalam struktur schema.org/comment. Sedangkan penggunaan kode dengan latar berwarna kuning menjelaskan keterkaitan antara markah yang terkandung di dalam masing-masing tipe (itemtype), dimana mereka merupakan satu-kesatuan yang utuh.
<b:includable id='comments' var='post'>
<div class='comments' id='comments' itemprop='comment' itemscope='itemscope' itemtype='http://schema.org/Comment'>
<b:if cond='data:post.numComments != 0'>
<meta content="UserComments: <data:post.numComments/>" itemprop="interactionCount"/>
</b:if>
<a name='comments'/>
<h4 itemprop='name'><data:post.commentLabelFull/></h4>
…
</div>
</b:includable>
<b:includable id='threaded_comments' var='post'>
<div class='comments' id='comments' itemprop='comment' itemscope='itemscope' itemtype='http://schema.org/Comment'>
<b:if cond='data:post.numComments != 0'>
<meta content="UserComments: <data:post.numComments/>" itemprop="interactionCount"/>
</b:if>
<a name='comments'/>
<h4 itemprop='name'><data:post.commentLabelFull/></h4>
…
</div>
</b:includable>
Berdasarkan uraian yang sangat panjang di atas, format microdata dapat diterapkan beragam atau tergantung “pemberi markah”. Namun memberi sebuah markup terhadap data atau elemen tidak dapat dilakukan secara sembarangan, karena akan turut berpengaruh dalam menghasilkan markah yang semantik. Hal ini terkait pula dengan posting yang saya beri judul “Microdata pada Blogger.com”, sangat dimungkinkan terdapat kekeliruan atau kesalah-tafsiran, sehingga kritik dan saran sangat dibutuhkan untuk memperbaikinya. Seperti biasa Optimasi Blog selalu membuka formulir komentar lebar-lebar & seandainya telah ditutup pun kita masih bisa berbagi melalui halaman kontak. :)
Alat & Bahan bacaan
Berikut alat dan beberapa bahan bacaan yang mungkin akan menambah pengetahuan serta wawasan kita dalam memahami tentang struktur skema microdata.
Structured Data Testing Tool - Alat Webmaster Google.
Getting started with schema.org - schema.org.
Rich snippets (microdata, microformats, RDFa, and Data Highlighter) — Perkakas Webmaster: Tentang cuplikan kaya & data terstruktur.
Contoh
BerguruSEO ditemukan oleh bocah ingusan yang bernama Otong, namun lebih sering dijuluki teman-temanya dengan sebutan Morgan
Jika kita ingin menyisipkan Microdata pada kalimat diatas, maka cara pendeklarasiannya, kurang lebih sebagai berikut :
<div itemscope itemtype="hxxp://berguruseo.blogspot.com/p/about.html"><span itemprop="author">BerguruSEO<span> ditemukan oleh bocah ingusan yang bernama <span itemprop="name">Otong</span>, namun lebih sering dijuluki teman-temanya dengan sebutan <span itemprop="nickname">Morgan</span></div>
Penjelasan :
1. Pada baris pertama saya menggunakan itemtype="hxxp://berguruseo.blogspot.com/p/about.html"
Ini artinya, pada artikel tersebut saya ingin menjelaskan item (hal) mengenai Tentang Kami (blog dan author). Jika anda ingin lebih spesifik anda bisa mengisi URL diatas dengan :
▪ www.url blog anda.com/person (untuk mendeskripsikan informasi mengenai atau tentang Anda)
▪ www.url blog anda.com/article (untuk memberitahukan kepada search engine, bahwa microdata yang Anda buat adalah sebuah artikel)
Perlu diingat, Anda tidak perlu khawatir jika Blog Anda tidak mempunyai struktur url seperti : www.url blog anda.com/person
Ini tidak akan mengakibatkan Bad Link, karena disini kita hanya menuliskan url tersebut pada itemtype yang mana berada di dalam suatu div.
Jika Anda bingung, intinya menulis url tersebut tidak akan berdampak pada bertambahnya Bad Link pada Blog Anda, dan jika masih belum percaya, silahkan Anda baca tentang peryantaan serupa di (About Microdata - Webmaster Tools Help.
2. Itemprop yang saya gunakan Bahasa Inggris
Bukan sok inggris atau semacannya ya, melainkan ini lebih dikarenakan informasi yang saya dapat mengenai pengklasifikasian pada direktori mesin pencari, karena niche blog saya termasuk dalam niche global yaitu SEO. Lain ceritanya jika blog saya ini berniche Informasi Regional / Nasioal.
Sampai disini kita sudah bisa mengetahui Pengertian dan Cara Menyisipkan Microdata HTML5 pada suatu post atau artikel. Untuk selanjutnya, kita akan mempelajari apa Fungsi Microdata HTML5 untuk Blog pada umumnya dan Search Engine pada khususnya ? Langsung saja kita bahas satu persatu.
Fungsi Microdata Untuk Blog
Perlu ditegaskan, Microdata bukan untuk Optimasi atau Menaikkan Posisi Artikel atau Blog Anda di SERP, melainkan Microdata ini mempunyai Fungsi untuk Merubah Tampilan Pada Hasil Pencarian, Yang Tentunya Akan Mengundang Orang Untuk Mengklik Situs Anda.
Fungsi Microdata Untuk Search Engine
Penggunaan Microdata pada Blog Anda pun juga memberikan dampak pada Search Engine, yaitu memudahkan penempatan suatu artikel pada direktori mereka (google) tentunya pesan ini disampaikan oleh Google sendiri yang menganjurka kita untuk menggunakan Microdata (ketimbang Microformat atau RDFa).
Pengertian Mikrodata Blogger - Cara menerapkan mikro data pada blogger
0 Response to "Pengertian Mikrodata Blogger"
Post a Comment