Markup yang semantik sudah memberi petunjuk tentang peran tiap bagian halaman, tetapi mesin pencari tetap harus menafsirkan maksudnya dari teks yang berdekatan. Data terstruktur (structured data) menyelesaikan ketidakpastian itu dengan menyatakan makna halaman secara eksplisit menggunakan kosakata yang disepakati. Topik ini membahas microdata, JSON-LD, kosakata schema.org, dan kaitannya dengan rich result pada hasil pencarian.
Mengapa mesin membutuhkan data terstruktur#
Mesin pencari membaca HTML dengan pengurai yang sama seperti browser, sehingga teks, tautan, dan judulnya dapat diikuti dengan baik. Masalah muncul ketika pertanyaan tidak menyangkut isi halaman, melainkan entitas yang disebutkan di dalamnya, misalnya siapa penyelenggara suatu acara, kapan acara itu dimulai, dan di mana lokasinya. Penafsiran dari kalimat bebas rentan salah, sedangkan data yang berlabel tidak menyisakan ruang dugaan.
Hasil dari data yang jelas ini disebut rich result, yaitu tampilan hasil pencarian yang diperkaya informasi tambahan seperti jalur breadcrumb, jadwal acara, atau ringkasan resep. Kehadiran rich result tidak dapat dijanjikan, karena mesin pencari menilai kelayakannya sendiri untuk setiap kueri dan halaman. Yang berada dalam kendali penulis adalah kualitas dan ketepatan datanya, sedangkan keputusan penampilan ada pada mesin pencari.
Microdata: anotasi di dalam markup#
Microdata menuliskan data terstruktur sebagai atribut pada markup yang sudah ada. Atribut itemscope menandai batas sebuah entitas, itemtype menunjuk tipe kosakatanya, dan itemprop memberi label pada setiap nilai di dalamnya. Data dan tampilannya berada di tempat yang sama, sehingga satu penyuntingan bisa mengubah keduanya sekaligus.
<article itemscope itemtype="https://schema.org/Person">
<h2 itemprop="name">Dewi</h2>
<p itemprop="jobTitle">Pustakawan</p>
<p itemprop="affiliation" itemscope itemtype="https://schema.org/Organization">
<span itemprop="name">Perpustakaan Kota</span>
</p>
</article>Pada contoh itu, elemen article menjadi lingkup sebuah Person, h2 di dalamnya menjadi properti name, dan paragraf ketiga membentuk lingkup Organization yang tersarang. Pendekatan ini terbaca dengan alami karena datanya memang tampil bagi pengunjung. Kelemahannya, struktur HTML ditentukan oleh kebutuhan data, sehingga markup yang sudah jadi kerap perlu disusun ulang agar cocok dengan kosakata schema.org.
JSON-LD: data yang berdiri terpisah#
JSON-LD (JSON Linked Data) menuliskan data terstruktur sebagai blok JSON di dalam elemen script bertipe application/ld+json. Blok ini biasanya diletakkan di dalam head, tidak dirender, dan tidak menyentuh markup tampilan sama sekali. Keterpisahan itulah yang membuatnya mudah ditambahkan pada halaman yang sudah jadi tanpa menyusun ulang markupnya.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Bedah buku: Panduan lapangan web",
"startDate": "2026-12-05T10:00"
}
</script>Dokumentasi Google Search Central merekomendasikan JSON-LD sebagai format data terstruktur, dan rekomendasi itu menjadikannya pilihan paling aman untuk keperluan rich result di Google. Karena berupa JSON biasa, isinya dapat divalidasi dengan JSON.parse sebelum halaman diterbitkan. Validasi sekecil ini menangkap sebagian besar error penulisan, misalnya koma yang tersisa di akhir objek.
// Teks JSON-LD diuji terpisah agar error penulisan terlihat sebelum halaman tayang
const teks = `{
"@context": "https://schema.org",
"@type": "Event",
"name": "Bedah buku: Panduan lapangan web",
"startDate": "2026-12-05T10:00",
"location": {
"@type": "Place",
"name": "Ruang rapat perpustakaan",
"address": "Jalan Mawar 12, Bandung"
},
"organizer": {
"@type": "Organization",
"name": "Perpustakaan Kota"
}
}`;
const data = JSON.parse(teks);
console.log(`Tipe: ${data["@type"]}`);
console.log(`Nama: ${data.name}`);
console.log(`Tanggal: ${data.startDate}`);
console.log(`Lokasi: ${data.location.name}`);
console.log(`Penyelenggara: ${data.organizer.name}`);Tipe: Event
Nama: Bedah buku: Panduan lapangan web
Tanggal: 2026-12-05T10:00
Lokasi: Ruang rapat perpustakaan
Penyelenggara: Perpustakaan KotaJSON.parse berjalan tanpa error dan setiap properti terbaca sesuai strukturnya, sehingga teks yang sama siap ditempelkan ke dalam blok script halaman. Apabila salah satu koma atau tanda kutipnya keliru, JSON.parse melempar error sebelum halaman sempat memuat data yang rusak itu. Pola pengujian seperti ini dijalankan ulang kapan pun teksnya berubah, selalu sebelum bloknya diterbitkan.
schema.org sebagai kosakatanya#
Microdata dan JSON-LD hanya format penulisan, sedangkan makna kata-katanya ditetapkan kosakata schema.org. Kosakata ini menyediakan hierarki tipe yang berakar pada Thing, misalnya Person, Event, CreativeWork, dan Article yang merupakan turunan CreativeWork. Setiap tipe membawa properti yang diharapkan, sehingga startDate mengambil teks tanggal dan location mengambil entitas Place yang tersarang.
Pemilihan tipe yang tepat menentukan kualitas datanya. Sebuah acara dinyatakan sebagai Event dan bukan sekadar paragraf teks, sehingga mesin tahu bahwa startDate yang mengikutinya adalah tanggal mulai acara, bukan tanggal terbit halaman. Alat bantu seperti Schema.org Validator memeriksa kesesuaian markup terhadap kosakata ini sebelum halaman diterbitkan.
Berkas utuh halaman dengan JSON-LD#
Berkas berikut memperlihatkan halaman acara perpustakaan dengan JSON-LD utuh di dalam head. Konten yang terlihat ditulis di dalam body, sedangkan data terstruktur menyatakan hal yang sama dalam bentuk berlabel, dan keduanya saling menguatkan. Data yang bertentangan dengan konten yang tampil justru merugikan, karena mesin pencari memperlakukan ketidaksesuaian itu sebagai sinyal yang menurunkan kepercayaan.
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="utf-8">
<title>Acara perpustakaan</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Bedah buku: Panduan lapangan web",
"startDate": "2026-12-05T10:00",
"location": {
"@type": "Place",
"name": "Ruang rapat perpustakaan",
"address": "Jalan Mawar 12, Bandung"
},
"organizer": {
"@type": "Organization",
"name": "Perpustakaan Kota"
}
}
</script>
<style>
body { font-family: sans-serif; max-width: 32rem; margin: 0 auto; padding: 0 1rem; color: #222222; }
</style>
</head>
<body>
<main>
<h1>Bedah buku: Panduan lapangan web</h1>
<p>Acara bedah buku mingguan Perpustakaan Kota kali ini membahas panduan lapangan untuk penulis web pemula.</p>
<p>Hari: Sabtu, 5 Desember 2026, pukul 10.00.</p>
<p>Tempat: Ruang rapat perpustakaan, Jalan Mawar 12, Bandung.</p>
<p>Penyelenggara: Perpustakaan Kota.</p>
</main>
</body>
</html>Perhatikan bahwa startDate ditulis dalam format tanggal dan waktu ISO 8601, yaitu 2026-12-05T10:00, sebagaimana diharapkan kosakata schema.org. Properti location berupa Place yang membawa alamatnya sendiri, dan organizer berupa Organization. Struktur tersarang seperti ini wajar pada JSON-LD dan menjadi alasan tambahan untuk memvalidasinya sebagai JSON.
Kesalahan umum#
- Menulis JSON-LD dengan koma berlebih setelah properti terakhir. JSON menolak koma tersebut, sehingga satu karakter ini melumpuhkan seluruh blok data.
- Menyertakan data yang tidak sesuai dengan konten yang tampil. Panduan mesin pencari menegaskan bahwa data terstruktur harus menggambarkan isi halaman, bukan menambahkan hal yang tidak terlihat oleh pengunjung.
- Menulis
itemtypedengan URL yang tidak ada di kosakata schema.org. Atributitemtypemenunjuk tipe yang nyata, sehingga salah ketik membuat anotasinya tidak dikenali.
Ringkasan#
- Data terstruktur menyatakan makna halaman secara eksplisit dan menjadi dasar calon rich result pada hasil pencarian.
- Microdata menempel pada markup melalui
itemscope,itemtype, danitemprop, sedangkan JSON-LD menulis datanya sebagai blok JSON yang terpisah. - Google merekomendasikan JSON-LD, dan kosakata schema.org menetapkan tipe serta properti yang sah.
- Teks JSON-LD divalidasi sebagai JSON biasa sebelum diterbitkan, misalnya melalui JSON.parse.
Referensi#
- Understand how structured data works — Google Search Central — Panduan data terstruktur dan rekomendasi format JSON-LD.
- HTML microdata — MDN — Penulisan microdata dengan itemscope, itemtype, dan itemprop.
- Microdata — HTML Living Standard — WHATWG — Definisi resmi microdata pada spesifikasi HTML.
- Schema.org — Kosakata tipe dan properti untuk data terstruktur.
- Schema.org Validator — Alat pemeriksa markup data terstruktur.