
Photo by Annie Spratt via Unsplash
書籍(Books)の構造化データをマークアップする方法を紹介します。
Googleは検索結果のナレッジグラフに書籍に関する情報を表示することがあります。

書籍に関する情報は構造化データをマークアップしていなくても表示されることがありますが、構造化データをマークアップしておくと、Googleはその書籍に関する情報をより正確に理解できるようになります。
JSON-LDでマークアップ
書籍(Books)の構造化データをJSON-LDでマークアップする方法です。JSON-LDはページのどこに記述しても問題ありませんが、通常は<head>タグ内に記述します。
<script type="application/ld+json">
{
"@context":"http://schema.org",
"@type":"Book",
"name" : "The Catcher in the Rye",
"author": {
"@type":"Person",
"name":"J.D. Salinger"
},
"url" : "http://www.barnesandnoble.com/store/info/offer/JDSalinger",
"workExample" : [{
"@type": "Book",
"isbn": "031676948",
"bookEdition": "2nd Edition",
"bookFormat": "http://schema.org/Hardcover",
"potentialAction":{
"@type":"ReadAction",
"target":
{
"@type":"EntryPoint",
"urlTemplate":"http://www.barnesandnoble.com/store/info/offer/0316769487?purchase=true",
"actionPlatform":[
"http://schema.org/DesktopWebPlatform",
"http://schema.org/IOSPlatform",
"http://schema.org/AndroidPlatform"
]
},
"expectsAcceptanceOf":{
"@type":"Offer",
"Price":6.99,
"priceCurrency":"USD",
"eligibleRegion" : {
"@type":"Country",
"name":"US"
},
"availability": "http://schema.org/InStock"
}
}
},{
"@type": "Book",
"isbn": "031676947",
"bookEdition": "1st Edition",
"bookFormat": "http://schema.org/EBook",
"potentialAction":{
"@type":"ReadAction",
"target":
{
"@type":"EntryPoint",
"urlTemplate":"http://www.barnesandnoble.com/store/info/offer/031676947?purchase=true",
"actionPlatform":[
"http://schema.org/DesktopWebPlatform",
"http://schema.org/IOSPlatform",
"http://schema.org/AndroidPlatform"
]
},
"expectsAcceptanceOf":{
"@type":"Offer",
"Price":1.99,
"priceCurrency":"USD",
"eligibleRegion" : {
"@type":"Country",
"name":"UK"
},
"availability": "http://schema.org/InStock"
}
}
}]
}
</script>
属性の解説
書籍(Books)の構造化データの属性は次のようになります。
書籍(Book)に関する情報
| 属性 | 必須 | 説明 |
|---|---|---|
| @id | 推奨 | URL形式のユニークなID IDは変わらない、固定のものを使用する。このURLは抽象的なものとして扱われるので、実際のWebページを表示する必要はない。 |
| name | 必須 | 書籍のタイトル |
| author | 必須 | 書籍の著者に関する情報 “@type”:”Person” |
| URL | 必須 | 自サイトの書籍に関するページのURL |
| sameAs | 必須 | 書籍に関連するページ Wikipediaや、プロフィールページ、公式サイトなど |
| workExample | 必須 | 書籍の版に関する情報 “@type”: “Book” |
著者(Author@Person)に関する情報
| 属性 | 必須 | 説明 |
|---|---|---|
| author.name | 必須 | 書籍の著者の名前 |
| author.sameAs | 推奨 | 著者に関連するページ Wikipediaや、プロフィールページ、公式サイトなど |
版(WorkExample@Book)に関する情報
| 属性 | 必須 | 説明 |
|---|---|---|
| workExample.@id | 推奨 | URL形式のユニークなID 書籍で使用したIDとは異なる必要がある。 IDは変わらない、固定のものを使用する。このURLは抽象的なものとして扱われるので、実際のWebページを表示する必要はない。 |
| workExample.bookEdition | 任意 | 書籍の版 |
| workExample.bookFormat | 必須 | 書籍のフォーマット 電子書籍、ハードカバー、ペーパーバック、オーディオブックなど(日本なら新書、単行本、文庫本などがあると思います。) |
| workExample.isbn | 必須 | ISBN(国際標準図書番号) 電子書籍版などで、ISBNがない場合は、印刷版のISBNを使用する。 |
| workExample.name | 推奨* | 版のタイトル 版のタイトルが書籍のタイトルと異なる場合に使用。 *版のタイトルが書籍のタイトルと同じ場合は、任意。 |
| workExample.author | 推奨* | 版の著者 版の著者が書籍の著者と異なる場合に使用。 *版の著者が書籍の著者と同じ場合は、任意。 |
| workExample.potentialAction | 必須 | 書籍を読むために必要なアクション @type”:”ReadAction” |
| workExample.url | 推奨 | 版に固定のURL(存在する場合) |
| workExample.sameAs | 推奨 | 版に関連するページ Wikipediaや、プロフィールページ、公式サイトなど |
| workExample.datePublished | 推奨 | 版の最初の発行日 |
書籍を読むためのアクション(potentialAction@ReadAction)に関する情報
| 属性 | 必須 | 説明 |
|---|---|---|
| potentialAction.target | 必須 | アクションに関する情報 “@type”:”EntryPoint” |
| potentialAction.target.urlTemplate | 必須 | 購入ページのURLなど |
| potentialAction.target.actionPlatform | 必須 | URLが対応しているプラットフォーム 以下から複数選択可 http://schema.org/DesktopWebPlatform: デスクトップのWebブラウザ用 http://schema.org/MobileWebPlatform: モバイルのWebブラウザ用 http://schema.org/AndroidPlatform: Androidアプリ用 http://schema.org/IOSPlatform: |
| potentialAction.expectsAcceptanceOf | 必須 | 購入に関する情報 “@type”:”Offer” |
購入(expectsAcceptanceOf@Offer)に関する情報
| 属性 | 必須 | 説明 |
|---|---|---|
| expectsAcceptanceOf.@id | 推奨 | 購入に関するユニークなID |
| expectsAcceptanceOf.price | 必須 | 価格 |
| expectsAcceptanceOf.priceCurrency | 必須 | 通貨 日本円ならJPY |
| expectsAcceptanceOf.eligibleRegion | 任意 | 購入できる地域 |
| expectsAcceptanceOf.ineligibleRegion | 任意 | 購入できない地域 購入できる地域と購入できない地域に同じ国が記載されている場合は、その国については購入できない地域のデータで上書きされる |
| expectsAcceptanceOf.ineligibleRegion.name | 任意 | 地域の名前 日本ならJP |
| expectsAcceptanceOf.availability | 任意 | 在庫に関する情報 在庫あり、在庫なし、予約注文受付中など |