Masalah yang Diselesaikan
Tanpa @graph, satu halaman sering memuat beberapa blok JSON-LD yang masing-masing mengulang data yang sama — dan tidak ada yang menyatakan bahwa semuanya bicara tentang entitas yang sama.
Contoh khas: satu blok Article, satu blok Organization, satu blok BreadcrumbList, dan satu blok Person. Keempatnya berdiri sendiri. Nama organisasi ditulis ulang di dua tempat, penulis ditulis ulang di dua tempat, dan kalau salah satunya diperbarui yang lain ketinggalan.
@graph dan @id menyelesaikan itu: satu blok berisi beberapa entitas, masing-masing punya penanda unik, dan entitas lain merujuknya lewat penanda itu alih-alih menyalin isinya.
Cara Kerjanya
@id adalah penanda unik untuk sebuah entitas, biasanya berupa URL dengan tanda pagar. @graph adalah wadah yang memuat beberapa entitas sekaligus.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://contoh.com/#organization",
"name": "Nama Perusahaan",
"url": "https://contoh.com/",
"sameAs": ["https://www.linkedin.com/company/contoh"]
},
{
"@type": "WebSite",
"@id": "https://contoh.com/#website",
"url": "https://contoh.com/",
"publisher": { "@id": "https://contoh.com/#organization" }
},
{
"@type": "Article",
"@id": "https://contoh.com/artikel/#article",
"headline": "Judul Artikel",
"isPartOf": { "@id": "https://contoh.com/#website" },
"publisher": { "@id": "https://contoh.com/#organization" },
"author": { "@id": "https://contoh.com/penulis/budi/#person" }
},
{
"@type": "Person",
"@id": "https://contoh.com/penulis/budi/#person",
"name": "Budi",
"url": "https://contoh.com/penulis/budi/"
}
]
}
Perhatikan publisher dan author: keduanya cuma menunjuk @id, tidak menyalin datanya. Satu perubahan di entitas organisasi berlaku untuk semua yang merujuknya.
Kapan Ini Berguna
- Situs dengan banyak templat halaman yang sama-sama perlu menyatakan penerbit dan penulis.
- Situs yang datanya sering berubah — ganti logo, ganti alamat, tambah profil resmi.
- Situs dengan banyak penulis, supaya tiap penulis punya satu penanda tetap yang dipakai di semua tulisannya.
- Situs yang dibangun dengan sistem templat, di mana entitas bersama bisa dihasilkan sekali lalu dirujuk.
Untuk situs kecil dengan satu templat dan satu penulis, @graph tidak salah — cuma tidak menyelesaikan masalah yang belum ada.
Yang Tidak Dijanjikan
Bagian ini perlu tegas, karena @graph sering dijual sebagai teknik rahasia GEO:
- Google tidak mewajibkan
@graph. Blok terpisah tetap sah dan dibaca dengan benar. - Tidak ada pernyataan bahwa
@graphmenaikkan peringkat atau peluang dikutip. Google menyatakan tidak ada structured data khusus yang dibutuhkan untuk fitur AI-nya. - Ini bukan “knowledge graph” milik Anda. Knowledge Graph Google adalah basis data Google; yang Anda buat adalah pernyataan terstruktur di halaman sendiri.
@idtidak membuat entitas jadi diakui. Pengakuan datang dari kesesuaian antarsumber di luar situs Anda, bukan dari penanda yang Anda tulis sendiri.
Manfaat sebenarnya bersifat teknis dan nyata: lebih sedikit pengulangan, lebih mudah dipelihara, dan lebih kecil kemungkinan datanya bertabrakan sendiri. Itu sudah cukup jadi alasan.
Kesalahan yang Sering Terjadi
@idyang berubah-ubah. Kalau penanda berganti tiap kali halaman diperbarui, tidak ada yang tersambung. Penanda harus tetap.- Merujuk
@idyang tidak pernah didefinisikan di dalam graf mana pun. - Memasang
@graphsekaligus membiarkan plugin menghasilkan blok terpisah. Hasilnya dua pernyataan yang bertabrakan. - Menyalin templat orang lain tanpa mengganti URL-nya. Kesalahan yang lebih sering terjadi daripada yang diduga.
- Menandai entitas yang tidak ada di halaman. Penandaan harus cocok dengan isi yang terlihat.
Cara Memeriksanya
- Uji dengan alat pengujian hasil kaya Google dan validator schema.org — keduanya menangkap hal berbeda.
- Periksa tiap jenis halaman, bukan cuma beranda.
- Pastikan tidak ada blok ganda. Lihat sumber halaman dan hitung berapa skrip
application/ld+jsonyang muncul. - Pastikan
@idkonsisten antara halaman artikel, halaman penulis, dan beranda. - Periksa ulang setelah pembaruan tema atau plugin SEO.
FAQ
Apakah harus memakai @graph?
Tidak. Blok JSON-LD terpisah tetap sah. @graph adalah cara merapikan, bukan syarat.
Apakah @id harus URL yang bisa dibuka?
Tidak harus, tapi disarankan berbasis URL situs Anda dengan tanda pagar supaya unik secara global dan mudah ditelusuri saat memeriksa.
Bisakah @graph dipakai bersama plugin SEO?
Bisa, tapi periksa dulu apakah plugin Anda sudah menghasilkannya sendiri. Banyak plugin modern sudah memakai @graph, dan menambahkan blok kedua justru menimbulkan pertentangan data.
Struktur @graph adalah cara teknis menyusun schema markup untuk GEO sebagai satu jaringan data, bukan potongan terpisah. Pastikan hubungan entity-nya tetap konsisten dengan strategi entity SEO.