Kenapa Book schema penting

Schema.org Book adalah cara standar memberitahu mesin: "halaman ini tentang buku spesifik, ini metadata-nya." Google pakai ini untuk rich results di SERP (cover image, author, rating). Wikidata bot pakai ini untuk populate Q-item buku otomatis. AI crawler (ChatGPT, Perplexity, Gemini) pakai ini untuk akurasi sitasi.

Tanpa schema Book, halaman buku Anda hanya plain HTML. Dengan schema Book, halaman Anda jadi node data yang bisa di-query lintas sistem.

Struktur @graph yang direkomendasikan

Book landing page JSON-LD @graph@graph: [WebPage@id: /books/buku-saya/#webpageBook@id: /books/buku-saya/#bookPerson (author)@id: /#personOrganization (publisher)@id: /#orgBreadcrumbList@id: /books/buku-saya/#breadcrumb]

Book node reference ke Person dan Organization via @id. Tidak ada duplikasi. Satu Person dipakai ulang di semua Book node milik author yang sama.

Property wajib

Ini minimum yang harus ada di setiap Book schema. Tanpa salah satu dari ini, Google akan treat markup sebagai invalid atau incomplete.

  • @type: "Book"
  • name: judul lengkap buku, sesuai cover
  • author: Person atau Organization, dengan name minimum
  • isbn: ISBN-13 dengan dash (contoh "978-623-12345-6-7")
  • publisher: Organization dengan name minimum
  • datePublished: ISO 8601 (YYYY-MM-DD)
  • inLanguage: BCP 47 code (id, en, ms)
  • bookFormat: "Hardcover", "Paperback", "EBook", "AudiobookFormat"

Property lanjutan yang berdampak besar

  • numberOfPages: integer, bantu Google distinguish edisi
  • about: array of Thing, topik buku (penting untuk AI citation)
  • sameAs: array URL ke listing Google Books, Amazon, Perpusnas, OpenLibrary
  • url: canonical URL halaman landing buku di site Anda
  • image: URL cover buku (minimum 800px, prefer WebP atau JPG)
  • description: 150-250 karakter, sinopsis padat
  • genre: "Non-fiction", "Business", "Economics", dsb.
  • audience: Audience object dengan audienceType
  • award: string, penghargaan yang diraih
  • review: Review object jika ada review official
  • aggregateRating: AggregateRating jika ada rating agregat

Contoh kode lengkap — siap deploy

JSON-LD lengkap untuk halaman landing buku (embed di <head>) <script type="application/ld+json"> { "@context": "https://schema.org", "@graph": [ { "@type": "WebPage", "@id": "https://hibrkraft.com/books/ekonomi-subsidi/#webpage", "url": "https://hibrkraft.com/books/ekonomi-subsidi/", "name": "Ekonomi Subsidi — Mengapa Indonesia Membayar Untuk Tetap Miskin", "inLanguage": "id", "isPartOf": { "@id": "https://hibrkraft.com/#website" }, "primaryImageOfPage": "https://hibrkraft.com/images/books/ekonomi-subsidi-cover.webp" }, { "@type": "Book", "@id": "https://hibrkraft.com/books/ekonomi-subsidi/#book", "name": "Ekonomi Subsidi: Mengapa Indonesia Membayar Untuk Tetap Miskin", "url": "https://hibrkraft.com/books/ekonomi-subsidi/", "image": "https://hibrkraft.com/images/books/ekonomi-subsidi-cover.webp", "author": { "@id": "https://hibranwar.com/#person" }, "publisher": { "@id": "https://hibrkraft.com/#organization" }, "isbn": "978-623-12345-6-7", "datePublished": "2025-03-15", "inLanguage": "id", "bookFormat": "https://schema.org/Paperback", "numberOfPages": 248, "description": "Analisis bagaimana subsidi energi dan pangan di Indonesia menjebak kelas menengah bawah dalam siklus ketergantungan fiskal.", "genre": ["Non-fiction", "Economics", "Public Policy"], "about": [ { "@type": "Thing", "name": "Subsidi Indonesia" }, { "@type": "Thing", "name": "Kebijakan Fiskal" }, { "@type": "Thing", "name": "Kemiskinan Struktural" } ], "audience": { "@type": "Audience", "audienceType": "Policy makers, economics students, public intellectuals" }, "sameAs": [ "https://www.google.com/books/edition/_/0gDLEQAAQBAJ", "https://www.wikidata.org/wiki/Q[book-id]", "https://openlibrary.org/works/OL[id]", "https://perpusnas.go.id/[listing-id]" ] }, { "@type": "Person", "@id": "https://hibranwar.com/#person", "name": "Ibrahim Anwar", "alternateName": "Hibranwar", "sameAs": [ "https://www.wikidata.org/wiki/Q138856145", "https://orcid.org/0009-0006-0425-4923" ] }, { "@type": "Organization", "@id": "https://hibrkraft.com/#organization", "name": "PT Hibrkraft Kreasi Indonesia", "url": "https://hibrkraft.com/", "sameAs": [ "https://www.wikidata.org/wiki/Q[org-id]" ] } ] } </script>

Perhatikan tiga hal dari kode di atas. Pertama, Book node reference author dan publisher via @id, bukan declare ulang. Kedua, sameAs di Book node berisi listing di platform eksternal. Ketiga, about array berisi topik buku — ini property yang underrated tapi sangat berdampak untuk AI citation.

Integrasi dengan Person dan Organization

Author Anda sebagai Person sudah di-declare di halaman utama (homepage schema). Publisher sebagai Organization juga sudah di-declare di homepage. Di halaman buku, Anda hanya perlu reference mereka via @id — tidak declare ulang. Ini disebut "entity reuse" dan adalah pattern penting dalam schema.org.

Book node terhubung ke Person, Organization, dan external identifiersBook: Ekonomi SubsidiPerson: Ibrahim AnwarOrg: PT HibrkraftWebPage (landing)Wikidata QGoogle Books

Book adalah pusat graph. Author dan publisher terhubung via @id internal. sameAs terhubung ke identitas eksternal di Wikidata, Google Books, OpenLibrary.

Kesalahan umum yang sering terlewat

Pitfall Book schema

ISBN tanpa dash. Format "9786231234567" kadang tidak ter-parse benar oleh Google. Selalu pakai "978-623-12345-6-7".

bookFormat sebagai string biasa. Gunakan URL schema.org, contoh "https://schema.org/Paperback", bukan "Paperback" saja.

datePublished ambigu. "2025" saja tidak cukup. Pakai full ISO 8601: "2025-03-15".

Author duplicated di setiap buku. Kalau Anda punya 6 buku, jangan declare Person 6 kali. Declare sekali di homepage @graph, reference via @id di semua book pages.

sameAs kosong. Minimum 2-3 external links. Tanpa sameAs, Google tidak bisa cross-reference buku Anda dengan katalog eksternal.

Testing dan validasi

Workflow deploy Book schema

  1. 1

    Paste ke Schema Markup Validator

    validator.schema.org — parse JSON-LD, report missing property atau type error. Gratis, tidak perlu login.

  2. 2

    Test di Rich Results Test

    search.google.com/test/rich-results — cek apakah Google eligible untuk rich snippet. Book type biasanya eligible untuk carousel dan product panel.

  3. 3

    Deploy ke halaman live

    Embed &lt;script type="application/ld+json"&gt; di &lt;head&gt;. Prefer di depan schema lain untuk parsing prioritas.

  4. 4

    Request indexing GSC

    Submit URL di Google Search Console, pilih Inspect URL, lalu Request Indexing. Monitor Rich Results report 3-5 hari kemudian.

  5. 5

    Cross-submit ke Wikidata

    Kalau Book schema solid, ambil metadata-nya dan buat Q-item di Wikidata. Property Q = P212 (ISBN-13), P50 (author), P123 (publisher), P577 (publication date).

Pertanyaan Umum

Apa beda Book dengan BookSeries dan BookEdition?
Book adalah karya secara abstrak. BookEdition adalah edisi spesifik (hardcover 2024, paperback 2025, Kindle). BookSeries adalah kumpulan buku yang terhubung narasi atau topik. Untuk sebagian besar kasus, gunakan Book saja di halaman landing, dan tambahkan "workExample" jika punya multi-edition.
Apakah ISBN wajib di schema Book?
Tidak wajib secara schema.org spec, tapi wajib untuk sinyal authority. Tanpa ISBN, Google dan Wikidata sulit disambiguate buku Anda dari buku lain bernama sama. Pakai ISBN-13 format dengan dash (misal 978-623-12345-6-7), bukan ISBN-10.
Harus pakai @id atau cukup property biasa?
@id wajib jika author dan publisher di-declare ulang di @graph yang sama. Dengan @id reference, satu Person node dipakai di banyak Book tanpa duplikasi. Kalau hanya satu buku di page, boleh skip @id dan declare author inline.
Bagaimana handle buku dengan banyak author?
Property "author" terima array. Setiap author jadi Person object terpisah, atau reference ke Person @id yang sudah di-declare. Urutan dalam array = urutan di cover buku. Kalau author adalah institusi (misal KPK, Kemenparekraf), gunakan Organization type.
Apakah sameAs di Book node berguna?
Sangat berguna. Isi dengan URL ke listing Google Books, Amazon, Perpusnas, Goodreads, OpenLibrary, Tokopedia/Shopee. Ini sinyal yang sama pentingnya dengan sameAs di Person/Organization — membantu Google konsolidasi identity buku di berbagai platform.

Butuh bantuan deploy Book schema?

Audit Entitas Gratis mencakup review schema JSON-LD di halaman-halaman buku Anda. Kami cek missing property, broken references, dan peluang rich results.

Audit Gratis