書籍動作 (Book
) 結構化資料
書籍動作可讓使用者透過 Google 搜尋發掘書籍和作者,並讓搜尋服務的使用者直接透過搜尋結果購買或借閱自己找到的書籍。舉例來說,使用者可以搜尋《夏綠蒂的網》,並在搜尋的結果中購買或借閱這本書。書籍供應商可以使用本文提供的結構化資料結構定義,向 Google 提供資料動態饋給。我們的規格提供兩種屬性:ReadAction
能讓使用者買書,BorrowAction
則能借書。
![Google 搜尋結果中的書籍動作](https://developers.google.cn/static/search/docs/images/books01.png?authuser=8&hl=zh-tw)
閱讀動作和借閱動作已經整合到知識面板中,能夠顯示購買或借閱書籍的選項。透過您提供的連結,閱讀動作和借閱動作會將使用者從知識面板和其他 Google 產品中,直接導向您網站或應用程式中的書籍頁面。
知識面板中的供應商順序會依據每位使用者的喜好進行動態調整,這表示不同的使用者會看到不同的順序,且同一位使用者在不同時間看到的順序也可能不同。影響這項顯示順序的因素眾多,舉例來說,如果使用者經常在知識面板中點選特定供應商的連結,該供應商就較有可能在順序中獲得較高的排名。沒有任何方法能控制這項顯示順序。
踏出第一步
如要成功導入書籍動作,您必須依據書籍動作的結構化資料類型定義來建立動態饋給。但在那之前,請先詳閱下列各節:
指南規範
為確保書籍能順利呈現在 Google 搜尋結果中,請務必熟悉一些重要細節和主要概念。除此之外,您的動態饋給也必須符合幾項標準化格式規格。
為協助您完成此目標,請務必遵循結構化資料通用指南和搜尋 Essentials,並且同時遵守本文描述的規範,包括:
作品和版本
本說明文件使用兩種不同的詞彙來討論書籍:
- 作品 (Work):指一本書的抽象概念。具體來說,作品的屬性包括書名、作者和原文語言等中繼資料。
- 版本 (Edition):書籍的實際版本。具體來說,版本的屬性包括出版年份、版本名稱和國際標準書號 (ISBN) 等中繼資料。
以《夏綠蒂的網》為例,這是一部「作品」,而它曾出版過的每種變體都是一種版本,因此《夏綠蒂的網》這部作品可能會有初版、二版、節縮版、法文翻譯版等眾多版本。
雖然您可能無法立刻察覺其中差異,不過作品和版本的區別對動態饋給來說特別重要。Book
實體分為兩種:
Book
(Work
) 是「頂層」的Book
實體:workExample
是Work
的屬性之一,能指定一個獨一無二的Book
(Edition
) 例項。- 每個
Work
都必須要有至少一個workExample
。
Book
(Edition
) 是「較低層級」的Book
實體。
請記得,一部作品可以有多個版本。建議您盡可能將這些版本集合在一起,這樣 Google 系統就能運用這本書的所有相關資訊,找到正確的書籍,並呈現在搜尋結果中。如果真的需要,您可以將這些版本分割為多個作品記錄,但每個作品記錄都必須包含:
- 各自不同的
@id
。 - 至少一個擁有 ISBN 或其他支援 ID 的版本。
圖書館系統和圖書館成員
Library entity
是「頂層」的 Library
實體類型。這是一種抽象結構,包含一個 LibrarySystem
實體以及該圖書館系統中每一個「較低層級」的 Library (member)
實體。
LibrarySystem
實體是一個抽象概念,代表由圖書館「成員」組成的合作網絡。舉例來說,您可以將奧斯汀公共圖書館指定為 LibrarySystem
實體。在其網站上,奧斯汀公共圖書館描述自己是為德州奧斯汀地區提供服務的公立圖書館「系統」,而這套系統是由 20 個關聯圖書館 (或稱圖書館「成員」) 組成。
每個 LibrarySystem
實體都必須擁有至少一個 Library (member)
實體,即使該圖書館實際上不屬於任何圖書館系統也一樣。面對這種情況時,為了順利導入書籍動作,請將這座圖書館視為其圖書館「系統」的唯一圖書館「成員」。對書籍動作導入作業而言,圖書館「成員」並非抽象的概念,因此會有實體地址,這點與圖書館「系統」不同。
同樣地,依照前面所述的邏輯,每個 Library (member)
實體都必須屬於至少一個 LibrarySystem
實體。
ISBN 和其他支援的 ID
當 Google 搜尋將您的動態饋給資料和 Google 的資料進行比對時,會以 ISBN 為主要的核對信號。如果想在搜尋結果顯示書籍,您就必須提供每一本書的 ISBN 或其他支援的 ID。如果缺少這些資訊,系統便無法比對您的書籍,也就無法將書籍提供給使用者。
Google 搜尋偏好採用 ISBN-13 系統,但您也可以提供下列 ID:
- 國際線上圖書館電腦中心 (OCLC) 編號
- 美國國會圖書館控管編號 (LCCN)
- JP e-code
連結
為了確保使用者在尋找書籍時能獲得最佳使用體驗,動態饋給中的連結必須遵循下列規範:
- 如果您有多個網頁會顯示相同的內容,則連結必須是包含書名和其他書籍資訊的標準網址。
- 當使用者點選閱讀動作或借閱動作連結後,必須要連向直接支援購買或借閱該書的網頁。有些動作連結指向的網頁會要求使用者必須點擊更多連結,才能購買或借閱內容,請特別注意不要這麼做。舉例來說,請勿將使用者帶往搜尋結果網頁或產品摘要頁面。
建立動態饋給
如果您的網站向使用者販售書籍,就必須上傳 Book
動態饋給。請與 Google 代表聯絡,確認動態饋給的上傳方式和位置等詳細資訊。
如果您的網站提供書籍借閱,就必須上傳兩個不同的動態饋給:Book
動態饋給和 Library
動態饋給。請與 Google 代表聯絡,確認動態饋給的上傳方式和位置等詳細資訊。
遵循動態饋給的檔案大小、數量和格式規定
請遵循以下規定:
- 動態饋給檔案大小相關規定:
- 未壓縮的動態饋給檔案不得大於 1 GB。
- 要壓縮的動態饋給檔案不得大於 1 GB。如果未壓縮的動態饋給檔案大於 1 GB,必須將分割為多個檔案。
- 您可以壓縮動態饋給檔案,壓縮格式必須為 zip、gz、tar、tar.gz、JAR、ar、arj、cpio 或傾印封存檔案。
- 如果有多個動態饋給檔案,可以選擇直接原樣上傳,或是納入 Sitemap 索引檔中。
- 單一動態饋給檔案的副檔名必須為
.json
。
遵循動態饋給內容規定
請特別留意以下動態饋給內容規定,並務必遵循:
- 動態饋給不得含有過時的實體。過時實體是指
availabilityEnds
設定為過去日期的實體,或是您的網站已不再提供的實體。 - 動態饋給所包含的所有深層連結 (例如
urlTemplate
) 和所有網址 (例如url
),都必須是實際使用的網址。請勿使用品質確保用的網址、開發網址或任何其他非實際使用的網址。 - 所有網址 (例如
url
) 都必須是標準網頁。 - 動態饋給中的每個實體都必須指定下列屬性:
- 唯一識別碼:
@id
- 專屬網址:
url
- 專屬深層連結:
urlTemplate
- 唯一識別碼:
使用資料動態饋給驗證工具測試動態饋給
建議您按照下列疑難排解步驟,在資料動態饋給驗證工具上修正常見的錯誤和警告:
-
確認「驗證日期」欄位中選取的是正確選項。 請為
Book
實體選取「書籍動作」。 - 確認
@type
的值拼寫正確無誤。 - 確認
@context
的值設定正確。請將ReadAction
和BorrowAction
都設定為"@context": "https://schema.org"
。
代管動態饋給檔案
準備好動態饋給檔案後,請將檔案代管於安全的位置。Google 會定期擷取動態饋給,確保您的內容皆為最新資訊。
代管方法
系統支援下列幾種動態饋給代管方法:
代管 | 驗證支援 | |
---|---|---|
Google Cloud Storage | Storage Object Viewer 權限 | |
HTTPS | 使用者名稱 + 密碼,或 HTTP 用戶端憑證 | |
安全檔案傳輸通訊協定 | 密碼,或是金鑰 + 詞組,或兩者同時使用 | |
AWS S3 | 金鑰 ID + 存取金鑰 |
將動態饋給檔案送交審查
在 Google 搜尋收錄您的內容之前,Google 支援團隊會審查動態饋給中的深層連結品質。我們強烈建議您手動測試某些深層連結,確認這些連結開啟的網頁可供使用者購買或借閱書籍。
如要提出動態饋給審查要求,請提供下列資訊:
- 代管位置:動態饋給檔案的網址。
- 代管驗證 (如適用):讓 Google 能從代管位置取得動態饋給檔案的驗證憑證。
視需要更新動態饋給
我們建議您每天更新動態饋給,不過最終還是要依您目錄的變更頻率而定。請留意下列情況和提示:
- Google 搜尋不支援即時更新。
- Google 搜尋每天都會擷取您的動態饋給,擷取到的內容通常會在兩天內編入索引。
- 如果已可預見某個版本的供應時間會有所變化,請使用
availabilityStarts
和availabilityEnds
設定確切的供應日期;如果已停止供應,則請完整移除該版本的實體。
結構化資料類型定義
您的內容必須包含下面列出的必要屬性,才能顯示在結構化搜尋結果中。您也可以加入建議的屬性,為內容新增更多相關資訊,提供更優質的使用者體驗。
DataFeed 實體
每個傳送給 Google 的 schema.org 資料動態饋給檔案,其根目錄層級都必須包含一個 DataFeed
實體,而所有 Book
和 Library
實體都必須列在 DataFeed
實體的 dataFeedElement
欄位下。
Google 支援的屬性如下:
必要屬性 | |
---|---|
@context |
請設為 |
@type |
請設為 |
dataFeedElement |
請設定為單一 在 { "@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" } 在 { "@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 |
動態饋給上次更新的日期和時間,採 ISO 8601 格式。 |
Book
實體
schema.org/Book 內已提供 Book
的完整定義,您只需要考慮下列屬性即可。請務必為加入動態饋給的每本書定義必要屬性。您也可以定義建議的屬性,為內容新增更多相關資訊,提供更優質的使用者體驗。
Book
(Work
)
這種 Book
實體是頂層的實體類型,代表一部「作品」。
Google 支援的屬性如下:
必要屬性 | |
---|---|
@context |
請設為 |
@id |
書籍的全域唯一 ID,採網址形式,必須對貴機構是唯一值。這個 ID 應固定,不會隨著時間而改變。我們建議採用網址格式,但並非強制,且不一定要是有效連結。用於 |
@type |
請設為 |
author |
書籍的作者。 |
name |
書籍的名稱。 |
url |
您網站上介紹或描述該書籍資訊的網址。這個連結能協助系統準確比對動態饋給中的內容與 Google 資料庫中的內容。可以與 Google 搜尋會使用 |
workExample |
作品的版本。 |
建議屬性 | |
---|---|
sameAs |
可識別作品的參考網頁網址。舉例來說,可能是該本書在維基百科、維基數據、虛擬國際權威檔 (VIAF) 或美國國會圖書館的頁面。 |
Book
(Edition
)
這個 Book
實體用於 workExample
屬性,代表一部「作品」的其中一個「版本」。
Google 支援的屬性如下:
必要屬性 | |
---|---|
@id |
書籍的全域唯一 ID,採網址形式,必須對貴機構是唯一值。這個 ID 應固定,不會隨著時間而改變。我們建議採用網址格式,但並非強制,且不一定要是有效連結。用於 |
@type |
請設為 |
bookFormat |
版本的形式。這個屬性的值必須為以下其中一種:
|
inLanguage |
版本內容的主要語言。請參考 ISO 639-1 alpha-2 代碼清單,使用其中一個由兩個英文字母組成的代碼。 |
isbn |
版本的 ISBN-13 編號。如果您擁有的是 ISBN-10,請轉換為 ISBN-13。 |
potentialAction |
觸發後能讓使用者購買或下載書籍的動作。詳情請參閱 |
建議屬性 | |
---|---|
author |
版本的作者。 |
bookEdition |
書籍版本資訊,例如 |
datePublished |
版本的出版日期,採 YYYY-MM-DD 或 YYYY 格式。可以是特定日期,或只是某個年份。 |
identifier |
可明確識別版本的外部 ID 或其他 ID。可使用多個 ID。詳情請參閱 這個屬性可以重複使用。 |
name |
版本的名稱。只有在版本名稱與作品名稱不同時,才需要使用這個屬性。 |
sameAs |
可明確識別版本的參照網頁網址。例如,此特定版本的維基百科頁面。請勿重複使用 |
url |
您網站上介紹或描述該版本資訊的網址,可以與 |
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": {...} }
含有多個 workExample
屬性的 Book
(Edition
) 範例:
"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
或 Organization
(author
)
Person
或 Organization
實體會用於書籍的 author
屬性。
必要屬性 | |
---|---|
@type |
設為 |
name |
個人或機構組織的名稱。 |
建議屬性 | |
---|---|
sameAs |
可明確識別個人或機構組織的參照網頁網址,例如個人或機構組織的維基百科頁面。 |
author
範例:
"author": { "@type": "Person", "name": "William Shakespeare" }
含有多個 author
屬性的範例:
"author": [ { "@type": "Person", "name": "William Shakespeare" }, { "@type": "Person", "name": "Victor Hugo", "sameAs": "https://en.wikipedia.org/wiki/Victor_Hugo" } ]
PropertyValue (identifier)
PropertyValue
實體會用於 Edition
的 identifier
屬性。
必要屬性 | |
---|---|
@type |
請設為 |
propertyID |
ID 的類型。如 ISBN 和其他支援的 ID 一節所述,您必須使用下列其中一種 ID:
|
value |
ID 的值。可明確識別此版本的外部 ID。請移除外部 ID 中所有非數字的前置字元。 |
identifier
範例:
"identifier": { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "110123456" }
含有多個 identifier
屬性的範例:
"identifier": [ { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "110123456" }, { "@type": "PropertyValue", "propertyID": "LCCN", "value": "220123456" },{ "@type": "PropertyValue", "propertyID": "JP_E-CODE", "value": "12345678901234567890" }]
ReadAction
Book
動態饋給 JSON 檔案範例
{ "@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" }
BorrowAction
Book
動態饋給 JSON 檔案範例
{ "@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
)
ReadAction
實體會用於 potentialAction
屬性。
ReadAction
負責定義存取書籍的深層連結、販售書籍的零售商,以及使用者必須符合的條件。這些條件可能包括會員狀態、登入狀態、位置,或存取該書籍所須的任何其他資訊。
必要屬性 | |
---|---|
@type |
請設為 |
expectsAcceptanceOf |
定義使用者必須符合怎樣的條件才能存取這個實體。如果存在多個 這個屬性可以重複使用。 |
expectsAcceptanceOf.@type |
請設為 |
expectsAcceptanceOf.category |
|
expectsAcceptanceOf.eligibleRegion |
這個 這個屬性可以重複使用。 |
expectsAcceptanceOf.eligibleRegion.@type |
請設為 |
expectsAcceptanceOf.eligibleRegion.name |
採 ISO 3166-1 alpha-2 格式的國家/地區代碼。 |
target |
您的深層連結規格,包括支援的平台資訊。您可以使用多個 這個屬性可以重複使用。 |
target.@type |
請設為 |
target.actionPlatform |
這個深層連結適用的所有平台。請使用下列其中一個值:
這個屬性可以重複使用。 |
target.urlTemplate |
這個連結能將使用者直接導向書籍到達網頁的內容。 |
建議屬性 | |
---|---|
expectsAcceptanceOf.availabilityEnds |
供應期間的結束時間。此屬性可用來控制不再對使用者顯示這本書的確切時間。 |
expectsAcceptanceOf.availabilityStarts |
供應期間的開始時間。此屬性可用來控制可以開始向使用者顯示這本書的確切時間。 |
expectsAcceptanceOf.price |
書籍的購買價格。當 |
expectsAcceptanceOf.priceCurrency |
價格的幣別,採用三個英文字母組成的 ISO 4217 格式。 |
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" } } }
含有多個 EntryPoint
屬性的 ReadAction
範例:
"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
)
BorrowAction
實體會用於 potentialAction
屬性。
BorrowAction
負責定義存取書籍的深層連結、擁有書籍的圖書館,以及使用者必須符合的條件。這些條件可能包括會員狀態、登入狀態、位置,或存取該書籍所須的任何其他資訊。
必要屬性 | |
---|---|
@type |
請設為 |
lender |
提供此版本存取權的圖書館系統。 |
lender.@id |
|
lender.@type |
請設為 |
target |
您的深層連結規格,包括支援的平台資訊。如要定義不同平台集的深層連結,請指定 這個屬性可以重複使用。 |
target.@type |
請設為 |
target.actionPlatform |
這個深層連結適用的所有平台。請使用下列其中一個值:
這個屬性可以重複使用。 |
target.urlTemplate |
這個連結能將使用者直接導向書籍到達網頁的內容。 |
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" ] } }
含有多個 EntryPoint
屬性的 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" ] }, { "@type": "EntryPoint", ` "urlTemplate": "https://example.com/mobile/borrow?bookId=170", "actionPlatform": [ "https://schema.org/AndroidPlatform", "https://schema.org/IOSPlatform" ] } ] }
Library
實體
schema.org/Library 內已提供 Library
的完整定義,您只需要考慮下列屬性即可。請務必為加入動態饋給的每間圖書館定義必要屬性。
您也可以定義建議的屬性,為內容新增更多相關資訊,提供更優質的使用者體驗。
這種 Library
實體是頂層的 Library
實體類型,這是一種抽象結構,包含一個 LibrarySystem
實體以及該 LibrarySystem
中每一個「較低層級」的 Library (member)
實體。
Library
動態饋給與 Book
動態饋給是不同的項目,因此,您導入的任何 Library
動態饋給都必須獨立於 Book
動態饋給之外。
詳情請參閱建立動態饋給一節的說明。
LibrarySystem
LibrarySystem
實體代表由圖書館「成員」組成的合作網絡。
必要屬性 | |
---|---|
@context
|
Text
請設為 |
@id
|
URL
圖書館系統的全域唯一識別碼,採網址格式。這個 ID 應固定,不會隨著時間而改變。系統會將這個值視為不透明字串,且不一定要是有效連結。用於 |
@type
|
Text
請設為 |
additionalProperty
|
PropertyValue
用來識別圖書館類型的額外屬性。 |
additionalProperty.@type
|
Text
請設為 |
additionalProperty.name
|
Text
請設為 |
additionalProperty.value
|
Text
圖書館的類型。請使用下列其中一個值:
|
member
|
Library
圖書館系統的成員。 |
name
|
Text
圖書館系統的名稱。例如 |
url
|
URL
介紹或描述圖書館系統的網址。Google 搜尋會使用這個連結來比對動態饋給中的內容與 Google 資料庫中的內容,並使用 |
Library
(member
)
Library (member)
實體會用於 LibrarySystem
實體的 member
屬性。
Library (member)
代表的是特定圖書館「系統」的單一圖書館「成員」。
必要屬性 | |
---|---|
@id
|
URL
圖書館分館的全域唯一識別碼,採網址格式。這個 ID 應固定,不會隨著時間而改變。系統會將這個值視為不透明字串,且不一定要是有效連結。用於 |
@type
|
Text
請設為 |
location
|
PostalAddress
圖書館分館的街道地址。並非所有屬性都適用於所有國家/地區,請盡可能加入所有適用於您圖書館地址的屬性。 美國地區 { "@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/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
請設為 |
location.addressCountry
|
Text
採 ISO 3166-1 格式的國家/地區代碼。例如 |
location.addressLocality
|
Text
縣市。例如 |
location.addressRegion
|
Text
地區。例如 |
location.postalCode
|
Text
郵遞區號。例如 |
location.streetAddress
|
Text
街道地址。例如 |
name
|
Text
圖書館分館的名稱。 |
LibrarySystem
動態饋給 JSON 檔案範例
{ "@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" } } ] }