Cara Memasang Multiple Related Post di Blogger Secara Otomatis

Cara Memasang Multiple Related Post di Blog

Pada artikel sebelumnya, saya telah membagikan cara memasang Baca Juga atau Related Post di blog. Kali ini, kita akan membahas pengembangan dari fitur tersebut, yaitu Multiple Related Post—sebuah variasi yang lebih dinamis dalam menampilkan tautan artikel terkait di dalam konten blog.

Apa Itu Multiple Related Post?

Multiple Related Post adalah fitur yang menampilkan artikel terkait di beberapa bagian dalam satu postingan. Berbeda dari fitur "Baca Juga" yang hanya muncul di satu tempat (biasanya di awal atau akhir artikel), multiple related post akan tersebar di beberapa paragraf—menyesuaikan panjang tulisan—dan tampil lebih interaktif.

Fitur ini tidak hanya mempercantik tampilan artikel, tetapi juga meningkatkan jumlah pageview, karena pengunjung cenderung tertarik untuk membaca artikel terkait lainnya.

Sebelum mulai, disarankan untuk membuat cadangan (backup) template Anda agar lebih aman jika terjadi kesalahan saat pengeditan.

Langkah Memasang Multiple Related Post di Blog

Buka dashboard blogger > tema > edit html lalu salin css dibawah dan letakan diatas kode </head>

<b:if cond='data:blog.pageType != &quot;index&quot;'>
<style type='text/css'>
/* Multi Related Post */
.arldzgnMultiRelated{background-color:#2a2a2a;color:#fff;margin:15px auto;display:-moz-box;display:-ms-flexbox;display:flex;flex-wrap:nowrap;justify-content:space-between;overflow:hidden;transition:all .3s}
.arldzgnMultiRelated:hover{background-color:#222}
.arldzgnMultiRelated .content{padding:12px 15px}
.arldzgnMultiRelated .content .text{margin-right:5px}
.arldzgnMultiRelated .content a{color:#fff;text-decoration:none;line-height:1.5em}
.arldzgnMultiRelated .content a:hover{text-decoration:underline}
.arldzgnMultiRelated .icon{height:auto;min-width:55px;background:#f44336 url(&quot;data:image/svg+xml,%3Csvg viewBox=&#39;0 0 24 24&#39; xmlns=&#39;http://www.w3.org/2000/svg&#39;%3E%3Cpath d=&#39;M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z&#39; fill=&#39;%23fff&#39;/%3E%3C/svg%3E&quot;) center / 40px no-repeat;transition:all .3s}
</style>
</b:if>

Selanjutnya salin javascript dibawah ini dan letakan dibawah kode <data:post.body/>

<b:if cond='data:view.isPost'>
<script type='text/javascript'>
//<![CDATA[
// Multi Related Post
(function() {var jumlah = 3;let post = document['querySelectorAll']('.post-body br, .post-body p'),a = jumlah + 1,b = post['length'] / a;c = Array['from']({length: jumlah}, (redfx, blufx) => blufx + 1);
for (let d = 0; d < c['length']; d++) {let e = c[d],f = parseInt((b * e)),g = document['createElement']('div');g['className'] = 'arldzgnMultiRelated';if (post[f]['nodeName'] == 'P') {post[f]['parentNode']['insertBefore'](g, post[f])} else {post[f]['parentNode']['insertBefore'](g, post[f]['nextSibling'])}}})();
var relatedTitles = new Array();var relatedTitlesNum = 0;var relatedUrls = new Array();function related_results_labels(nerdfx) {for (var desfx = 0; desfx < nerdfx['feed']['entry']['length']; desfx++) {var nefx = nerdfx['feed']['entry'][desfx];relatedTitles[relatedTitlesNum] = nefx['title']['$t'];for (var ciafx = 0; ciafx < nefx['link']['length']; ciafx++) {if (nefx['link'][ciafx]['rel'] == 'alternate') {relatedUrls[relatedTitlesNum] = nefx['link'][ciafx]['href'];relatedTitlesNum++;break}}}}
function removeRelatedDuplicates() {var viefx = new Array(0);var labfx = new Array(0);for (var desfx = 0; desfx < relatedUrls['length']; desfx++) {if (!contains(viefx, relatedUrls[desfx])) {viefx['length'] += 1;viefx[viefx['length'] - 1] = relatedUrls[desfx];labfx['length'] += 1;labfx[labfx['length'] - 1] = relatedTitles[desfx]}};relatedTitles = labfx;relatedUrls = viefx}
function contains(yelfx, yufx) {for (var grefx = 0; grefx < yelfx['length']; grefx++) {if (yelfx[grefx] == yufx) {return true}};return false}
//]]>
</script>
  <b:if cond='data:post.labels'>
    <b:loop values='data:post.labels' var='label'>
      <b:if cond='data:view.isPost'>
        <script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels&amp;max-results=100&quot;'/>
      </b:if>
    </b:loop>
  </b:if>
<script type='text/javascript'>
//<![CDATA[
(function arldzgnMultiRelated() {var text = 'Also read :';let r = Math['floor']((relatedTitles['length'] - 1) * Math['random']());let i = 0;let jumlah = document['querySelectorAll']('.arldzgnMultiRelated');while (i < relatedTitles['length'] && i < jumlah['length']) {for (let a = 0; a < jumlah['length']; a++) {jumlah[a]['innerHTML'] = '<span class="content"><span class="text">' + text + '</span><a href="' + relatedUrls[r] + '" title="' + relatedTitles[r] + '">' + relatedTitles[r] + '</a></span><span class="icon"></span>';if (r < relatedTitles['length'] - 1) {r++} else {r = 0};i++}}})();
//]]>
</script>
</b:if>

Pengaturan Tambahan

  • Anda bisa mengubah variabel var jumlah = 3; untuk menentukan berapa banyak tautan yang ingin ditampilkan di dalam artikel.
  • Ubah teks Also read : sesuai kebutuhan Anda, misalnya menjadi "Artikel Terkait:" atau "Baca Juga:".

Penutup

Dengan menambahkan Multiple Related Post, blog Anda akan terlihat lebih profesional sekaligus memberikan pengalaman membaca yang lebih baik kepada pengunjung.

Jika ada pertanyaan, silakan tuliskan di kolom komentar. Jangan lupa baca juga artikel lainnya untuk mendapatkan lebih banyak tips seputar blogging dan pengembangan blog.