Langsung ke konten utama

Membuat Komentar Blogger Simple SEO Ringan dengan Schema.org

Komentar merupakan salah satu bagian dari blog yang digunakan untuk pertanyaan, pendapat, dan bisa juga berdiskusi. Komentar bawaan blogger tersedia dalam 2 jenis yaitu yang biasa tidak ada fitur balas komentar (Comments) dan yang bertingkat (Threaded Comments) dengan fitur balas komentar. Kedua jenis komentar tersebut tidak menyertakan schema data terstruktur, yang tentunya berfungsi untuk SEO.

Dengan adanya schema.org komentar yang positif dapat dengan mudah dibaca / index oleh mesin google dan tentunya dapat berguna untuk reputasi blog di pencarian google. Karena google sendiri juga menggunakan komentar untuk menilai konten, intinya reaksi pengunjung setelah membaca artikel. Mungkin dengan ditambahkannya schema akan lebih baik jika dibandingkan dengan tanpa schema.

Blog ManKoin menggunakan komentar dengan schema.org, pada postingan kali ini membahas tentang membuat komentar dengan banyak fitur tapi sederhana. Awalnya ini dari blogger lain yang meminta membuat komentar seperti blog ini. Tapi, karena panjang saya posting sekalian di blog ini.

Dan kali ini adalah cara untuk membuat komentar blogger bisa lebih SEO dengan schema.org. Tidak hanya itu komentar ini juga super ringan, tanpa javascript eksternal seperti jQuery, dan bisa juga untuk fitur yang lain-lain.

Fitur komentar

  1. Valid HTML5 - memiliki struktur yang baik
  2. Sangat Ringan - tanpa javascript eksternal
  3. SEO - dengan schema.org
  4. Threaded comment - komentar bertingkat (balas komen)
  5. Anti backlink - menghapus link aktif apapun pada komentar dengan snippet.
  6. Valid AMP - bisa digunakan untuk blog AMP

Dari segi fiturnya cukup menarik dan bagus, utamanya Anti backlink untuk mengatasi (menghapus) backlink yang aktif. Tapi ini ada kekurangannya, pertama komentar dikelola atau di buat di blogger. Artinya saya merasa kalau ini bisa membuat respon dari server lebih lambat apalagi jika jumlah komentarnya banyak. Walaupun mungkin waktu respon server sama saja seperti komentar bawaan blogger. Kedua, jika terdapat komentar yang banyak (lebih dari 200) tidak ada tombol load more atau paginasi.

* Penting jika ingin menggunakan komentar ini - kode komentar blogger seo ini menggunakan "post.numberOfComments". Dan kode tersebut hanya support "Gadget Versi 2" dan "layout Versi 3". Artinya sarat menggunakannya, template harus sudah versi terbaru. jika tidak, nanti malah akan error. Tetapi ada kok.

Cara mengatasinya ganti kode "data:post.numberOfComments" menjadi "data:post.comments.length". biar bisa digunakan untuk template lama. silahkan lanjutkan sendiri.

Pertama mulai dengan menaruh CSS style. CSS saya buat simple, artinya tampilan komentar juga simpel sepeti blog ini. Tujuannya biar mudah dan nyaman digunakan, walaupun tampilan tidak sebagus para mastah.

Select All
/*By: mankoin.com*/
*,:after,:before{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}
#comment-holder,.thread-chrome{margin:0;padding:0;position:relative;z-index:1;}
b{font-weight:700;}
cite,i{font-style:italic;}
a,a:link{color:#2962ff;}
a:link,a:visited{text-decoration:none;}
p{margin-top:20px;margin-bottom:20px;}
:focus{outline:0;}
h4{line-height:normal;font-weight:700;margin-bottom:10px;}
h4{font-size:110%;}
li,ul{margin:5em 0;}
ul{list-style:disc;}
a:focus,a:hover,a:link:hover,a:visited:hover{color:#2962ff;}
:target:before{content:"";display:block;height:40px;margin-top:-40px;visibility:hidden;}
#comments h4{margin-top:0;font-size:22px;}
#threaded-comment-form p,.comment-form p{line-height:24px;padding:10px;margin-top:0;border-radius:2px;position:relative;background-color:#eee;color:#444;font-size:16px;margin-bottom:10px;font-weight:500;}
#threaded-comment-form p:before,.comment-form p:before{content:"";width:0;height:0;position:absolute;top:100%;left:30px;border:10px solid transparent;border-top-color:#eee;display:block;}
.comment-replies{padding-left:10px;border-left:1px solid #ccc;margin-top:15px;}
#comments .comment{list-style-type:none;padding:15px 10px;box-shadow:inset 0 -1px 0 0 rgba(100,121,143,.122);margin:0;}
#comments .comment-reply{padding:10px 10px 5px;list-style-type:none;background-color:#fafafa;margin-bottom:0;}
.avatar-image-container{width:35px;height:35px;float:left;background-image:url("data:image/svg+xml;charset=utf8,%3csvg viewBox='0 0 24 24' width='35' height='35' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cg%3e%3cpath style='fill:%234374e0' d='M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z'%3e%3c/path%3e%3c/g%3e%3c/svg%3e");background-repeat:no-repeat;}
.comment-block:hover .item-control{opacity:1;}
.comment-header a.user{font-size:15px;font-style:normal;font-weight:700;color:#202124;}
.reply-to{cursor:pointer;}
.comment-header .datetime a{bottom:0;color:rgba(0,0,0,.54);display:inline-block;font-size:13px;font-style:italic;}
.datetime a{color:rgba(0,0,0,.54);}
.comment-content p{margin:7px 0 10px;font-size:16px;}
#comment-editor{border:0;width:100%;height:250px;}
.comments .continue{display:inline-block;margin-top:10px;}
#addcomment+#threaded-comment-form{margin-top:-55px;}
#addcomment{color:#fff;margin:20px 10px;text-align:center;padding:6px;cursor:pointer;font-weight:700;font-size:17px;border-radius:2px;}
#addcomment{background-color:#31a954;}
#comments .comment:hover{box-shadow:0 1px 3px 1px rgba(60,64,67,.15);}
.comment-reply:hover{box-shadow:0 1px 2px 0 rgba(60,64,67,.3);}
.item-control{background-color:transparent;opacity:0;}
.item-control,.item-control:hover{position:absolute;top:0;right:0;padding:5px;border-radius:17px;}
.comment-block{position:relative;}
.item-control a:before{content:'';border-radius:50%;background-color:rgba(32,33,36,.059);line-height:0;width:24px;height:24px;display:none;}
.item-control a:after,.reply-to:before{content:'';width:24px;height:24px;background-repeat:no-repeat;vertical-align:middle;}
.item-control a:after{opacity:54;background-image:url("data:image/svg+xml;charset=utf8,%3csvg viewBox='0 0 24 24' width='24' height='24' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cg%3e%3cpath style='fill:%23000000' d='M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z'%3e%3c/path%3e%3c/g%3e%3c/svg%3e");background-size:24px 24px;display:block;}
.comment-header{margin-left:45px;line-height:17px;}
.reply-to{color:#5f6368;padding:3px 8px 5px 5px;box-shadow:inset 0 0 0 1px #dadce0;border-radius:4px;}
.comment-actions{margin:10px 0 0;}
.comment-reply:hover .item-control,.item-control:hover a::after{opacity:1;}
.reply-to:before{background-image:url("data:image/svg+xml;charset=utf8,%3csvg viewBox='0 0 24 24' width='24' height='24' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cg%3e%3cpath style='fill:%23757575' d='M10,9V5L3,12L10,19V14.9C15,14.9 18.5,16.5 21,20C20,15 17,10 10,9Z'%3e%3c/path%3e%3c/g%3e%3c/svg%3e");background-size:20px 20px;display:inline-block;}
.item-control:hover,.reply-to:hover{background-color:rgba(32,33,36,.059);}
.comment-replies .author-avatar{background-color:#fafafa;}
.user{display:block;}

Kedua mengganti kode pada templale. Cari kode dan hapus kode antara kode <b:includable id='threadedComments' var='post'> dan </b:includable>,ganti dengan kode berikut.

Select All
<b:includable id='commentblock' var='cb'>
 <div class='comment-block' itemprop='comment' itemscope='' itemtype='https://schema.org/Comment'>
 <div class='avatar-image-container'>
 <b:if cond='data:cb.level.authorAvatarSrc != &quot;//lh3.googleusercontent.com/zFdxGE77vvD2w5xHy6jkVuElKv-U9_9qLkRYK8OnbDeJPtjSZ82UPq5w6hJ-SA=s35&quot;'>
 <img class='author-avatar' expr:alt='data:cb.level.author' expr:src='data:cb.level.authorAvatarSrc' expr:title='data:cb.level.author' height='35' width='35' />
 </b:if>
 </div>
 <div class='comment-header'><b:if cond='data:cb.level.author != &quot;Unknown&quot;'><a expr:href='data:cb.level.authorUrl' rel='noopener external nofollow' target='_blank' class='user' itemprop='author' itemscope='' itemtype='https://schema.org/Person'><span itemprop='name'><data:cb.level.author/></span></a><b:else/><span class='user'>Unknown</span></b:if><span class='datetime secondary-text' itemprop='datePublished'><a expr:href='&quot;#c&quot; + data:cb.level.id' itemprop='url'><data:cb.level.timestamp/></a></span></div>
 <div class='comment-content' itemprop='text'>
 <p>
 <b:if cond='data:cb.level.authorUrl != data:post.author.profileUrl'><b:eval expr='data:cb.level.body snippet { links: false }' /><b:else/>
 <data:cb.level.body/>
 </b:if>
 </p>
 </div>
 <b:if cond='data:cb.d'><span expr:class='&quot;item-control &quot; + data:cb.level.adminClass'><a expr:href='data:cb.level.deleteUrl' rel='noopener external nofollow' target='_blank'/></span></b:if>
 </div>
</b:includable>
<b:includable id='threadedComments' var='post'>
 <section class='comments threaded' expr:data-embed='data:post.embedCommentForm' expr:data-num-comments='data:post.numberOfComments' id='comments'>
 <h4><data:messages.postAComment/>:</h4>
 <b:if cond='data:post.numberOfComments &gt; 0'>
 <div class='comments-content'>
 <meta expr:content='data:post.numberOfComments' itemprop='commentCount' />
 <ol id='comment-holder'>
 <b:loop values='data:post.comments where (c =&gt; not c.inReplyTo)' var='commentLevel1'>
 <li class='comment' expr:id='&quot;c&quot; + data:commentLevel1.id'><b:include data='{level: data:commentLevel1,d: true}' name='commentblock' />
 <div class='comment-actions'><span class='reply-to' expr:data-reply-to='data:commentLevel1.id'>Balas</span></div>
 <b:with value='data:post.comments where (c =&gt; c.inReplyTo == data:commentLevel1.id)' var='commentL2'>
 <b:if cond='data:commentL2.size != &quot;0&quot;'>
 <div class='comment-replies'>
 <ul class='thread-chrome thread-expanded'>
 <b:loop values='data:commentL2' var='commentLevel2'>
 <li class='comment-reply' expr:id='&quot;c&quot; + data:commentLevel2.id'><b:include data='{level: data:commentLevel2,d: true}' name='commentblock' /></li>
 </b:loop>
 </ul>
 <div class='continue'><span class='reply-to' expr:data-reply-to='data:commentLevel1.id'>Balas</span></div>
 </div>
 </b:if>
 </b:with>
 </li>
 </b:loop>
 </ol>
 </div>&lt;div class=&#39;comment-form&#39;&gt;
 <script>
 var comment = true;
 </script>
 <div aria-label='Berkomentar' id='addcomment' role='button'>Tambahkan Komentar</div><b:else/>
 <meta content='0' itemprop='commentCount' />
 <script>
 var comment = false;
 </script>&lt;div class=&#39;comment-form&#39;&gt;</b:if>
 <div id='threaded-comment-form'>
 <p>Berkomentar sopan dan baik. Ada kata buruk atau berisi tautan url/link aktif, komentar tidak akan disetujui atau disetujui dengan link mati! | Berdiskusi gunakan <b>Disqus</b>!</p>
 <iframe class='blogger-iframe-colorize blogger-comment-from-post' expr:data-src='data:post.commentFormIframeSrc' height='250' id='comment-editor' name='comment-editor' width='100' />
 </div>&lt;/div&gt;</section>
<script>//<![CDATA[mankoin.com
document.addEventListener("DOMContentLoaded", function() {
 var a=document,
 b = a.getElementById("comment-editor"),
 d = b.getAttribute("data-src");
 if (b.setAttribute("src", d), 1 == comment) {
 var f = a.getElementsByClassName("reply-to"),
 c = a.getElementById("threaded-comment-form"),
 h = f.length,
 k = function(b, d, e, f) {
 b.addEventListener("click", function() {
 var c = b.getAttribute("data-reply-to");
 a.getElementById("c" + c).appendChild(d);
 e.src = f + "&parentID=" + c
 })
 };
 for (i = 0; i < h; i++) k(f[i], c, b, d);
 var l = a.getElementsByClassName("comment-form")[0];
 a.getElementById("addcomment").addEventListener("click", function() {
 l.appendChild(c);
 b.src = d
 })
 }
}); //]]></script>
 </b:includable>

Setelah mengganti komentar bawaan blogger, coba cek apakah ada kesalahan atau masalah. Untuk postingan selanjutnya Komentar Blogger Valid AMP dan Anti Backlink Spam.

Mungkin hanya itu dan sekian tentang custom komentar blogger.

Update Tampilan Baru 30/01/2019.

Komentar

  1. Saya coba di tema amp saya. :v

    BalasHapus
  2. apakah panjangnya baris scrip html di blogger (blogspot) dapat mempengaruhi respon server jadi lebih lambat gitu mas?

    BalasHapus
    Balasan
    1. iya mas bisa saja, tapi mungkin tidak terasa.

      Saya sendiri tidak telalu tahu, soal respon server. Tapi dari batasnya blogger (yang saya baca) tidak boleh lebih dari 1MB (htmlnya).

      Hapus
  3. Terimakasih Artikelnya sangat membantu saya mengerjakan SEO
    Salam

    BalasHapus
  4. apa fitur NOTIFY ME pada form komentar blogger ini berfungsi ? sya coba centang dan balas komentar tp gak ada email pemeberitahuan yah ?

    BalasHapus
    Balasan
    1. Setahu saya semua komentar blogger sama-saja (berfungsi).

      Hapus
  5. maaf permisi bos, tombol untuk balas nggak berfungsi yah di blog saya?

    BalasHapus
  6. maaf gan, ane salah kamar, tapi gak apa apa ya gan kalau saya nanya bisa apa tidak scrip diatas buat agar komentar blog nofollow, soalnya blog ane dofollow, sudah diganti rel nofollow tapi tetap saja dofollow terus.
    sebelumnya terima kasih gan

    BalasHapus
    Balasan
    1. Saya bingung maksud blog DoFollow dan NoFollow itu kaya gimana. Dan apa perbedaan menonjolnya.

      Hapus
  7. bagaimana menyisipkan code di dalam kolom komentar ? tag pre code gak bisa. ada solusi ?

    BalasHapus
    Balasan
    1. Tidak ada, blogger melarang tag tersebut.

      Hapus
    2. beberapa blogger ada yg bisa. maksudnya gak harus tag pre.. siapa tau bisa di akalin menggunakan tag lain yg berfungsi di kolom komentar

      Hapus
    3. Itu menggunakan javascript. Atau menggunakan tag italic dengan atribut "rel", lalu tampilan css menggunakan rel[volume atribut].

      Hapus
  8. saya coba pasang dan berhasil.
    Tapi ketika saya mau ngasih tanda berbeda pada komentar admin (tanda centang biru atau sebagainya), kok gak bisa ya. Saya cari tag icon user blog-author gak ada.
    Bisa dibantu bagaimana cara pasang tanda centang biru pada komentar admin agar bisa work di script komentar yang anda bagikan ini mas.?
    terima kasih.

    BalasHapus
    Balasan
    1. Coba, sebelum kode </cite> masukkan kode berikut <b:if cond='data:post.adminClass == data:comment.adminClass'> ✔</b:if>. Tanda centang hanya contoh.
      * elemen cite ada dua, di tingkat 1 dan 2. Taruh aja di tingkat 2, karena admin kebanyakan hanya balas komentar.

      Hapus
  9. oh iya mas arif, gimana biar bisa komentar pake link aktif tapi khusus untuk admin saja. karena biasanya saya mau kasih link menuju artikel rujukan di dalam komentar tp tidak bisa..

    BalasHapus
    Balasan
    1. perhatikan data:cb.level.authorUrl != data:post.author.profileUrl. jika penulis komentar adalah penulis artikel maka link pada komentar akan hidup. tetapi jika ada kendala dengan data:post.author.profileUrl anda dapat mengubahnya menjadi "URL author" , contoh menjadi data:cb.level.authorUrl != "https://www.blogger.com/profile/05161451137030048111".

      Hapus

Posting Komentar

Postingan populer dari blog ini

Emulator Android terbaik 2020, Cepat dan Ringan

Emulator merupakan suatu software yang memungkinkan untuk menjalankan sistem operasi android. Dengan emulator, menjalankan aplikasi-aplikasi android akan terasa lebih nyaman sebab memiliki layar yang lebih luas. Terdapat banyak software emulator yang membuat kita kesulitan untuk memilih nya, di sini membahas beberapa Emulator ringan, terbaik, dan mungkin bisa memilih mana yang cocok untuk di pakai komputer atau laptop kamu. Memu, Emulator Android yang Sangat Cepat dan Ringan Memu adalah emulator yang sangat cocok untuk bermain games. Banyak game yang kompatibel, tetapi sebagian aplikasi tidak kompatibel dengan emulator memu, seperti chrome dan lainnya, jikalau kompatibel mungkin hanya sedikit. Memu juga dilengkapi dengan akses root juga. Dalam segi tampilan layaknya seperti android dan desain emulatornya menarik dan rapi. Untuk performanya terbilang ringan dan cocok dengan spesifikasi yang rendah. Memu bisa di dapatkan dan di unduh gratis dan tidak ada iklan dalam emulator ini. Sistem

Nama Bagian Komponen Halaman blog dan penjelasannya

Bagian-bagian blog itu harus diketahui oleh seorang blogger. Bagi yang baru mengenal dan membuat sebuah blog atau istilah masih seorang pemula mungkin ada bagian yang tidak dimengerti nama dan kegunaannya. Beberapa bagian dari blog itu ada yang penting dan ada juga yang hanya untuk pelengkap saja. Dalam membuat sebuah bagian dari blog, banyak para blogger yang sudah mahir menyediakan tutorial mengelola blog. Seperti halnya membuat,menambah,mengedit, dan memodifikasi bagian-bagian pada halaman blog. Mungkin dalam mencari tutorial akan kesulitan jika tidak tahu namanya. Itulah alasan utama mengapa saya tulis artikel ini, karena saya dulu sebagai blogger pemula juga mengalami hal yang sama. Mengenal Bagian-bagian Komponen Halaman Blog Di sini hanya akan menjelaskan beberapa saja yang mungkin namanya belum kamu diketahui. Breadcrumb Breadcrumb merupakan sebuah komponen yang menunjukkan (menginformasikan) dalam bagian apa halaman itu berada dan jenis apa halaman yang sedang di buka. Dalam