書籍アクション(Book
)の構造化データ
書籍アクションを使用すると、ユーザーに書籍と著者を見つけてもらうための入り口として Google 検索を利用できます。ユーザーが検索結果で見つけた書籍を簡単に購入または借りることができるようになります。たとえば、ユーザーが「シャーロットのおくりもの」を検索すると、表示された結果で書籍の購入や貸出サービスの利用が行えます。書籍プロバイダは、ここで説明する構造化データスキーマを使用して、Google にデータフィードを提供します。ユーザーは ReadAction
を使用して書籍を購入し、BorrowAction
を使用して書籍を借りる仕様となっています。
パネルには読むアクションと借りるアクションが組み込まれており、書籍を購入するためのオプションや借りるためのオプションが表示されます。ユーザーは、表示されるリンクを介して読むアクションや借りるアクションを実行することで、ナレッジパネルや他の Google サーフェスからウェブサイトやアプリ上の書籍のページに直接移動できます。
プロバイダがナレッジパネルに表示される順序は、ユーザーごとに動的にパーソナライズされます。つまり、ユーザーによって表示されるプロバイダの順序は異なり、同じユーザーであってもタイミングが異なると表示順序が変わります。順序に影響する要因はさまざまです。たとえば、ユーザーがナレッジパネルで特定のプロバイダのリンクをクリックする回数が多いほど、そのプロバイダが上位に表示される可能性が高くなります。順序をコントロールする方法はありません。
開始する
書籍アクションを適切に実装するには、書籍アクションの構造化データタイプの定義に沿ってフィードを作成する必要があります。実装にあたっては、まず以下の項目を確認してください。
ガイドライン
書籍が確実に検索結果に表示されるようにするには、重要な点と主要な概念について把握することが大切です。また、フィードについて標準形式の仕様を満たす必要があります。
要件を満たすには、構造化データに関する一般的なガイドラインと検索の基本事項に加えて、ここで説明するガイドラインに従ってしてください。以下のガイドラインがあります。
作品とエディション
このドキュメントでは、書籍について述べる際に、次に示す 2 つの用語を使用します。
- 作品: 抽象的な概念としての書籍。具体的には、タイトル、著者、原著の言語などの作品に帰属するメタデータを指します。
- エディション: 実際に出版された書籍。具体的には、出版年、版の名称、国際標準図書番号(ISBN)などの刊行物に帰属するメタデータを指します。
たとえば、『シャーロットのおくりもの』は作品ですが、出版された各種の刊行物はエディションです。作品としての『シャーロットのおくりもの』 には、初版、第 2 版、要約版、フランス語翻訳版などのエディションがあります。
この区別は、フィード内ではすぐに見分けられない場合があるため、特に重要です。Book
エンティティには、次の 2 つがあります。
Book
(Work
)は「最上位レベル」のBook
エンティティです。workExample
はWork
のプロパティであり、Book
(Edition
)のインスタンスを 1 つだけ指定します。Work
ごとに少なくとも 1 つのworkExample
が必要です。
Book
(Edition
)は「下位レベル」のBook
エンティティです。
1 つの作品に複数のエディションが存在する場合があることを覚えておくと便利です。エディションはできる限りグループ化することをおすすめします。そうすれば、Google のシステムが書籍に関するすべての関連情報を利用し、それを検索結果に表示できます。必要なときには複数の作品レコードに分割することもできますが、その場合、各作品レコードには以下が必要です。
- 別の
@id
。 - ISBN またはその他のサポートされている識別子を持つ、少なくとも 1 つのエディション。
図書館システムと図書館メンバー
Library entity
は「最上位レベル」の Library
エンティティ タイプです。これは抽象的な構造を示すものであり、LibrarySystem
エンティティと、その図書館システムの「下位レベル」にあたる個別の Library (member)
エンティティで構成されます。
LibrarySystem
は抽象化されたエンティティであり、図書館メンバーによる協力関係のつながりを表します。たとえば、オースティン公共図書館は LibrarySystem
エンティティとして指定でき、オースティン公共図書館のウェブサイトが、テキサス州オースティンでサービスを提供する公共図書館システムとして表現されます。このシステムは、20 の系列図書館、つまり図書館メンバーで構成されます。
すべての LibrarySystem
エンティティで、少なくとも 1 つの Library (member)
エンティティが必要です。図書館が実際には図書館システムに含まれていない場合にも必要であり、書籍アクションの実装上、このようなケースでは図書館は自らの図書館システムの唯一の図書館メンバーとして指定されます。また、書籍アクションの実装上、図書館メンバーは、図書館システムとは違って抽象的な概念ではないことから、実際の住所が指定されます。
逆の言い方をすると、すべての Library (member)
エンティティは、少なくとも 1 つの LibrarySystem
エンティティに属している必要があります。
ISBN とその他のサポートされている識別子
ISBN は、Google 検索でフィードデータと Google のデータをマッチングする際の主要な照合シグナルです。プロバイダは、検索結果に表示させたい書籍すべてについて、ISBN またはその他のサポートされている識別子を提供する必要があります。そのような識別子を提供しなかった場合、マッチングがうまくできなくなるため、書籍が検索結果に表示されません。
Google 検索では ISBN-13 が推奨されていますが、代わりに以下を提供することもできます。
- オンライン コンピュータ ライブラリ センター(OCLC)番号
- アメリカ議会図書館管理番号(LCCN)
- JP-e コード
リンク
ユーザーが書籍を見つけやすくするために、フィード内のリンクは次のガイドラインに従う必要があります。
- 同じコンテンツについて重複するページが存在する場合は、書籍のタイトルと書籍に関するその他の情報を含む正規 URL をリンクに指定する必要があります。
- ユーザーが読むアクションまたは借りるアクションのリンクをクリックしたら、書籍の購入または貸し出しサービスを直接サポートするページにユーザーを転送する必要があります。特に、何回もリンクをクリックしなければコンテンツの購入や貸し出しサービスが利用できないページをアクション リンクの宛先にすることは避けてください。たとえば、検索結果ページや商品概要ページにユーザーを誘導してはなりません。
フィードを作成する
サイトでユーザーへの書籍の販売を行う場合は、Book
フィードをアップロードする必要があります。Google の担当者に連絡して、フィードをアップロードする方法と場所の詳細を確認してください。
サイトでユーザーへの書籍の貸し出しを行う場合は、Book
フィードと Library
フィードの 2 つを別個にアップロードする必要があります。Google の担当者に連絡して、フィードをアップロードする方法と場所の詳細を確認してください。
フィード ファイルのサイズ、量、形式の要件を守る
要件は次のとおりです。
- フィード ファイルのサイズ要件:
- フィード ファイルを圧縮しない場合は、サイズは 1 GB 未満でなければなりません。
- フィード ファイルを圧縮する場合も 1 GB 未満でなければなりません。フィード ファイルを圧縮せず、サイズが 1 GB を超える場合は、フィード ファイルを複数のファイルに分割する必要があります。
- フィード ファイルは圧縮できます。その場合、zip、gz、tar、tar.gz、JAR、ar、arj、cpio、またはダンプ アーカイブ ファイル形式にする必要があります。
- 複数のフィード ファイルがある場合は、そのままアップロードすることも、サイトマップ インデックス ファイルに含めることもできます。
- 単一のフィード ファイルのファイル拡張子は
.json
でなければなりません。
フィード コンテンツの要件に従う
次のフィード コンテンツ要件に特に注意し、これらを守ってください。
- フィードに最新ではないエンティティを含めてはなりません。最新ではないエンティティとは、
availabilityEnds
が過去の日付に設定されているエンティティ、またはサイトで参照できなくなったエンティティです。 - フィード内のすべてのディープリンク(
urlTemplate
など)とすべての URL(url
など)は本番環境の URL でなければなりません。QA 環境、開発環境、またはその他の本番以外の環境の URL は使用しないでください。 - すべての URL(
url
など)は正規 URL でなければなりません。 - フィード内の各エンティティでは、次のプロパティを指定する必要があります。
- 一意の ID:
@id
- 一意の URL:
url
- 一意のディープリンク:
urlTemplate
- 一意の ID:
データフィード検証ツールでフィードをテストする
データフィード検証ツールで一般的なエラーと警告を解決する際には、次のトラブルシューティング手順の実施をおすすめします。
-
[Validate on] フィールドで正しいオプションが選択されていることを確認します。
Book
エンティティに対しては [Books Action] を選択します。 @type
の値が正確に表記されていることを確認します。@context
の値が適切に設定されていることを確認します。ReadAction
とBorrowAction
の両方に"@context": "https://schema.org"
を設定します。
フィード ファイルをホストする
フィード ファイルの準備ができたら、安全な場所にホストします。Google は定期的にフィードを取得して、コンテンツが最新かどうかを確認します。
ホスト方法
フィードをホストする方法としては、以下がサポートされています。
ホスト方法 | 認証サポート | |
---|---|---|
Google Cloud Storage | ストレージ オブジェクト閲覧者の権限 | |
HTTPS | ユーザー名 + パスワード、または HTTP クライアント証明書 | |
SFTP | パスワード、キー + フレーズ、またはその両方 | |
AWS S3 | キー ID + アクセスキー |
審査を受けるためにフィード ファイルを送信する
コンテンツを Google 検索で使用できるようにするには、フィード内のディープリンクの品質について、Google サポートチームによる審査を受けます。いくつかのディープリンクを手動でテストして、ユーザーが書籍の購入または貸し出しを利用するページが開くかどうかを確認することをおすすめします。
フィードの審査をリクエストする際は、以下の情報をお知らせください。
- ホストの場所: フィード ファイルの URL。
- ホストの認証情報(該当する場合): Google がホストの場所からフィード ファイルを取得するための認証情報。
必要に応じてフィードを更新する
書籍の目録を変更する頻度にもよりますが、フィードは毎日更新することをおすすめします。以下の条件とヒントを参考にしてください。
- Google 検索はリアルタイムでの更新をサポートしていません。
- Google 検索は 1 日に 1 回フィードを取得し、通常 2 日以内にコンテンツをインデックスに登録します。
- 特定のエディションを提供できる時期に変更が見込まれる場合は、
availabilityStarts
とavailabilityEnds
を使用して正確な日付を設定します。エンティティを使用できなくなった場合は、エンティティを完全に削除します。
構造化データタイプの定義
コンテンツが構造化データとして検索結果に表示されるようにするには、下記の一覧に示す必須プロパティを含める必要があります。また、推奨プロパティを含めることにより、コンテンツに関する情報を追加できます。これはユーザー エクスペリエンスの向上に役立ちます。
DataFeed エンティティ
Google に送信されるすべての schema.org データフィード ファイルは、ルートレベルに DataFeed
のエンティティを 1 つだけ含む必要があります。すべての 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
エンティティ
Book
の定義の全文は schema.org/Book で確認できますが、考慮する必要があるのは下記のプロパティだけです。フィードに含めるすべての書籍について、必須プロパティを定義する必要があります。また、推奨プロパティを定義して、コンテンツに関する情報を追加できます。これはユーザー エクスペリエンスの向上に役立ちます。
Book
(Work
)
Book
エンティティは、最上位レベルのエンティティ タイプです。作品を表します。
Google がサポートするプロパティは、次のとおりです。
必須プロパティ | |
---|---|
@context |
|
@id |
書籍に関するグローバルで一意な ID。URL 形式で指定します。プロバイダの組織内で一意である必要があります。ID は固定されており、時間の経過とともに変化してはなりません。URL 形式が推奨されますが必須ではありません。また、有効なリンクである必要はありません。 |
@type |
|
author |
書籍の著者(1 人または複数)。 |
name |
書籍のタイトル。 |
url |
書籍の紹介または解説が掲載されているウェブサイトの URL。このリンクは、フィード内のコンテンツと Google のデータベース内のコンテンツを正確に照合するために役立ちます。 実際のランディング ページについては、Google 検索は |
workExample |
作品のエディション(1 つまたは複数)。 |
推奨プロパティ | |
---|---|
sameAs |
作品を識別する参照ページの URL。たとえば、この書籍に関する Wikipedia、VIAF、アメリカ議会図書館のページなどです。 |
Book
(Edition
)
workExample
プロパティでは、この Book
エンティティを使用します。作品のエディションを表します。
Google がサポートするプロパティは、次のとおりです。
必須プロパティ | |
---|---|
@id |
書籍に関するグローバルで一意な ID。URL 形式で指定します。プロバイダの組織内で一意である必要があります。ID は固定されており、時間の経過とともに変化してはなりません。URL 形式が推奨されますが必須ではありません。また、有効なリンクである必要はありません。 |
@type |
|
bookFormat |
エディションの形式。この値は、次のいずれかにする必要があります。
|
inLanguage |
エディションの内容の主要言語。ISO 639-1 alpha-2 コードのリストにある 2 文字のコードのいずれか 1 つを使用します。 |
isbn |
エディションの ISBN-13 情報。ISBN-10 の場合は、ISBN-13 に変換します。 |
potentialAction |
ユーザーが書籍を購入またはダウンロードする際にトリガーされるアクション。詳細については、 |
推奨プロパティ | |
---|---|
author |
エディションの著者(1 人または複数)。 |
bookEdition |
書籍のエディション情報。例: |
datePublished |
エディションの出版日付。YYYY-MM-DD または YYYY 形式で指定します。特定の年月日または特定の年を指定できます。 |
identifier |
このエディションを一義的に示す外部 ID またはその他の ID。複数の識別子を使用できます。詳細については、 このプロパティは繰り返し可能です。 |
name |
エディションのタイトル。エディションのタイトルが作品のタイトルと異なる場合にのみ使用します。 |
sameAs |
エディションを一義的に示す参照ウェブページの URL。たとえば、特定のエディションに関する Wikipedia のページです。 |
url |
エディションの紹介または解説が掲載されているウェブサイトの 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
)
書籍の author
プロパティでは、Person
または Organization
エンティティを使用します。
必須プロパティ | |
---|---|
@type |
|
name |
個人または組織の名前。 |
推奨プロパティ | |
---|---|
sameAs |
個人または組織のプロフィールを一義的に示す参照ウェブページの URL。たとえば、個人または組織の Wikipedia ページなどです。 |
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)
Edition
の identifier
プロパティでは、PropertyValue
エンティティを使用します。
必須プロパティ | |
---|---|
@type |
|
propertyID |
ID のタイプ。ISBN とその他のサポートされている識別子で説明しているように、次のいずれかを指定する必要があります。
|
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
)
potentialAction
プロパティでは、ReadAction
エンティティを使用します。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 |
価格の通貨。3 文字の 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
)
potentialAction
プロパティでは、BorrowAction
エンティティを使用します。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
エンティティ
Library
の定義の全文は schema.org/Library で確認できますが、考慮する必要があるのは下記のプロパティだけです。フィードに含めるすべての図書館について、必須プロパティを定義する必要があります。また、推奨プロパティを定義して、コンテンツに関する情報を追加できます。これはユーザー エクスペリエンスの向上に役立ちます。
Library
エンティティは、最上位レベルの Library
エンティティ タイプです。これは抽象的な構造を示すものであり、LibrarySystem
エンティティと、その LibrarySystem
の下位レベルにあたる個別の Library (member)
エンティティで構成されます。
Library
フィードは Book
フィードとは区別されます。したがって、Library
フィードを実装する場合には、Book
フィードとは完全に別にする必要があります。詳細については、フィードを作成するをご覧ください。
LibrarySystem
LibrarySystem
エンティティは、図書館メンバーによる協力関係のつながりを表します。
必須プロパティ | |
---|---|
@context
|
Text
|
@id
|
URL
図書館システムに関するグローバルで一意な ID。URL 形式で指定します。ID は固定されており、時間の経過とともに変化してはなりません。不透明型の文字列として扱われ、有効なリンクである必要はありません。 |
@type
|
Text
|
additionalProperty
|
PropertyValue
図書館の種類を示すために使用する追加のプロパティ。 |
additionalProperty.@type
|
Text
|
additionalProperty.name
|
Text
|
additionalProperty.value
|
Text
図書館の種類。次のいずれかの値を使用します。
|
member
|
Library
図書館システムのメンバー(1 つまたは複数)。 |
name
|
Text
図書館システムの名前。例: |
url
|
URL
図書館システムの紹介または解説が掲載されている URL。Google 検索は、このリンクを使用してフィード内のコンテンツと Google のデータベース内のコンテンツを照合します。実際のランディング ページについては、Google 検索は |
Library
(member
)
LibrarySystem
エンティティの member
プロパティでは、Library (member)
エンティティを使用します。Library (member)
は、特定の図書館システムの単一の図書館メンバーを表します。
必須プロパティ | |
---|---|
@id
|
URL
図書館の分館に関するグローバルで一意な 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" } } ] }