Data terstruktur tindakan buku (Book)

Tindakan Buku menjadikan Google Penelusuran sebagai titik masuk untuk menemukan buku dan pengarang. Fitur ini memungkinkan pengguna Penelusuran membeli atau meminjam buku yang mereka temukan langsung dari hasil Penelusuran dengan cepat. Misalnya, pengguna dapat menelusuri Charlotte's Web dan hasilnya akan ditampilkan sehingga pengguna tersebut dapat membeli atau meminjamnya. Sebagai penyedia buku, Anda dapat memberikan feed data ke Google beserta skema data terstruktur yang disediakan di sini. Spesifikasi kami menyediakan ReadAction yang mengizinkan pengguna untuk membeli buku dan BorrowAction untuk meminjam buku.

Tindakan buku dalam hasil Penelusuran

Tindakan membaca dan tindakan meminjam yang dimasukkan ke dalam panel menampilkan opsi untuk membeli atau meminjam buku. Melalui link yang Anda berikan, tindakan membaca dan tindakan meminjam akan langsung mengarahkan pengguna dari panel info dan platform Google lainnya ke halaman buku di situs atau aplikasi Anda.

Urutan penyedia di panel info dipersonalisasi dan bersifat dinamis untuk setiap pengguna. Artinya bahwa pengguna yang berbeda akan melihat urutan yang berbeda, dan pengguna yang sama mungkin melihat urutan yang berbeda pada waktu yang berbeda. Ada berbagai faktor yang memengaruhi urutan tertentu. Misalnya, jika pengguna sering mengklik link penyedia tertentu di panel info, posisi penyedia tersebut dalam sebuah urutan akan cenderung lebih tinggi. Tidak ada cara untuk mengontrol urutan.

Memulai

Agar berhasil menerapkan tindakan Buku, Anda harus membuat feed sesuai dengan definisi jenis data terstruktur tindakan Buku, tetapi sebaiknya tinjau bagian berikut terlebih dahulu:

Panduan

Untuk memastikan buku Anda dapat ditampilkan dengan baik di Penelusuran, Anda harus memahami beberapa detail penting dan konsep utama. Selanjutnya, feed Anda harus memenuhi beberapa spesifikasi format standar.

Untuk membantu Anda, ikuti pedoman yang dijelaskan di sini, selain pedoman data terstruktur umum dan Dasar-Dasar Penelusuran. Pedoman tersebut adalah sebagai berikut:

Karya dan edisi

Dalam dokumentasi ini, kami menggunakan dua istilah yang berbeda saat membahas sebuah buku:

  • Karya: Konsep abstrak buku. Secara khusus, metadata seperti judul, pengarang, dan bahasa asli adalah atribut sebuah karya.
  • Edisi: Salinan konkret buku. Secara khusus, metadata seperti tahun penerbitan, nama edisi, dan Nomor Buku Standar Internasional (ISBN) adalah atribut edisi.

Misalnya, Charlotte's Web adalah karya, tetapi setiap variasi yang disertakan merupakan edisi. Dalam hal ini, karya Charlotte's Web dapat memiliki edisi pertama, edisi kedua, edisi ringkas, edisi terjemahan Prancis, dan sebagainya.

Perbedaan ini sangat penting dalam feed, tempat perbedaan tersebut mungkin tidak langsung terlihat. Ada dua entitas Book:

  • Book (Work) adalah entitas Book "level atas":
    • workExample adalah properti dari Work dan menentukan satu-satunya instance dari Book (Edition).
    • Setidaknya harus ada satu workExample untuk setiap Work.
  • Book (Edition) adalah entitas Book "level bawah".

Perlu diingat bahwa bisa terdapat beberapa edisi untuk sebuah karya. Sebaiknya Anda mengelompokkan edisi sebisa mungkin. Hal ini membantu sistem Google memanfaatkan semua informasi yang relevan tentang buku dan menampilkannya di Penelusuran. Jika diperlukan, Anda dapat memecahnya menjadi beberapa catatan karya, tetapi setiap catatan karya harus memiliki hal berikut:

  • @id yang berbeda.
  • Setidaknya satu edisi dengan ISBN atau ID lainnya yang didukung.

Sistem perpustakaan dan anggota perpustakaan

Library entity adalah jenis entitas Library “level atas”. Jenis ini adalah konstruksi abstrak yang terdiri dari entitas LibrarySystem dan setiap entitas Library (member) “level bawah” sistem perpustakaan tersebut.

Entitas LibrarySystem adalah sebuah abstraksi yang mewakili jaringan kolaboratif anggota perpustakaan. Misalnya, Perpustakaan Umum Austin dapat ditetapkan sebagai entitas LibrarySystem. Situs Perpustakaan Umum Austin mendeskripsikan dirinya sebagai sistem perpustakaan umum yang melayani wilayah Austin, Texas. Situs perpustakaan umum tersebut terdiri dari 20 perpustakaan yang berafiliasi atau anggota perpustakaan.

Setiap entitas LibrarySystem memerlukan setidaknya satu entitas Library (member), meskipun kenyataannya perpustakaan tersebut bukan bagian dari sistem perpustakaan mana pun. Dalam skenario ini, untuk tujuan penerapan tindakan Buku, perpustakaan tersebut adalah satu-satunya anggota perpustakaan dari sistem perpustakaan itu sendiri. Untuk tujuan penerapan tindakan Buku, tidak seperti sistem perpustakaan, anggota perpustakaan bukanlah sebuah abstraksi sehingga tidak memiliki alamat fisik.

Sebaliknya, setiap entitas Library (member) harus dimiliki oleh setidaknya satu entitas LibrarySystem.

ISBN dan ID lainnya yang didukung

ISBN adalah sinyal rekonsiliasi utama saat Google Penelusuran mencocokkan data feed Anda dengan data Google. Anda harus memberikan ISBN atau ID lainnya yang didukung untuk semua buku yang ingin ditampilkan di hasil Penelusuran. Tanpa ISBN atau ID, kemungkinan buku Anda tidak dapat dicocokkan sehingga tidak akan ditampilkan.

Google Penelusuran lebih memilih ISBN-13, tetapi Anda dapat memberikan hal berikut:

  • Nomor Pusat Perpustakaan Komputer Online (OSLC)
  • Nomor Kontrol Perpustakaan Kongres (LCCN)
  • E-code JP

Untuk memastikan pengguna mendapatkan pengalaman terbaik selama mencari buku Anda, link di feed Anda harus mematuhi pedoman berikut:

  • Jika Anda memiliki halaman duplikat untuk konten yang sama, link harus berupa URL kanonis yang memuat judul buku dan informasi buku lainnya.
  • Setelah mengklik link tindakan membaca atau tindakan meminjam, pengguna harus diarahkan ke halaman yang langsung mendukung pembelian atau peminjaman buku. Khususnya, jangan arahkan link tindakan ke halaman yang memiliki banyak link yang harus diklik agar dapat membeli atau meminjam konten. Misalnya, jangan arahkan pengguna ke halaman hasil penelusuran atau halaman ringkasan produk.

Membuat feed

Jika situs Anda menjual buku untuk dibeli oleh pengguna, Anda harus mengupload feed Book. Hubungi perwakilan Google Anda dan verifikasi detail tentang cara dan tempat untuk mengupload feed.

Jika situs Anda meminjamkan buku, Anda harus mengupload dua feed terpisah: feed Book dan feed Library. Hubungi perwakilan Google Anda dan verifikasi detail tentang cara dan tempat untuk mengupload feed.

Mematuhi persyaratan ukuran, kuantitas, dan format file feed

Persyaratannya adalah sebagai berikut:

  • Persyaratan ukuran file feed:
    • Ukuran file feed yang tidak dikompresi harus lebih kecil dari 1 GB.
    • File feed yang akan dikompresi harus lebih kecil dari 1 GB. Jika ukuran file feed yang tidak dikompresi lebih dari 1 GB, Anda harus membagi file feed yang tidak dikompresi tersebut menjadi beberapa file.
  • Anda dapat mengompresi file feed. File tersebut harus diformat menjadi file arsip zip, gz, tar, tar.gz, JAR, ar, arj, cpio, atau dump.
  • Jika memiliki beberapa file feed, Anda dapat menguploadnya sebagaimana adanya, atau jika ingin, Anda dapat menyertakannya sebagai bagian dari file indeks peta situs.
  • File feed tunggal harus memiliki ekstensi nama file .json.

Mematuhi persyaratan konten feed

Perhatikan secara khusus persyaratan konten feed berikut yang harus Anda patuhi:

  • Feed dilarang berisi entitas yang telah usang. Entitas usang adalah entitas dengan availabilityEnds yang diatur ke tanggal yang telah berlalu atau entitas yang tidak lagi tersedia di situs Anda.
  • Semua deep link, seperti urlTemplate, dan semua URL, seperti url yang Anda sertakan dalam feed harus berupa URL produksi. Jangan gunakan UM (Uji Mutu), pengembangan, atau jenis URL non-produksi lainnya.
  • Semua URL, seperti url, harus bersifat kanonis.
  • Setiap entitas dalam feed Anda harus menentukan properti berikut:
    • ID unik: @id
    • URL unik: url
    • Deep link unik: urlTemplate

Menguji feed dengan alat validasi Feed Data

Kami menyarankan langkah pemecahan masalah berikut untuk mengatasi error dan peringatan umum pada alat validasi Feed Data:

  • Pastikan Anda memilih opsi yang benar di kolom Validasi pada. Pilih Tindakan Buku untuk entitas Book.

  • Verifikasi bahwa nilai @type sudah dieja dengan benar.
  • Pastikan nilai @context disetel dengan benar. Setel "@context": "https://schema.org" untuk ReadAction dan BorrowAction.

Menghosting file feed

Jika file feed sudah siap, hosting file tersebut di lokasi yang aman. Google mengambil feed secara rutin untuk memastikan bahwa konten Anda adalah konten terbaru.

Metode hosting

Berikut adalah metode hosting feed yang didukung:

Hosting Dukungan Autentikasi
Google Cloud Storage Izin Storage Object Viewer
HTTPS Nama Pengguna+Sandi atau sertifikat klien HTTP
SFTP Sandi, Kunci+Frasa, atau keduanya
AWS S3 ID Kunci+Kunci Akses

Mengirim file feed untuk ditinjau

Agar konten tersedia di Google Penelusuran, tim dukungan Google akan meninjau kualitas deep link di feed Anda. Sebaiknya Anda menguji beberapa deep link secara manual untuk memastikan link tersebut membuka halaman tempat pengguna dapat membeli atau meminjam buku.

Untuk meminta peninjauan feed, berikan hal berikut:

  • Lokasi host: URL file feed Anda.
  • Autentikasi host, jika berlaku: Kredensial autentikasi agar Google bisa mendapatkan file feed dari lokasi host Anda.

Memperbarui feed jika perlu

Sebaiknya Anda memperbarui feed setiap hari, tetapi pada akhirnya bergantung pada frekuensi perubahan katalog Anda. Perhatikan kondisi dan tips berikut:

  • Google Penelusuran tidak mendukung pembaruan real-time.
  • Google Penelusuran mengambil feed Anda satu kali per hari dan biasanya mengindeks konten dalam dua hari.
  • Jika ada rencana perubahan dalam ketersediaan edisi, gunakan availabilityStarts dan availabilityEnds untuk menetapkan tanggal yang tepat. Jika entitas tidak lagi tersedia, hapus sepenuhnya entitas tersebut

Definisi jenis data terstruktur

Anda harus menyertakan properti wajib yang tercantum di sini agar konten Anda memenuhi syarat untuk ditampilkan di hasil penelusuran terstruktur. Anda juga dapat menyertakan properti yang direkomendasikan untuk menambahkan lebih banyak informasi tentang konten Anda sehingga dapat memperbaiki pengalaman pengguna.

Entitas DataFeed

Setiap file feed data schema.org yang dikirimkan ke Google harus berisi satu entitas DataFeed di tingkat akar. Semua entitas Book dan Library harus dicantumkan dalam kolom dataFeedElement pada entitas DataFeed.

Properti yang didukung Google adalah sebagai berikut:

Properti wajib
@context

Text

Tetapkan ke https://schema.org.

@type

Text

Tetapkan ke DataFeed.

dataFeedElement

Book atau LibrarySystem

Tetapkan ke entitas Booktunggal atau entitas LibrarySystem . Jika tidak, tetapkan ke array yang berisi hanya entitas Book atau entitas LibrarySystem. Jangan tetapkan ke array yang menyertakan entitas Book dan entitas LibrarySystem.

Contoh penggunaan dalam feed Book:

{
  "@context": "https://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "https://schema.org",
      "@type": "Book",
      "@id": "https://example.com/work/the_catcher_in_the_rye",
      "url": "https://example.com/work/the_catcher_in_the_rye",
      "name": "The Catcher in the Rye",
      "author": {
        "@type": "Person",
        "name": "J.D. Salinger"
      },
      "sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye",
      "workExample": [
        {
          "@type": "Book",
          "@id": "https://example.com/edition/the_catcher_in_the_rye_paperback",
          "isbn": "9787543321724",
          "bookEdition": "Mass Market Paperback",
          "bookFormat": "https://schema.org/Paperback",
          "inLanguage": "en",
          ...
        },
        ...
      ]
   }
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}

Contoh penggunaan dalam feed LibrarySystem:

{
  "@context": "https://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "https://schema.org",
      "@type": "LibrarySystem",
      "@id": "https://example.com/library-systems/100",
      "name": "Santa Clara County Library District",
      "additionalProperty": [
        {
          "@type": "PropertyValue",
          "name": "librarytype",
          "value": "public"
        }
      ],
      ...
    },
    ...
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}
dateModified

DateTime

Tanggal dan waktu pembaruan feed terakhir dalam format ISO 8601.

Entitas Book

Meskipun definisi lengkap Book tersedia di schema.org/Book, Anda hanya wajib mempertimbangkan properti berikut. Anda harus menentukan properti yang diperlukan untuk setiap buku yang Anda pilih agar disertakan dalam feed. Anda juga dapat menentukan properti yang disarankan untuk menambahkan lebih banyak informasi tentang konten Anda sehingga dapat memperbaiki pengalaman pengguna.

Book (Work)

Entitas Book ini adalah jenis entitas level atas. Entitas ini mewakili karya.

Properti yang didukung Google adalah sebagai berikut:

Properti wajib
@context

Text

Tetapkan ke https://schema.org.

@id

Text

ID unik global buku dalam format URL. ID ini harus unik menurut organisasi Anda. ID harus stabil dan tidak berubah dari waktu ke waktu. Format URL disarankan meskipun tidak wajib. Format URL ini tidak harus berupa link yang berfungsi. Domain yang digunakan untuk nilai @id harus dimiliki oleh organisasi Anda.

@type

Text

Tetapkan ke Book.

author

Person atau Organization

Penulis buku.

name

Text

Judul buku.

url

URL

URL di situs tempat buku tersebut diperkenalkan atau dijelaskan. Link ini membantu merekonsiliasi konten di feed Anda dengan konten di database Google secara akurat. Link ini bisa sama dengan workExample.target.urlTemplate.

Untuk halaman landing yang sebenarnya, Google Penelusuran menggunakan URL yang disediakan di workExample.target.urlTemplate.

workExample

Book (Edition)

Edisi karya.

Properti yang direkomendasikan
sameAs

URL

URL halaman referensi yang mengidentifikasi karya. Misalnya, halaman tentang buku tersebut di Wikipedia, Wikidata, VIAF, atau Perpustakaan Kongres.

Book (Edition)

Properti workExample menggunakan entitas Book ini. Properti ini mewakili edisi dari suatu karya.

Properti yang didukung Google adalah sebagai berikut:

Properti wajib
@id

Text

ID unik global buku dalam format URL. ID ini harus unik menurut organisasi Anda. ID harus stabil dan tidak berubah dari waktu ke waktu. Format URL disarankan meskipun tidak wajib. Format URL ini tidak harus berupa link yang berfungsi. Domain yang digunakan untuk nilai @id harus dimiliki oleh organisasi Anda.

@type

Text

Tetapkan ke Book.

bookFormat

Enum

Format edisi. Nilai ini harus berupa salah satu di antara yang berikut ini:

  • https://schema.org/AudiobookFormat
  • https://schema.org/EBook
  • https://schema.org/Hardcover
  • https://schema.org/Paperback
inLanguage

Text

Bahasa utama konten edisi tersebut. Gunakan salah satu kode dua huruf dari daftar kode ISO 639-1 alpha-2.

isbn

Text

ISBN-13 edisi tersebut. Jika Anda memiliki ISBN-10, ubah menjadi ISBN-13.

potentialAction

ReadAction atau BorrowAction

Tindakan yang akan dipicu agar pengguna membeli atau mendownload buku. Untuk detail selengkapnya, lihat ReadAction atau BorrowAction.

Properti yang direkomendasikan
author

Person atau Organization

Pengarang edisi.

bookEdition

Text

Informasi edisi buku. Contoh, 2nd Edition.

datePublished

Date

Tanggal publikasi edisi dalam format YYYY-MM-DD atau YYYY. Ini dapat berupa tanggal tertentu atau hanya tahun tertentu.

identifier

PropertyValue

ID eksternal atau ID lain yang secara jelas menunjukkan edisi ini. Beberapa ID diizinkan. Untuk detail selengkapnya, lihat PropertyValue (identifier).

Properti ini dapat diulang.

name

Text

Judul edisi. Hanya gunakan ini jika judul edisi berbeda dengan judul karya.

sameAs

URL

URL halaman web referensi yang secara jelas menunjukkan edisi ini. Misalnya, halaman tentang edisi khusus ini di Wikipedia. Jangan gunakan kembali sameAs dari Work.

url

URL

URL di situs tempat edisi tersebut diperkenalkan atau dijelaskan. URL ini dapat sama dengan workExample.target.urlTemplate.

Contoh Book (Edition):

"workExample":
        {
          "@type": "Book",
          "@id": "https://example.com/book/100",
          "inLanguage": "en",
          "isbn": "9787543321724",
          "bookEdition": "20 Anniversary Edition",
          "datePublished": "2000-02-26",
          "bookFormat": "https://schema.org/Hardcover",
          "potentialAction": {...}
        }

Contoh Book (Edition) dengan beberapa properti workExample:

"workExample": [
        {
          "@type": "Book",
          "@id": "https://example.com/book/200",
          "inLanguage": "zh",
          "isbn": "9787543321721",
          "bookEdition": "2nd Edition",
          "bookFormat": "https://schema.org/Hardcover",
          "potentialAction": {...}
        },
        {
          "@type": "Book",
          "@id": "https://example.com/book/300",
          "inLanguage": "zh",
          "isbn": "9787543321722",
          "bookEdition": "1st Edition",
          "bookFormat": "https://schema.org/EBook",
          "potentialAction": {...}
      }
 ]

Person atau Organization (author)

Properti author buku menggunakan entitas Person atau Organization.

Properti wajib
@type

Text

Tetapkan ke Person atau Organization.

name

Text

Nama orang atau organisasi.

Properti yang direkomendasikan
sameAs

URL

URL halaman web referensi yang secara jelas menunjukkan identitas orang atau organisasi. Misalnya, halaman tentang pengarang atau organisasi di Wikipedia.

Contoh author:

"author": {
  "@type": "Person",
  "name": "William Shakespeare"
}

Contoh dengan beberapa properti author:

"author": [
  {
    "@type": "Person",
    "name": "William Shakespeare"
  },
  {
    "@type": "Person",
    "name": "Victor Hugo",
    "sameAs": "https://en.wikipedia.org/wiki/Victor_Hugo"
  }
]

PropertyValue (ID)

Properti identifier dari Edition menggunakan entitas PropertyValue.

Properti wajib
@type

Text

Tetapkan ke PropertyValue.

propertyID

Text

Jenis ID. Seperti yang dijelaskan dalam ISBN dan ID lainnya yang didukung, ID harus salah satu di antara yang berikut ini:

  • OCLC_NUMBER
  • LCCN
  • JP_E-CODE
value

Text

Nilai ID. ID eksternal yang secara jelas menunjukkan edisi ini. Hapus semua awalan non-numerik pada ID eksternal.

Contoh identifier:

    "identifier": {
      "@type": "PropertyValue",
      "propertyID": "OCLC_NUMBER",
      "value":  "110123456"
    }

Contoh dengan beberapa properti identifier:

    "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "OCLC_NUMBER",
      "value":  "110123456"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "LCCN",
      "value":  "220123456"
    },{
      "@type": "PropertyValue",
      "propertyID": "JP_E-CODE",
      "value":  "12345678901234567890"
    }]

Contoh file JSON feed ReadAction Book

{
  "@context": "https://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "https://schema.org",
      "@type": "Book",
      "@id": "https://example.com/work/the_catcher_in_the_rye",
      "url": "https://example.com/work/the_catcher_in_the_rye",
      "name": "The Catcher in the Rye",
      "author": {
        "@type": "Person",
        "name": "J.D. Salinger"
      },
      "sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye",
      "workExample": [
        {
          "@type": "Book",
          "@id": "https://example.com/edition/the_catcher_in_the_rye_paperback",
          "isbn": "9787543321724",
          "bookEdition": "Mass Market Paperback",
          "bookFormat": "https://schema.org/Paperback",
          "inLanguage": "en",
          "url": "https://example.com/edition/the_catcher_in_the_rye_paperback",
          "datePublished": "1991-05-01",
          "identifier": {
            "@type": "PropertyValue",
            "propertyID": "OCLC_NUMBER",
            "value": "1057320822"
          },
          "potentialAction": {
            "@type": "ReadAction",
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "https://example.com/store/9787543321724",
              "actionPlatform": [
                "https://schema.org/DesktopWebPlatform",
                "https://schema.org/AndroidPlatform",
                "https://schema.org/IOSPlatform"
              ]
            },
            "expectsAcceptanceOf": {
              "@type": "Offer",
              "category": "purchase",
              "price": 6.99,
              "priceCurrency": "USD",
              "availabilityStarts": "2020-01-01T11:0:00-04:00",
              "availabilityEnds": "2050-06-30T23:59:00-04:00",
              "eligibleRegion": {
                "@type": "Country",
                "name": "US"
              }
            }
          }
        },
        {
          "@type": "Book",
          "@id": "https://example.com/edition/the_catcher_in_the_rye_hardcover",
          "isbn": "9780316769532",
          "bookEdition": "Hardcover",
          "bookFormat": "https://schema.org/Hardcover",
          "inLanguage": "en",
          "url": "https://example.com/edition/the_catcher_in_the_rye_hardcover",
          "datePublished": "1951-07-16",
          "potentialAction": {
            "@type": "ReadAction",
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "https://example.com/store/9780316769532",
              "actionPlatform": [
                "https://schema.org/DesktopWebPlatform",
                "https://schema.org/AndroidPlatform",
                "https://schema.org/IOSPlatform"
              ]
            },
            "expectsAcceptanceOf": [
              {
                "@type": "Offer",
                "category": "nologinrequired",
                "availabilityStarts": "2020-01-01T11:0:00-04:00",
                "availabilityEnds": "2050-06-30T23:59:00-04:00",
                "eligibleRegion": [
                  {
                    "@type": "Country",
                    "name": "US"
                  },
                  {
                    "@type": "Country",
                    "name": "GB"
                  }
                ]
              },
              {
                "@type": "Offer",
                "category": "Subscription",
                "availabilityStarts": "2020-01-01T11:0:00-04:00",
                "availabilityEnds": "2050-06-30T23:59:00-04:00",
                "eligibleRegion": {
                  "@type": "Country",
                  "name": "IN"
                }
              }
            ]
          }
        }
      ]
    }
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}

Contoh file JSON feed BorrowAction Book

{
  "@context": "https://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "https://schema.org",
      "@type": "Book",
      "@id": "https://example.com/work/the_catcher_in_the_rye",
      "url": "https://example.com/work/the_catcher_in_the_rye",
      "name": "The Catcher in the Rye",
      "author": {
        "@type": "Person",
        "name": "J.D. Salinger"
      },
      "sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye",
      "workExample": [
        {
          "@type": "Book",
          "@id": "https://example.com/edition/the_catcher_in_the_rye_paperback",
          "isbn": "9787543321724",
          "bookEdition": "Mass Market Paperback",
          "bookFormat": "https://schema.org/Paperback",
          "inLanguage": "en",
          "url": "https://example.com/edition/the_catcher_in_the_rye_paperback",
          "datePublished": "1991-05-01",
          "identifier": {
            "@type": "PropertyValue",
            "propertyID": "OCLC_NUMBER",
            "value": "1057320822"
          },
          "potentialAction": {
            "@type": "BorrowAction",
            "lender": {
              "@type": "LibrarySystem",
              "@id": "https://example.com/librarySystem/100"
            },
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "https://example.com/borrowpurchase?bookId=170",
              "actionPlatform": [
                "https://schema.org/DesktopWebPlatform",
                "https://schema.org/AndroidPlatform",
                "https://schema.org/IOSPlatform"
              ]
            }
          }
        },
        {
          "@type": "Book",
          "@id": "https://example.com/edition/the_catcher_in_the_rye_hardcover",
          "isbn": "9780316769532",
          "bookEdition": "Hardcover",
          "bookFormat": "https://schema.org/Hardcover",
          "inLanguage": "en",
          "url": "https://example.com/edition/the_catcher_in_the_rye_hardcover",
          "datePublished": "1951-07-16",
          "potentialAction": {
            "@type": "BorrowAction",
            "lender": {
              "@type": "LibrarySystem",
              "@id": "https://example.com/librarySystem/100"
            },
            "target": [
              {
                "@type": "EntryPoint",
                "urlTemplate": "https://example.com/borrowpurchase?bookId=170",
                "actionPlatform": [
                  "https://schema.org/DesktopWebPlatform"
                ]
              },
              {
                "@type": "EntryPoint",
                "urlTemplate": "https://example.com/mobile/borrowpurchase?bookId=170",
                "actionPlatform": [
                  "https://schema.org/AndroidPlatform",
                  "https://schema.org/IOSPlatform"
                ]
              }
            ]
          }
        }
      ]
    }
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}

ReadAction (potentialAction)

Properti potentialAction menggunakan entitas ReadAction. ReadAction menentukan deep link Anda untuk mengakses buku, retailer yang mendistribusikan buku, dan kriteria yang harus dipenuhi pengguna. Kriteria dapat mencakup status keanggotaan, status login, lokasi, atau hal lain yang diperlukan untuk mengakses buku.

Properti wajib
@type

Text

Tetapkan ke ReadAction.

expectsAcceptanceOf

Offer

Definisi persyaratan pengguna untuk mengakses entitas ini. Jika terdapat beberapa properti Offer, pengguna yang cocok dengan kriteria Offer apa pun mungkin dapat mengakses konten.

Properti ini dapat diulang.

expectsAcceptanceOf.@type

Text

Tetapkan ke Offer.

expectsAcceptanceOf.category

Text

Jenis Offer. Jenis harus berupa salah satu nilai berikut:

  • nologinrequired: Tindakan ini tersedia bagi pengguna untuk dapat mengakses konten tanpa memerlukan pembelian atau login.
  • free: Tindakan ini tersedia tanpa memerlukan pembelian atau langganan berbayar. Namun, tindakan tersebut mengharuskan pengguna untuk login.
  • subscription: Buku termasuk dalam langganan berbayar layanan Anda.
  • purchase: Buku dapat diakses melalui pembelian.
  • rental: Buku dapat diakses selama waktu yang terbatas setelah pembelian.
expectsAcceptanceOf.eligibleRegion

Country

Negara yang memenuhi syarat untuk Offer ini. Ini dapat digunakan untuk mengontrol negara dan wilayah tempat konten ini tersedia atau tidak tersedia.

Properti ini dapat diulang.

expectsAcceptanceOf.eligibleRegion.@type

Text

Tetapkan ke Country.

expectsAcceptanceOf.eligibleRegion.name

Text

Kode negara ISO 3166-1 alpha-2.

target

EntryPoint

Spesifikasi deep link Anda yang mencakup informasi platform yang didukung. Terdapat beberapa properti EntryPoint untuk menentukan berbagai deep link untuk kumpulan platform yang berbeda.

Properti ini dapat diulang.

target.@type

Text

Tetapkan ke EntryPoint.

target.actionPlatform

Text

Platform tempat deep link ini valid. Gunakan salah satu nilai berikut:

  • https://schema.org/DesktopWebPlatform
  • https://schema.org/AndroidPlatform
  • https://schema.org/IOSPlatform

Properti ini dapat diulang.

target.urlTemplate

URL

Link ini langsung mengarahkan pengguna ke konten halaman landing buku Anda.

Properti yang direkomendasikan
expectsAcceptanceOf.availabilityEnds

DateTime

Waktu berakhir untuk jendela ketersediaan. Ini dapat digunakan untuk mengontrol waktu yang tepat kapan buku ini tidak lagi ditampilkan kepada pengguna.

expectsAcceptanceOf.availabilityStarts

DateTime

Waktu mulai untuk jendela ketersediaan. Ini dapat digunakan untuk mengontrol waktu yang tepat kapan buku ini dapat ditampilkan kepada pengguna.

expectsAcceptanceOf.price

Number

Harga pembelian buku. Ini diperlukan saat properti Offer category ditetapkan ke purchase atau rental.

expectsAcceptanceOf.priceCurrency

Text

Mata uang harga dalam format ISO 4217 tiga huruf.

Contoh ReadAction:

"potentialAction": {
  "@type": "ReadAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "https://example.com/purchase?bookId=170",
    "actionPlatform": [
      "https://schema.org/DesktopWebPlatform",
      "https://schema.org/AndroidPlatform",
      "https://schema.org/IOSPlatform"
    ]
  },
  "expectsAcceptanceOf": {
    "@type": "Offer",
    "category": "purchase",
    "price": "9.99",
    "priceCurrency": "USD",
    "availabilityStarts": "2018-04-01T11:01:00-04:00",
    "availabilityEnds": "2018-06-30T23:59:00-04:00",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}

Contoh ReadAction dengan beberapa properti EntryPoint:

"potentialAction": {
  "@type": "ReadAction",
  "target": [
    {
      "@type": "EntryPoint",
      "urlTemplate": "https://example.com/purchase?bookId=170",
      "actionPlatform": [
        "https://schema.org/DesktopWebPlatform"
      ]
    },
    {
      "@type": "EntryPoint",
      "urlTemplate": "https://example.com/mobile/purchase?bookId=170",
      "actionPlatform": [
        "https://schema.org/AndroidPlatform",
        "https://schema.org/IOSPlatform"
      ]
    }
  ],
  "expectsAcceptanceOf": [
    {
      "@type": "Offer",
      "category": "noLoginRequired",
      "availabilityStarts": "2018-04-01T11:01:00-04:00",
      "availabilityEnds": "2018-06-30T23:59:00-04:00",
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        },
        {
          "@type": "Country",
          "name": "GB"
        }
      ]
    },
    {
      "@type": "Offer",
      "category": "Subscription",
      "availabilityStarts": "2018-04-01T11:01:00-04:00",
      "availabilityEnds": "2018-06-30T23:59:00-04:00",
      "eligibleRegion": {
        "@type": "Country",
        "name": "IN"
      }
    }
  ]
}

BorrowAction (potentialAction)

Properti potentialAction menggunakan entitas BorrowAction. BorrowAction menentukan deep link untuk mengakses buku, perpustakaan yang menyediakan buku, dan kriteria yang harus dipenuhi pengguna. Kriteria dapat mencakup status keanggotaan, status login, lokasi, atau hal lain yang diperlukan untuk mengakses buku.

Properti wajib
@type

Text

Tetapkan ke BorrowAction.

lender

LibrarySystem

Sistem perpustakaan yang menyediakan akses ke edisi ini.

lender.@id

URL

Referensi ID LibrarySystem yang harus sepenuhnya dijelaskan secara terpisah di feed perpustakaan.

lender.@type

Text

Tetapkan ke LibrarySystem.

target

EntryPoint

Spesifikasi deep link Anda yang mencakup informasi platform yang didukung. Guna menentukan deep link untuk kumpulan platform yang berbeda, tentukan array EntryPoint.

Properti ini dapat diulang.

target.@type

Text

Tetapkan ke EntryPoint.

target.actionPlatform

Text

Platform tempat deep link ini valid. Gunakan salah satu nilai berikut:

  • https://schema.org/DesktopWebPlatform
  • https://schema.org/AndroidPlatform
  • https://schema.org/IOSPlatform

Properti ini dapat diulang.

target.urlTemplate

URL

Link ini langsung mengarahkan pengguna ke konten halaman landing buku Anda.

Contoh BorrowAction:

"potentialAction": {
  "@type": "BorrowAction",
  "lender": {
    "@type": "LibrarySystem",
    "@id": "https://example.com/librarySystem/100"
  },
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "https://example.com/borrow?bookId=170",
    "actionPlatform": [
      "https://schema.org/DesktopWebPlatform",
      "https://schema.org/AndroidPlatform",
      "https://schema.org/IOSPlatform"
    ]
  }
}

Contoh BorrowAction dengan beberapa properti EntryPoint:

"potentialAction": {
  "@type": "BorrowAction",
  "lender": {
    "@type": "LibrarySystem",
    "@id": "https://example.com/librarySystem/100"
  },
  "target": [
    {
      "@type": "EntryPoint",
      "urlTemplate": "https://example.com/borrow?bookId=170",
      "actionPlatform": [
        "https://schema.org/DesktopWebPlatform"
      ]
    },
    {
      "@type": "EntryPoint",
`      "urlTemplate": "https://example.com/mobile/borrow?bookId=170",
      "actionPlatform": [
        "https://schema.org/AndroidPlatform",
        "https://schema.org/IOSPlatform"
      ]
    }
  ]
}

Entitas Library

Meskipun definisi lengkap Library tersedia di schema.org/Library, Anda hanya wajib mempertimbangkan properti berikut. Anda harus menentukan properti yang diperlukan untuk setiap perpustakaan yang dipilih untuk disertakan dalam feed. Anda juga dapat menentukan properti yang disarankan untuk menambahkan lebih banyak informasi tentang konten Anda sehingga dapat memperbaiki pengalaman pengguna.

Entitas Library ini adalah jenis entitas Library level atas. Ini adalah konstruksi abstrak, yang terdiri dari entitas LibrarySystem dan setiap entitas Library (member) level bawah dari LibrarySystem tersebut.

Feed Library berbeda dengan feed Book. Oleh karena itu, setiap feed Library yang mungkin Anda terapkan harus sepenuhnya terpisah dari feed Book. Untuk informasi selengkapnya, lihat Membuat feed.

LibrarySystem

Entitas LibrarySystem mewakili jaringan kolaboratif anggota perpustakaan.

Properti wajib
@context Text

Tetapkan ke https://schema.org.

@id URL

ID unik global untuk sistem perpustakaan dalam format URL. ID harus stabil dan tidak berubah dari waktu ke waktu. ID ini diperlakukan sebagai string buram dan tidak harus berupa link yang berfungsi. Domain yang digunakan untuk nilai @id harus dimiliki organisasi Anda.

@type Text

Tetapkan ke LibrarySystem.

additionalProperty PropertyValue

Properti tambahan yang digunakan untuk menunjukkan jenis perpustakaan.

additionalProperty.@type Text

Tetapkan ke PropertyValue.

additionalProperty.name Text

Tetapkan ke librarytype.

additionalProperty.value Text

Jenis perpustakaan. Gunakan salah satu nilai berikut:

  • public
  • academic
  • corporate
  • government
  • school
  • special
member Library

Anggota sistem perpustakaan.

name Text

Nama sistem perpustakaan. Contoh, The Southwestern League of Libraries.

url URL

URL tempat sistem perpustakaan diperkenalkan atau dijelaskan. Google Penelusuran menggunakan link ini untuk merekonsiliasi konten di feed Anda dengan konten di database Google. Untuk halaman landing yang sebenarnya, Google Penelusuran menggunakan URL yang disediakan di workExample.target.urlTemplate.

Library (member)

Properti member dari entitas LibrarySystem menggunakan entitas Library (member). Library (member) mewakili anggota perpustakaan tunggal dari sistem perpustakaan tertentu.

Properti wajib
@id URL

ID unik global untuk cabang perpustakaan dalam format URL. ID harus stabil dan tidak berubah dari waktu ke waktu. ID ini diperlakukan sebagai string buram dan tidak harus berupa link yang berfungsi. Domain yang digunakan untuk nilai @id harus dimiliki organisasi Anda.

@type Text

Tetapkan ke Library.

location PostalAddress

Alamat cabang perpustakaan. Tidak semua properti berlaku untuk setiap negara. Anda harus menyertakan informasi sebanyak mungkin yang relevan untuk alamat perpustakaan Anda.

Contoh Amerika Serikat location:

{
  "@type": "Library",
  "@id": "https://example.com/library-branches/1001",
  "name": "Campbell Library",
  "location": {
    "@type": "PostalAddress",
    "streetAddress": "77 Harrison Ave",
    "addressLocality": "Campbell",
    "addressRegion": "CA",
    "postalCode": "95008",
    "addressCountry": "US"
  }
}

Contoh Jepang location:

{
  "@type": "Library",
  "@id": "https://example.com/library-branches/1003",
  "name": "Tokyo Metropolitan Central Library",
  "location": {
    "@type": "PostalAddress",
    "streetAddress": "7-13-5 Minamiazabu, Minato City",
    "addressLocality": "Tokyo",
    "postalCode": "106-0047",
    "addressCountry": "JP"
  }
}
location.@type Text

Tetapkan ke PostalAddress.

location.addressCountry Text

Kode negara dalam format ISO 3166-1. Contoh, US

location.addressLocality Text

Lokalitas. Contoh, Mountain View.

location.addressRegion Text

Wilayah. Contoh, CA.

location.postalCode Text

Kode pos. Contoh, 94043.

location.streetAddress Text

Alamat. Contoh, 1600 Amphitheatre Pkwy.

name Text

Nama cabang perpustakaan.

Contoh file JSON feed LibrarySystem

{
   "@context": "https://schema.org",
   "@type":"LibrarySystem",
   "@id":"https://example.com/library-systems/100",
   "name":"Santa Clara County Library District",
   "additionalProperty":[
      {
         "@type":"PropertyValue",
         "name":"librarytype",
         "value":"public"
      }
   ],
   "member":[
      {
         "@type":"Library",
         "@id":"https://example.com/library-branches/1001",
         "name":"Campbell Library",
         "location":{
            "@type":"PostalAddress",
            "streetAddress":"77 Harrison Ave",
            "addressLocality":"Campbell",
            "addressRegion":"CA",
            "postalCode":"95008",
            "addressCountry":"US"
         }
      },
      {
         "@type":"Library",
         "@id":"https://example.com/library-branches/1002",
         "name":"Gilroy Library",
         "location":{
            "@type":"PostalAddress",
            "streetAddress":"350 W 6th St",
            "addressLocality":"Gilroy",
            "addressRegion":"CA",
            "postalCode":"95020",
            "addressCountry":"US"
         }
      }
   ]
}