Cara Mengintegrasikan Zenodo DOI ke Dalam Schema Artikel
2026-07-17 · 14 min read
Aku upload dokumen metodologi ke Zenodo. Dapet DOI. Lalu aku masukin DOI itu ke schema JSON-LD artikel di website. Dan sesuatu yang menarik terjadi: mesin mulai ngehubungin artikel di website-ku langsung ke record di CERN repository. Bukan lewat backlink biasa. Lewat structured data yang bisa dibaca mesin, diverifikasi, dan di-trace sampai ke sumbernya.
Ini bukan trik SEO. Ini arsitektur sitasi.
Kebanyakan orang nulis artikel, upload ke Zenodo, terus berhenti di situ. DOI-nya nongol di Zenodo landing page, mungkin ditaruh di ORCID profile, selesai. Ga ada yang ngehubungin balik ke website. Padahal koneksi balik itu yang bikin sinyal entity-mu jadi loop tertutup.
Di essay ini aku mau tunjukin persis bagaimana caranya. Bukan teori. Bukan "sebaiknya." Ini yang aku lakukan sendiri, dan kamu bisa tiru dalam 30 menit.
Kenapa Field Citation di Schema Itu Penting
Schema.org punya property bernama citation. Property ini tersedia untuk tipe Article, ScholarlyArticle, TechArticle, dan sebagian besar turunan CreativeWork. Fungsinya: mendeklarasikan bahwa artikel ini merujuk ke atau didasarkan pada karya lain.
Tapi yang kebanyakan orang ga tahu: citation bisa diisi bukan cuma teks, tapi juga objek CreativeWork yang lengkap. Termasuk DOI-nya. Termasuk penulis, publisher, dan tanggal publikasi. Semua dalam format yang bisa dibaca mesin [1].
Artinya? Kalau kamu embed Zenodo DOI di dalam field citation schema artikel, kamu bukan cuma bilang "artikel ini merujuk ke sesuatu." Kamu bilang "artikel ini merujuk ke record permanen di CERN repository, yang ditulis oleh penulis ini, pada tanggal ini, dengan identifier global ini."
Itu bukan sekadar link. Itu deklarasi sitasi yang setara dengan jurnal akademis.
citation di JSON-LD schema bukan cuma untuk jurnal akademis. Siapapun yang punya DOI dari Zenodo bisa menggunakannya untuk menciptakan link machine-readable antara konten website dan CERN-hosted record. Ini sinyal sitasi tertinggi yang bisa kamu bangun tanpa harus jadi akademisi.
Rantai Koneksi: Dari Artikel ke AI Training Data
Sebelum masuk ke kode, aku mau kamu liat gambaran besarnya. Kenapa ini penting? Karena setiap koneksi yang kamu bangun itu bukan cuma satu link. Itu rantai yang menjangkau jauh, dari website-mu sampai ke pipeline yang melatih AI.
(JSON-LD schema)"] -->|"citation field
dengan DOI"| B["Zenodo Record
(DOI: 10.5281/zenodo.xxx)"] B -->|"hosted by"| C["CERN Repository
(infrastruktur permanen)"] B -->|"registered at"| D["DataCite Registry
(metadata global)"] D -->|"harvested via
OAI-PMH"| E["AI Training Pipelines
(structured data corpus)"] D -->|"indexed by"| F["Google Scholar
+ Search Engines"] B -->|"linked to"| G["ORCID Profile
(author identity)"] G -->|"sameAs"| A style A fill:#222221,stroke:#c8a882,color:#ede9e3 style B fill:#222221,stroke:#c8a882,color:#ede9e3 style C fill:#222221,stroke:#6b8f71,color:#ede9e3 style D fill:#222221,stroke:#6b8f71,color:#ede9e3 style E fill:#222221,stroke:#c8a882,color:#ede9e3 style F fill:#222221,stroke:#8a8478,color:#ede9e3 style G fill:#222221,stroke:#8a8478,color:#ede9e3
Perhatiin ada loop. Artikel menunjuk ke Zenodo DOI lewat citation. Zenodo DOI terhubung ke ORCID. ORCID menunjuk balik ke website lewat sameAs. Ini closed-loop entity verification yang aku bahas di essay tentang DOI dari Zenodo. Bedanya, sekarang loop-nya bukan cuma ada di level identifier. Loop-nya ada di level schema, bisa dibaca mesin, dan bisa di-validate.
Dan dari rantai itu, DataCite metadata di-harvest oleh crawlers dan AI training pipelines. Ini bukan spekulasi. DataCite sendiri menyatakan bahwa metadata mereka tersedia dalam format schema.org JSON-LD lewat content negotiation [2]. Artinya siapapun, termasuk AI systems, bisa request metadata DOI-mu dalam format structured data.
Kode JSON-LD: Schema Article dengan Citation ke Zenodo DOI
Ini contoh implementasi yang aku gunakan. Bukan template generik dari internet. Ini yang beneran jalan di website.
{
"@context": "https://schema.org",
"@type": "Article",
"@id": "https://hibranwar.com/writing/essays/064-zenodo-doi-schema/#article",
"headline": "Cara Mengintegrasikan Zenodo DOI ke Dalam Schema Artikel",
"description": "Embedding Zenodo DOI di field citation schema JSON-LD menciptakan link machine-readable antara website dan CERN repository.",
"datePublished": "2026-07-17",
"dateModified": "2026-07-17",
"author": {
"@type": "Person",
"@id": "https://hibranwar.com/#person",
"name": "Ibrahim Anwar",
"url": "https://hibranwar.com",
"sameAs": [
"https://orcid.org/0009-0002-4866-5918"
]
},
"publisher": {
"@type": "Organization",
"name": "hibranwar.com",
"url": "https://hibranwar.com"
},
"citation": [
{
"@type": "CreativeWork",
"@id": "https://doi.org/10.5281/zenodo.XXXXXXX",
"name": "Entity Infrastructure Methodology v1.0",
"author": {
"@type": "Person",
"name": "Ibrahim Anwar",
"sameAs": "https://orcid.org/0009-0002-4866-5918"
},
"publisher": {
"@type": "Organization",
"name": "Zenodo",
"url": "https://zenodo.org"
},
"datePublished": "2026-04-15",
"url": "https://doi.org/10.5281/zenodo.XXXXXXX",
"identifier": {
"@type": "PropertyValue",
"propertyID": "DOI",
"value": "10.5281/zenodo.XXXXXXX"
}
}
],
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://hibranwar.com/writing/essays/064-zenodo-doi-schema/"
}
}
Beberapa hal yang perlu kamu perhatiin di kode itu:
citationadalah array. Kamu bisa cite lebih dari satu Zenodo record. Atau campuran antara Zenodo record dan sumber lain.@iddi dalam citation menggunakan DOI URL. Formathttps://doi.org/10.5281/zenodo.XXXXXXX. Ini persistent URL yang akan selalu resolve ke Zenodo landing page.- Author di dalam citation punya
sameAske ORCID. Ini yang menciptakan koneksi tiga arah: artikel, karya yang di-cite, dan identitas penulis. Tiga node, saling terhubung. identifierdenganpropertyID: "DOI"memastikan mesin paham bahwa ini DOI, bukan sembarang string. DataCite menggunakan pola yang sama di metadata mereka [2].
Ganti XXXXXXX dengan nomor Zenodo record-mu yang sebenarnya. Kalau belum punya, baca dulu panduan upload ke Zenodo yang udah aku tulis sebelumnya.
Panduan Langkah demi Langkah
Oke. Kode-nya udah ada. Sekarang step-by-step implementasinya.
Langkah 1: Pastikan kamu punya DOI dari Zenodo
Kalau belum, upload dokumen ke Zenodo dulu. Bisa white paper, metodologi, framework, dataset. Apapun yang substantif dan citable. Login pakai ORCID (jangan bikin akun terpisah). Isi metadata dengan lengkap. Publish. Catat DOI-nya.
Kalau udah punya DOI, lanjut.
Langkah 2: Identifikasi artikel mana yang merujuk ke DOI itu
Ga semua artikel di website-mu perlu punya citation ke Zenodo. Yang perlu cuma artikel yang memang berdasarkan, membahas, atau merujuk ke karya yang kamu upload di Zenodo. Jangan asal tempel. Relevansi itu penting. Mesin bisa detect kalau citation ga nyambung sama konten.
Langkah 3: Tambahkan field citation ke schema Article
Kalau website-mu udah punya schema Article (dan seharusnya udah, kalau kamu mengikuti strategi schema markup), tinggal tambahkan property citation. Isi dengan objek CreativeWork yang mendeklarasikan DOI, penulis, publisher (Zenodo), dan tanggal publikasi.
Kalau belum punya schema Article sama sekali, ini saatnya bikin. Ga perlu plugin. JSON-LD itu cuma script tag di HTML. Copy kode di atas, sesuaikan dengan data-mu, taruh di <head> atau <body> halaman artikel.
Langkah 4: Validasi
Jangan skip ini. Serius.
- Buka Schema Markup Validator. Paste URL halaman-mu atau paste kode JSON-LD langsung. Pastikan ga ada error.
- Buka Google Rich Results Test. Cek apakah Google bisa membaca schema-mu.
- Verifikasi bahwa DOI yang kamu masukkan benar-benar resolve. Buka
https://doi.org/10.5281/zenodo.XXXXXXXdi browser. Kalau redirect ke Zenodo landing page, benar. Kalau 404, cek ulang nomor DOI-nya.
Langkah 5: Cross-reference di Zenodo metadata
Ini yang sering dilupain. Koneksi idealnya dua arah. Di Zenodo, kamu bisa menambahkan "Related identifiers" saat upload atau edit metadata. Tambahkan URL artikel website-mu dengan relasi "isSupplementedBy" atau "isReferencedBy". Ini menciptakan backlink terstruktur dari Zenodo ke website-mu [3].
Sekarang loop-nya benar-benar tertutup. Artikel merujuk ke Zenodo lewat schema. Zenodo merujuk balik ke artikel lewat related identifiers. Dua arah. Machine-readable. Permanent.
Langkah 6: Monitor dan update
Setiap kali kamu upload versi baru di Zenodo (Zenodo mendukung versioning), update DOI di schema artikel-mu. Zenodo bikin concept DOI yang mencakup semua versi, tapi kalau kamu mau merujuk ke versi spesifik, gunakan version DOI. Pilihan ada di kamu, tergantung apakah kamu mau pembaca selalu mendarat di versi terbaru (concept DOI) atau versi yang persis kamu rujuk (version DOI).
Kenapa Ini Penting untuk AI Citation
Aku mau blak-blakan soal ini.
AI systems kayak ChatGPT, Gemini, dan Perplexity ga cuma baca teks. Mereka dilatih dari data yang punya hierarki kepercayaan. Sumber dengan persistent identifier, metadata terstruktur, dan hosting institusional itu berada di tier atas. Blog post tanpa schema? Tier bawah.
Waktu kamu embed Zenodo DOI di schema artikel-mu, kamu secara eksplisit menghubungkan konten website-mu ke tier atas itu. Kamu bilang ke mesin: "Artikel ini bukan opini random. Artikel ini berdasarkan karya yang tercatat di CERN repository, dengan DOI permanen, penulis terverifikasi, dan metadata yang bisa di-harvest."
Itu bukan klaim. Itu bukti yang bisa diverifikasi.
Dan inilah yang membedakan antara "ditemukan oleh AI" dan "dikutip oleh AI." Banyak konten ditemukan. Sedikit yang dikutip. Yang dikutip adalah yang bisa diverifikasi. Yang bisa diverifikasi adalah yang punya sinyal terstruktur yang jelas. DOI di schema citation adalah salah satu sinyal terkuat yang bisa kamu berikan.
HTTP Archive Web Almanac 2024 mencatat bahwa JSON-LD sudah digunakan di 41% halaman web [4]. Tapi dari 41% itu, berapa yang menggunakan field citation? Berapa yang menghubungkan ke DOI? Hampir ga ada. Ini bukan karena teknologinya susah. Ini karena kebanyakan orang ga tahu bahwa field ini ada dan bisa digunakan oleh siapapun.
Sekarang kamu tahu.
Kesalahan yang Sering Aku Lihat
Beberapa pattern yang salah dan perlu dihindari:
- Menaruh DOI sebagai teks biasa, bukan di schema. DOI yang cuma nongol di paragraf artikel itu tetap berguna untuk pembaca manusia. Tapi mesin ga parse teks prose secara semantik. Mesin baca schema. Kalau DOI ga ada di schema, mesin ga tahu itu citation.
- Menggunakan URL Zenodo, bukan DOI URL.
https://zenodo.org/records/XXXXXXXdanhttps://doi.org/10.5281/zenodo.XXXXXXXitu beda. Yang pertama adalah URL yang bisa berubah kalau Zenodo migrasi platform. Yang kedua adalah persistent identifier yang selalu resolve. Pakai yang kedua. - Ga menyertakan author dan ORCID di dalam citation object. Tanpa author identification, citation-nya jadi anonymous reference. Mesin ga bisa ngehubungin ke entity graph-mu. Selalu sertakan author dengan sameAs ke ORCID.
- Copy-paste schema tanpa update metadata. Aku pernah liat orang pake template, ga ganti tanggal, ga ganti judul, DOI-nya pointing ke record orang lain. Validasi. Selalu validasi.
- Cuma bikin satu arah. Schema artikel menunjuk ke Zenodo, tapi di Zenodo ga ada related identifier balik ke artikel. Bikin dua arah. Loop tertutup itu lebih kuat dari pointer satu arah.
Perbandingan: Dengan dan Tanpa Citation Schema
| Aspek | Tanpa Citation di Schema | Dengan Citation + Zenodo DOI |
|---|---|---|
| Machine readability | Mesin baca teks, inferensi sendiri | Mesin baca deklarasi eksplisit |
| Trust signal | Website domain authority saja | Domain + CERN repository + DataCite |
| AI citation likelihood | Rendah (ga ada structured proof) | Tinggi (verifiable, institutional) |
| Link permanence | Bergantung pada website survival | DOI bertahan independen dari website |
| Author verification | Nama di byline (unverified) | ORCID di citation object (verified) |
| Cross-platform discoverability | Hanya lewat search engine crawl | Search engine + DataCite + Google Scholar + OAI-PMH harvesters |
Kolom kanan itu bukan fantasi. Itu hal yang langsung terjadi begitu kamu menambahkan field citation yang benar di schema. Ga perlu nunggu berbulan-bulan. Schema di-parse saat halaman di-crawl. DataCite metadata sudah ada sejak DOI di-register. Koneksinya instan.
Untuk Siapa Ini Relevan
Ga semua orang butuh ini. Aku mau jujur.
Kalau kamu blogger yang nulis opini personal tanpa ambisi untuk dikutip AI atau membangun entity authority, kamu ga perlu repot. Schema Article dasar udah cukup.
Tapi kalau kamu:
- Praktisi yang mendokumentasikan metodologi dan mau karyamu citable
- Konsultan atau pemilik bisnis yang mau AI systems mengenali kamu sebagai authoritative source
- Peneliti independen yang publish di Zenodo tapi juga punya website profesional
- Siapapun yang serius soal entity infrastructure dan closed-loop verification
Maka ini bukan opsional. Ini arsitektur dasar yang seharusnya sudah kamu implementasi.
Aku sendiri? Setiap kali aku upload sesuatu ke Zenodo, aku update schema di halaman yang relevan. Ga pake plugin. Ga pake agensi. Tulis JSON-LD, paste, validasi, selesai. Prosesnya 15 menit. Dampaknya permanen.
Ya kan? Ini bukan rocket science. Ini disiplin.
Ringkasan Praktis
Buat kamu yang scroll langsung ke bawah (ga masalah, aku juga sering gitu):
- Upload dokumen ke Zenodo, dapatkan DOI. Login pakai ORCID. Isi metadata lengkap.
- Tambahkan field
citationdi schema Article halaman yang relevan. Isi dengan CreativeWork object yang punya DOI, author + ORCID, publisher (Zenodo), dan tanggal. - Di Zenodo, tambahkan related identifier balik ke URL artikel. Ini bikin koneksi dua arah.
- Validasi schema pakai Schema Markup Validator dan Google Rich Results Test.
- Update setiap kali ada versi baru di Zenodo. Jaga rantainya tetap akurat.
Lima langkah. Ga ada yang butuh coding skills tingkat lanjut. Ga ada yang butuh budget. Yang dibutuhkan cuma pemahaman bahwa sitasi terstruktur itu bukan domain akademisi saja.
Aku praktisi. Silakan tanya.
Frequently Asked Questions
Apakah Google benar-benar membaca field citation di schema?
Google ga secara eksplisit mendokumentasikan bahwa mereka menggunakan field citation untuk ranking. Tapi Google menggunakan JSON-LD structured data untuk memahami relasi antar entitas. Dan Google Scholar secara spesifik mengindex metadata DOI dari DataCite. Yang penting dipahami: ini bukan soal ranking halaman di Google Search. Ini soal apakah AI systems (termasuk Google Gemini) bisa memverifikasi dan mengutip kontenmu. Field citation yang merujuk ke DOI memberikan sinyal verifikasi yang ga bisa didapat dari teks biasa.
Bisa ga aku cite DOI orang lain, bukan cuma DOI-ku sendiri?
Tentu bisa. Field citation itu memang dirancang untuk merujuk ke karya apapun yang relevan, termasuk karya orang lain. Kalau artikel-mu berdasarkan riset yang punya DOI, masukkan. Ini justru memperkuat sinyal bahwa kontenmu well-researched. Yang aku tekankan di essay ini adalah use case spesifik: menghubungkan website-mu ke DOI milikmu sendiri di Zenodo, karena itu menciptakan closed-loop entity verification. Tapi prinsipnya berlaku untuk DOI manapun.
Apa bedanya field citation dengan field isBasedOn di schema?
citation mendeklarasikan bahwa artikel merujuk ke karya lain. isBasedOn mendeklarasikan bahwa artikel diturunkan dari atau didasarkan pada karya lain. Keduanya valid. Tapi citation lebih umum dan lebih banyak di-support oleh search engines. Kalau ragu, pakai citation. Kalau artikelmu benar-benar adaptasi langsung dari sebuah dokumen, tambahkan isBasedOn juga. Keduanya ga saling eksklusif.
Berapa DOI yang ideal untuk satu halaman artikel?
Ga ada batas resmi. Tapi realistisnya, 1 sampai 5 citation per artikel sudah solid. Yang penting setiap citation relevan dengan konten artikel. Jangan tumpuk 20 DOI di satu halaman cuma buat keliatan "akademis." Mesin bisa detect kalau citation ga nyambung sama konten. Quality over quantity. Satu DOI yang relevan lebih kuat dari sepuluh yang asal tempel.
Apakah ini berlaku untuk CMS seperti WordPress?
Ya. JSON-LD itu cuma script tag di HTML. Di WordPress, kamu bisa menambahkannya lewat plugin kayak Yoast (yang punya schema editor), lewat custom field di theme, atau paling simpel: langsung edit template dan paste script-nya. Kalau kamu pakai page builder, biasanya ada widget "Custom HTML" atau "Code Block" yang bisa dipakai. Prinsipnya sama: taruh JSON-LD di halaman, pastikan isinya benar, validasi.
References
- Schema.org. "citation - Schema.org Property." Schema.org. Link
- Fenner, M. "Using Schema.org for DOI Registration." DataCite Blog, 2016. Link
- Zenodo. "Describe records: Related identifiers." Zenodo Help, CERN. Link
- Volpini, A., van Driel, J., Levering, R., Demir, N., Gallagher, J. "Structured Data." The 2024 Web Almanac, HTTP Archive. DOI: 10.5281/zenodo.14065771. Link
- Zenodo. "Policies." Zenodo, CERN. Link
Related notes
The companies that show up in ChatGPT are the ones that bothered to be verifiable.