Langsung ke konten utama

Featured post

Deretan Kode Script Yang Harus Wajib dipasang di Blogspot

Cara Membuat Table of Contents (ToC) Otomatis di Blogger


Sederhananya, fitur Table of Content atau ToC di Blogger memberikan ringkasan atau deskripsi singkat akan pokok-pokok bahasan pada artikel, yang berdasar pada penggunaan Tag Heading.

Nah, inilah yang akan ‘dibaca’ oleh Search Engine untuk menjadi dasar isi dari artikel. Dalam hal ini, terkadang hasil generate tag heading tersebut menjadi cikal-bakal Anchor Link yang akan ditampilkan pada hasil pencarian, ketika pengguna mengetikkan keyword yang tepat atau mirip.

Maka dapat dikatakan bahwa penggunaan fitur Table of Contents di blog/website bisa saja berpengaruh dan mempengaruhi SEO artikel blog.


Cara Membuat Table of Contents (ToC) Otomatis di Blogger




APA itu Table of Content atau ToC? Secara bahasa, ToC adalah tabel isi atau daftar isi. Yang dimaksud adalah Daftar Isi postingan blog berufa daftar subjudul dan/atau subheading H1, H2, dan H3. Saya batasi hingga H3 saja. Ini contohnya.

Membuat Table of Contents (ToC) Otomatis di Blogger

Di Postingan ini juga ada ToC-nya berikut ini. Saya punya empat subjudul di postingan ini. Satu heading tag H2 dan tiga heading tag H3. Ini dia ToC postingan yang sedang Anda baca ini:

Cara Membuat Table of Contents (ToC) Otomatis di Blogger

Berikut ini cara membuat Table of Content (ToC) atau Daftar Isi Postingan di Blogger dari Bung Frangki. Hanya ada dua kode dan disimpan di dua tempat.

Klik dulu Tema > Edit HTML untuk membuka kode template blog Blogger Anda. Lalu lakukan tiga langkah mudah berikut ini.

1. Simpan Kode CSS

Simpan kode berikut ini di atas kode </b:skin>

html {
scroll-behavior: smooth;
}
.toc-auto {
display: table;
position: relative;
border-radius: 3px;
background-color: var(--widget-bg,#f6f9fc);
padding: 1rem 1rem.85rem;
margin: 0 0 1.5rem;
}
.toc-auto a {
transition: .3s ease-in;
text-decoration:none;
}
.toc-auto a:hover, .toc-auto .current {
text-decoration: underline !important;
color: var(--a-hover,#fe8f04);
}
.toc-auto input[type="checkbox"] {
display: none;
}
.toc-title {
font-weight: 700 !important;
margin-top: 5px;
}
.toc-title:after {
content: '-';
background-color: var(--text-secondary,#a6e6e5);
border-radius: 3px;
clear: both;
float: right;
margin-left: 1rem;
cursor: pointer;
font-weight: 400 !important;
display: flex;
justify-content: center;
align-items: center;
width: 25px;
height: 25px;
transition: .3s ease-in;
}
.toc-title:after:hover {
background-color: var(--main-color,#028271);
color: #fff;
}
.toc-auto .toc {
max-height: 100%;
max-width: 500px;
opacity: 1;
overflow: hidden;
transition: max-height .1s ease,max-width 0s ease,margin-top .3s linear,opacity .3s linear,visibility .3s linear;
visibility: visible;
}
.toc-auto ul li,ol li {
margin-bottom: 0 !important;
}
#toc-sh:checked~.toc-title:after {
content: '+';
}
#toc-sh:checked ~ .toc {
margin-top: 0;
max-height: 0;
max-width: 0;
opacity: 0;
transition: max-height 0s ease,max-width 0s ease,margin-top .3s linear,opacity .3s linear,visibility .3s linear;
visibility: hidden;
}

2. Simpan Kode JavaScript

Simpan kode berikut ini di atas kode </body>

<script>
//<![CDATA[
// var contentContainer = document.querySelectorAll(".post-body")[0].id = "toc-container";
var contentContainer = document.querySelectorAll(".post-body")[0];
const dataTracking = contentContainer.setAttribute("data-tracking-container", "true");
var headings = contentContainer.querySelectorAll("h1,h2,h3");
var showtoc = contentContainer.querySelectorAll(".post-body h1,.post-body h2,.post-body h3");
if (headings.length > 3) {
for (i = 0; i <= showtoc.length - 1; i++) {
var tocauto = showtoc[i];
tocauto.insertAdjacentHTML('beforebegin','<div class="toc-auto"><input id="toc-sh" type="checkbox"><label class="toc-title" for="toc-sh">Table of Contents</label><div class="toc" id="toc"></div></div>');
tocatr = document.querySelectorAll(".toc-auto")[0];
tocatr.setAttribute('data-tracking-container', 'true');
var toptoc = document.querySelectorAll(".toc-auto");
[].filter.call(toptoc, function(tocselection) {
return ![].some.call(tocselection.attributes, function(attr) {
return /^data-tracking-container/i.test(attr.name);
});
}).forEach(function(tocselection) {
tocselection.parentNode.removeChild(tocselection);
});};}
class TableOfContents {
constructor({ from, to }) {
this.fromElement = from;
this.toElement = to;
// Get all the ordered headings.
this.headingElements = this.fromElement.querySelectorAll("h1, h2, h3");
this.tocElement = document.createElement("div");
}
getMostImportantHeadingLevel() {
let mostImportantHeadingLevel = 6;
for (let i = 0; i < this.headingElements.length; i++) 
let headingLevel = TableOfContents.getHeadingLevel(this.headingElements[i]);
mostImportantHeadingLevel = (headingLevel < mostImportantHeadingLevel) ?
headingLevel : mostImportantHeadingLevel;
}
return mostImportantHeadingLevel;
}
static generateId(headingElement) {
return headingElement.textContent.toLowerCase().replace(/ /g,"_").replace(/\//g,"_").replace(/&lt;/g,"").replace(/&gt;/g,"").replace(/&amp;/g,"").replace(/&amp;nbsp;/g,"").replace(/&nbsp;/g,"").replace(/\xA0/g,"").replace(/[\n\r\f]+/g, "").replace(/[.,\#!$%\^&\*;:{}=\-@`~()<>?"'“+”]/g,"");
}
static getHeadingLevel(headingElement) {
switch (headingElement.tagName.toLowerCase()) {
case "h1": return 1;
case "h2": return 2;
case "h3": return 3;
default: return 1;
}
}
generateToc() {
let currentLevel = this.getMostImportantHeadingLevel() - 1,
currentElement = this.tocElement;
for (let i = 0; i < this.headingElements.length; i++) {
let headingElement = this.headingElements[i],
headingLevel = TableOfContents.getHeadingLevel(headingElement),
headingLevelDifference = headingLevel - currentLevel,
linkElement = document.createElement("a");
if (!headingElement.id) {
headingElement.id = TableOfContents.generateId(headingElement);
}
linkElement.href = `#${headingElement.id}`;
linkElement.textContent = headingElement.textContent;
if (headingLevelDifference > 0) {
for (let j = 0; j < headingLevelDifference; j++) {
let listElement = document.createElement("ul"),
listItemElement = document.createElement("li");
listElement.appendChild(listItemElement);
currentElement.appendChild(listElement);
currentElement = listItemElement;
}
currentElement.appendChild(linkElement);
} else {
for (let j = 0; j < -headingLevelDifference; j++) {
currentElement = currentElement.parentNode.parentNode;
}
let listItemElement = document.createElement("li");
listItemElement.appendChild(linkElement);
currentElement.parentNode.appendChild(listItemElement);
currentElement = listItemElement;
}
currentLevel = headingLevel;
}
this.toElement.appendChild(this.tocElement.firstChild);
}
}
document.addEventListener("DOMContentLoaded", () =>
new TableOfContents({
from: document.querySelector(".post-body"),
to: document.querySelector(".toc")
}).generateToc()
);
//]]>
</script>

3. Save Template!

Simpan template. Maka otomatis Table of Content atau Daftar Isi Postingan 


Setelan Table of Contents Otomatis di Blogger

Sedikit saya jelaskan tentang setelan Table of Contents otomatis ini agar sesuai dengan keinginan masing-masing, yaitu sebagai berikut:

  • Secara default Table of Contents ini akan otomatis muncul bila pada postingan terdapat lebih dari 3 Tag Heading.
  • Bila ingin mengubahnya dan ingin menampilkan Table of Content pada jumlah heading sesuai keinginan, silahkan ganti angka 3 pada kode if (headings.length > 3) dengan angka lainnya.
  • Table of Contents akan muncul di atas Heading paling atas (bukan judul artikel). Terlepas dari apapun jenis Tag Headingnya. Entah itu <h1><h2><h3><h4><h5>, ataupun <h6>.
  • Apabila ingin menampilkannya di bawah Tag Heading, ubah beforebegin menjadi afterend pada JavaScript.
  • Table of Contents hanya akan tampil bila template blogspot memiliki tag class .post-body. Apabila tag tersebut tidak ada di template, Anda boleh menggantinya dengan selector lain pada kode: var contentContainer = document.querySelectorAll(".post-body")

Penutup

Demikian tutorial tentang cara memasang Table of Content (ToC) atau daftar isi otomatis di Blogger. Agar blog menjadi lebih SEO friendly dan user-friendly.

Semoga bermanfaat dan selamat mencoba

Komentar

Postingan populer dari blog ini

Ciri Ciri Orang Dzolim Dan Akhibatnya

Ciri Ciri Orang Dzolim Dan Akhibatnya Kezaliman Dan orang-orang Zalim; Sifat Dan Akibatnya. “Kalian akan tahu siapa yang akan mendapat tempat terbaik di akhirat dan sesungguhnya orang-orang zalim itu tidak akan beruntung.” (QS. al-An’am: 135) Kezaliman adalah kerusakan di dalam fitrah manusia, karena Allah SWT menciptakan fitrah manusia senantiasa cenderung kepada kebaikan dan menjauhi keburukan. Tapi, karena fitrah dapat menjadi lemah dikarenakan rusaknya pendidikan yang diterima seseorang, hawa nafsu, kepentingan, dan sebab-sebab yang lain, maka manusia tidak jarang menuju ke arah yang tidak benar dan bertentangan dengan fitrah, meskipun fitrah orang ini masih dapat menampakkan diri pada waktu-waktu tertentu. Penyebab seseorang melakukan kezaliman : 1. Merasa ada kekurangan dan kelemahan di dalam diri. Karena orang yang zalim tidak memiliki sifat-sifat yang baik, dan dia mengetahui hal ini, maka dia justru mengkompensasinya dengan melakukan perbuatan zalim. Karena itulah Allah tida...

Death Clock Teknologi AI Bisa Prediksi Tanggal Kematian Kapan?

Death Clock Teknologi AI Bisa Prediksi Tanggal Kematian Kapan? Foto: gadgets360.com Baru-baru ini, publik sedang digemparkan dengan kemunculan aplikasi dan situs bernama  Death Clock.  Bagaimana tidak, aplikasi dan situs ini mengklaim dapat memprediksi tanggal kematian seseorang hanya dengan bantuan AI. Tentu, ini sangat menggemparkan publik dan membuat masyarakat penasaran. Apa itu  Death Clock ? Simak pembahasan selengkapnya di bawah ini, ya! Apa itu Death Clock? Death Clock  adalah aplikasi dan situs berbasis AI atau kecerdasan buatan yang bisa digunakan untuk memprediksi tanggal kematian seseorang. Dilansir melalui  Business Today, Death Clock  pertama kali dirilis pada Juli 2024 lalu. Hingga saat ini, aplikasi ini sudah didownload lebih dari 125 ribu kali oleh pengguna di dunia dan paling terbanyak digunakan oleh masyarakat India. Melalui keterangan resminya, aplikasi ini menggunakan teknologi AI dengan basis data 53 juta orang di 1200 studi harapan hidup di dunia untuk mempred...

Deretan Kode Script Yang Harus Wajib dipasang di Blogspot

Deretan Kode Script Yang Harus Wajib dipasang di Blogspot Blogger tidak cuma wajib menguasai ilmu SEO, SMO, atau kepenulisan, tapi akan sangat bagus jika Anda juga menguasai kode-kode dasar HTML yang nantinya sering dijumpai, misalnya saat mengatur  widget,  menampilkan gambar di  header,  memasang kode iklan, dan lain sebagainya. Untuk belajar, tak perlu ikut kursus  coding  mahal. Anda bisa mulai dari sekarang. Mulai dari yang sederhana dahulu, dengan menguasai beberapa kode HTML dasar berikut ini. Daftar Kode Javascript Wajib Pasang di Template Blogger Ini memang nggak ada kaitannya dengan topik blog saya, tapi berhubung saya nulis di blog maka tak ada salahnya saya memposting mengenai kiat-kiat menulis di blog. Para blogger tentunya sangat dimanjakan oleh tools yang disediakan provider blog dalam membuat tampilan dan memposting artikel, namun tidak ada salahnya untuk mengetahui script-script dasar html. Setidaknya tulisan Anda bis...