Strukturierte Daten für Buchaktionen (Book
)
Durch Buchaktionen können Nutzer in der Google Suche Bücher und Autoren entdecken. Sie können die gefundenen Bücher direkt über die Suchergebnisse kaufen oder ausleihen.
Ein Nutzer kann beispielsweise Charlotte's Web recherchieren und würde Ergebnisse erhalten, über die sich das Buch kaufen oder ausleihen lässt. Als Anbieter von Büchern kannst du Google mithilfe des hier angebotenen Schemas für strukturierte Daten einen Datenfeed zur Verfügung stellen. Unsere Spezifikation ermöglicht Nutzern, über ReadAction
ein Buch zu kaufen und über BorrowAction
eines auszuleihen.
![Eine Buchaktion in den Suchergebnissen](https://developers.google.cn/static/search/docs/images/books01.png?authuser=8&hl=de)
Lese- und Ausleihaktionen, die in solchen Panel-Bereichen enthalten sind, bieten Optionen zum Kaufen oder Ausleihen des Buches. Über die von dir zur Verfügung gestellten Links gelangen Nutzer von den Lese- und Ausleihaktionen des Knowledge Panels und anderer Google-Oberflächen direkt zu einer Buchseite auf deiner Website bzw. in deiner App.
Die Reihenfolge der Anbieter im Knowledge Panel ist für den einzelnen Nutzer personalisiert, kann sich aber wiederum auch ändern. Die Reihenfolge kann also je nach Nutzer unterschiedlich sein. Aber auch derselbe Nutzer sieht zu unterschiedlichen Zeiten möglicherweise unterschiedliche Reihenfolgen. Die jeweilige Reihenfolge hängt von einer Vielzahl von Faktoren ab. Wenn ein Nutzer beispielsweise im Knowledge Panel häufig auf einen bestimmten Anbieterlink klickt, rückt dieser Anbieter dadurch wahrscheinlich in der Reihenfolge nach oben. Es ist nicht möglich, die Reihenfolge direkt anzupassen.
Einführung
Für die erfolgreiche Implementierung von Buchaktionen musst du deinen Feed gemäß den Definitionen für strukturierte Datentypen für Buchaktionen erstellen. Sieh dir aber zuerst die folgenden Abschnitte an:
- Richtlinien
- Feed erstellen
- Feed mit dem Datenfeed-Validierungstool testen
- Feeddatei hosten
- Feeddatei zur Überprüfung einreichen
- Feed nach Bedarf aktualisieren
Richtlinien
Damit deine Bücher zuverlässig in der Google Suche angezeigt werden, solltest du mit einigen wichtigen Details und Konzepten vertraut sein. Außerdem muss dein Feed einige standardisierte Formatspezifikationen erfüllen.
Beachte dafür die hier beschriebenen Richtlinien sowie die allgemeinen Richtlinien für strukturierte Daten und die Grundlagen der Google Suche. Die Richtlinien betreffen Folgendes:
- Werke und Ausgaben
- Bibliotheksverbünde und Bibliotheksmitglieder
- ISBN und andere unterstützte IDs
- Links
Werke und Ausgaben
In dieser Dokumentation werden zwei unterschiedliche Begriffe verwendet, wenn es um ein Buch geht:
- Werk: das abstrakte Konzept eines Buches. Attribute für ein Werk sind insbesondere Metadaten wie Titel, Autor und Originalsprache.
- Ausgabe: eine bestimmte Form, in der ein Buch veröffentlicht wurde. Attribute für die Ausgabe sind insbesondere Metadaten wie das Erscheinungsjahr, der Name der Ausgabe und die Internationale Standardbuchnummer (ISBN).
Zum Beispiel ist Charlotte's Web ein Werk, aber jede veröffentlichte Variante davon ist eine Ausgabe. Es könnte für das Werk Charlotte's Web beispielsweise eine erste Ausgabe, eine zweite Ausgabe, eine gekürzte Ausgabe oder eine Ausgabe mit französischer Übersetzung geben.
Diese Unterscheidung ist besonders im Feed wichtig, wo sie möglicherweise nicht sofort offensichtlich ist. Es gibt zwei Book
-Entitäten:
Book
(Work
) ist die „übergeordnete“Book
-Entität:workExample
ist eine Property vonWork
und gibt nur eine Instanz vonBook
(Edition
) an.- Für jede
Work
-Entität muss es mindestens einworkExample
geben.
Book
(Edition
) ist die „untergeordnete“Book
-Entität.
Denke daran, dass es mehrere Ausgaben eines Werks geben kann. Es empfiehlt sich, diese Ausgaben so gut wie möglich zu gruppieren. So können die Google-Systeme leichter alle relevanten Informationen zu einem Buch erfassen und in der Google Suche anzeigen. Bei Bedarf kannst du sie in mehrere Werkdatensätze unterteilen. Allerdings muss jeder Werkdatensatz Folgendes enthalten:
- Eine eindeutige
@id
- Mindestens eine Ausgabe mit einer ISBN oder einer anderen unterstützten ID
Bibliotheksverbünde und Bibliotheksmitglieder
Die Library entity
ist der „übergeordnete“ Library
-Entitätstyp. Sie ist ein abstraktes Konstrukt, das aus einer LibrarySystem
-Entität und den einzelnen untergeordneten Library (member)
-Entitäten dieses Bibliotheksverbunds besteht.
Die LibrarySystem
-Entität ist eine Abstraktion und stellt einen Zusammenschluss von Bibliotheksmitgliedern dar. Zum Beispiel kann die Austin Public Library als LibrarySystem
-Entität angegeben werden. Auf der Website der Austin Public Library wird sie als öffentliches Bibliothekssystem für Austin (Texas) beschrieben. Sie besteht aus ihren 20 miteinander verbundenen Bibliotheken bzw. Bibliotheksmitgliedern.
Für jede LibrarySystem
-Entität muss es mindestens eine Library (member)
-Entität geben, selbst wenn die Bibliothek in Wirklichkeit nicht zu einem Bibliotheksverbund gehört. In diesem Szenario ist die Bibliothek zum Zweck der Implementierung der Buchaktion das einzige Bibliotheksmitglied ihres eigenen Bibliothekssystems. Im Unterschied zum Bibliothekssystem ist das Bibliothekmitglied dabei keine Abstraktion und hat daher eine Adresse.
Umgekehrt muss jede Library (member)
-Entität zu mindestens einer LibrarySystem
-Entität gehören.
ISBN und andere unterstützte IDs
Die ISBN ist die wichtigste Information, wenn die Google Suche deine Feeddaten mit den Daten von Google abgleicht. Für alle Bücher, die in den Suchergebnissen angezeigt werden sollen, musst du eine ISBN oder eine andere unterstützte ID angeben. Andernfalls können deine Bücher wahrscheinlich nicht abgeglichen und somit auch nicht angezeigt werden.
Für die Google Suche wird ISBN-13 bevorzugt. Du kannst aber auch Folgendes angeben:
- Die OCLC-Nummer (Online Computer Library Center)
- Die LCCN (Library of Congress Control Number)
- JP E-Code
Links
Damit die Suche nach deinen Büchern optimal funktioniert, sollten Links in deinem Feed den folgenden Richtlinien entsprechen:
- Falls du Seitenduplikate mit identischem Inhalt hast, muss der Link die kanonische URL sein, die den Buchtitel und weitere Informationen zum Buch enthält.
- Wenn ein Nutzer auf den Link für eine Lese- oder Ausleihaktion klickt, muss er zu einer Seite weitergeleitet werden, auf der das Buch direkt gekauft oder ausgeliehen werden kann. Insbesondere sollten Aktionslinks nicht zu Seiten führen, auf denen auf weitere Links geklickt werden muss, um den gewünschten Inhalt zu kaufen oder auszuleihen. Leite Nutzer beispielsweise nicht zu einer Suchergebnisseite oder einer Seite mit Produktzusammenfassungen weiter.
Feed erstellen
Wenn du auf deiner Website Bücher zum Kauf anbietest, musst du deinen Book
-Feed hochladen. Lass dir von deinem Google-Ansprechpartner bestätigen, wie und wo der Feed hochgeladen werden muss.
Wenn du auf deiner Website Bücher ausleihst, musst du zwei separate Feeds hochladen: den Book
-Feed und den Library
-Feed. Lass dir von deinem Google-Ansprechpartner bestätigen, wie und wo die Feeds hochgeladen werden müssen.
Anforderungen in Bezug auf Feeddateigröße, Menge und Format erfüllen
Es gelten die folgenden Anforderungen:
- Anforderungen an die Feeddateigröße:
- Eine unkomprimierte Feeddatei muss kleiner als 1 GB sein.
- Eine Feeddatei, die komprimiert werden soll, muss kleiner als 1 GB sein. Wenn die unkomprimierte Feeddatei 1 GB überschreitet, musst du sie in mehrere Dateien aufteilen.
- Du kannst Feeddateien komprimieren, und zwar als zip-, gz-, tar-, tar.gz-, JAR-, ar-, arj-, cpio- oder Dump-Archivdatei.
- Wenn du mehrere Feeddateien hast, kannst du sie unverändert hochladen oder als Teil einer Sitemap-Indexdatei einschließen.
- Einzelne Feeddateien müssen die Dateiendung
.json
haben.
Anforderungen für Feedinhalte erfüllen
Beachte insbesondere die folgenden Anforderungen an Feedinhalte:
- Der Feed darf keine veralteten Entitäten enthalten. Das sind Entitäten, bei denen
availabilityEnds
auf ein Datum gesetzt ist, das in der Vergangenheit liegt, oder Entitäten, die auf deiner Website nicht mehr verfügbar sind. - Alle Deeplinks, z. B.
urlTemplate
, und alle URLs, wieurl
, die du in deinen Feed aufnimmst, müssen Produktions-URLs sein. Verwende also z. B. keine URLs, die nur QA- oder Entwicklungszwecken dienen. - Alle URLs, z. B.
url
, müssen kanonisch sein. - Für jede Entität in deinem Feed musst du die folgenden Properties angeben:
- Eine eindeutige ID:
@id
- Eine eindeutige URL:
url
- Einen eindeutigen Deeplink:
urlTemplate
- Eine eindeutige ID:
Feed mit dem Datenfeed-Validierungstool testen
Zur Behebung häufig auftretender Fehler und Warnungen im Datenfeed-Validierungstool empfehlen wir folgende Schritte:
-
Prüfe, ob du im Feld Validieren für die richtige Option ausgewählt hast. Wähle für die
Book
-Entität die Option Bücher-Aktion aus. - Prüfe, ob der Wert von
@type
richtig geschrieben ist. - Achte darauf, dass der Wert von
@context
korrekt ist. Lege fürReadAction
undBorrowAction
jeweils"@context": "https://schema.org"
fest.
Feeddatei hosten
Wenn deine Feeddatei bereit ist, hoste sie an einem sicheren Speicherort. Google ruft den Feed regelmäßig ab, um deine Inhalte immer aktuell zu halten.
Hosting-Methoden
Die folgenden Feed-Hosting-Methoden werden unterstützt:
Hosting | Authentifizierungsunterstützung | |
---|---|---|
Google Cloud Storage | Berechtigung Storage-Objekt-Betrachter | |
HTTPS | Nutzername + Passwort oder HTTP-Clientzertifikate | |
SFTP | Passwort, Schlüssel + Passphrase oder beides | |
AWS S3 | Schlüssel-ID + Zugriffsschlüssel |
Feeddatei zur Überprüfung einreichen
Damit deine Inhalte in der Google Suche verfügbar sind, überprüft ein Google-Supportteam die Qualität der Deeplinks in deinem Feed. Wir empfehlen dir dringend, einige der Deeplinks manuell daraufhin zu prüfen, ob sich damit die Seite öffnen lässt, auf der Nutzer die Bücher kaufen bzw. ausleihen können.
Wenn du eine Überprüfung deines Feeds beantragen möchtest, gib Folgendes an:
- Hostspeicherort: die URL deiner Feeddatei
- Hostauthentifizierung, falls zutreffend: die Anmeldedaten für die Authentifizierung, damit Google die Feeddatei vom Hostspeicherort abrufen kann
Feed nach Bedarf aktualisieren
Es empfiehlt sich, deinen Feed täglich zu aktualisieren. Das hängt aber auch davon ab, wie oft sich dein Katalog ändert. Beachte Folgendes:
- Die Google Suche unterstützt keine Echtzeit-Aktualisierungen.
- Die Google Suche ruft deinen Feed einmal täglich ab und indexiert die Inhalte in der Regel innerhalb von zwei Tagen.
- Wenn eine vorhersehbare Änderung der Verfügbarkeit einer Ausgabe ansteht, kannst du mit
availabilityStarts
undavailabilityEnds
die genauen Zeiten festlegen. Wenn die Entität nicht mehr verfügbar ist, entferne sie vollständig.
Definitionen strukturierter Datentypen
Du musst die hier aufgeführten erforderlichen Properties angeben, damit deine Inhalte in den strukturierten Suchergebnissen angezeigt werden können. Du kannst auch die empfohlenen Properties hinzufügen, um weitere Informationen zu deinen Inhalten anzugeben und so die Nutzerfreundlichkeit zu erhöhen.
DataFeed-Entität
Jede an Google übermittelte schema.org-Datenfeed-Datei muss auf Stammebene eine einzelne DataFeed
-Entität enthalten. Alle
Book
- und
Library
-Entitäten müssen im Feld
dataFeedElement
der DataFeed
-Entität aufgeführt sein.
Die von Google unterstützten Properties sind folgende:
Erforderliche Properties | |
---|---|
@context |
Setze diese Property auf |
@type |
Setze diese Property auf |
dataFeedElement |
Setze diese Property entweder auf eine einzelne Beispiel für die Verwendung in einem { "@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" } Beispiel für die Verwendung in einem { "@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 |
Hiermit werden das Datum und die Uhrzeit der letzten Aktualisierung des Feeds im ISO 8601-Format angegeben. |
Book
-Entität
Die vollständige Definition von Book
findest du unter schema.org/Book. Für dich sind jedoch nur die unten stehenden Properties relevant. Du musst die erforderlichen Properties für jedes Buch definieren, das du in deinen Feed aufnimmst. Du kannst auch empfohlene Properties festlegen, um
weitere Informationen zu deinen Inhalten anzugeben und so die Nutzerfreundlichkeit zu erhöhen.
Book
(Work
)
Diese Book
-Entität ist der übergeordnete Entitätstyp. Sie steht für ein Werk.
Die von Google unterstützten Properties sind folgende:
Erforderliche Properties | |
---|---|
@context |
Setze diese Property auf |
@id |
Eine global eindeutige ID für das Buch im URL-Format. Sie muss für deine Organisation eindeutig sein. Die ID muss immer gleich bleiben. Die Verwendung des URL-Formats wird empfohlen, ist aber nicht erforderlich. Es muss sich nicht um einen funktionierenden Link handeln. Die für den |
@type |
Setze diese Property auf |
author |
Der Autor oder die Autoren des Buches. |
name |
Der Titel des Buches. |
url |
Die URL deiner Website, auf der das Buch vorgestellt oder beschrieben wird. Über diesen Link kannst du die Inhalte in deinem Feed genau mit den Inhalten in den Google-Datenbanken abgleichen. Er kann mit Für die tatsächliche Landingpage verwendet die Google Suche die in |
workExample |
Hiermit werden die Ausgaben des Werks angegeben. |
Empfohlene Properties | |
---|---|
sameAs |
Die URL einer Referenzseite, auf der die Identität des Werks erkennbar ist. Das kann z. B. eine Wikipedia-, Wikidata-, VIAF- oder Library of Congress-Seite für das Buch sein. |
Book
(Edition
)
Für die workExample
-Property wird diese Book
-Entität verwendet. Sie steht für eine Ausgabe eines Werks.
Die von Google unterstützten Properties sind folgende:
Erforderliche Properties | |
---|---|
@id |
Eine global eindeutige ID für das Buch im URL-Format. Sie muss für deine Organisation eindeutig sein. Die ID muss immer gleich bleiben. Die Verwendung des URL-Formats wird empfohlen, ist aber nicht erforderlich. Es muss sich nicht um einen funktionierenden Link handeln. Die für den |
@type |
Setze diese Property auf |
bookFormat |
Das Format der Ausgabe. Folgende Werte sind zulässig:
|
inLanguage |
Die Hauptsprache des Inhalts in der Ausgabe. Verwende einen der aus zwei Buchstaben bestehenden Codes aus der Liste von ISO 639-1-alpha-2-Codes. |
isbn |
Die ISBN-13 der Ausgabe. Wenn du eine ISBN-10 hast, wandle die Nummer in ISBN-13 um. |
potentialAction |
Die Aktion, die für Nutzer zum Kaufen oder Herunterladen des Buches ausgelöst werden soll. Weitere
Informationen findest du unter |
Empfohlene Properties | |
---|---|
author |
Hiermit werden der Autor oder die Autoren der Ausgabe angegeben. |
bookEdition |
Die Ausgabeinformationen des Buches. Beispiel: |
datePublished |
Das Erscheinungsdatum der Ausgabe im Format YYYY-MM-DD oder YYYY. Das kann entweder ein bestimmtes Datum oder nur ein bestimmtes Jahr sein. |
identifier |
Die externe oder sonstige ID, durch die diese Ausgabe eindeutig identifiziert wird. Es sind mehrere
IDs zulässig. Weitere Informationen findest du unter
Diese Property kann wiederholt werden. |
name |
Der Titel der Ausgabe. Verwende diese Property nur, wenn sich der Titel der Ausgabe vom Titel des Werks unterscheidet. |
sameAs |
Die URL einer Referenzwebseite, auf der die Ausgabe eindeutig angegeben ist. Das kann z. B. eine Wikipedia-Seite zu dieser konkreten Ausgabe sein. Wiederhole nicht die |
url |
Die URL deiner Website, auf der die Ausgabe vorgestellt oder beschrieben wird. Sie kann mit
|
Beispiel 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": {...} }
Beispiel für Book
(Edition
) mit mehreren workExample
Properties:
"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
oder Organization
(author
)
Für die author
-Property des Buches wird die
Person
- oder Organization
-Entität verwendet.
Erforderliche Properties | |
---|---|
@type |
Lege dafür |
name |
Name der Person oder Organisation. |
Empfohlene Properties | |
---|---|
sameAs |
Die URL einer Referenzwebseite, auf der eindeutig die Identität der Person oder Organisation erkennbar ist. Das kann z. B. eine Wikipedia-Seite zu dieser Person oder Organisation sein. |
Beispiel für author
:
"author": { "@type": "Person", "name": "William Shakespeare" }
Beispiel mit mehreren author
-Properties:
"author": [ { "@type": "Person", "name": "William Shakespeare" }, { "@type": "Person", "name": "Victor Hugo", "sameAs": "https://en.wikipedia.org/wiki/Victor_Hugo" } ]
PropertyValue (identifier)
Für die identifier
-Property von Edition
wird die
PropertyValue
-Entität verwendet.
Erforderliche Properties | |
---|---|
@type |
Setze diese Property auf |
propertyID |
Der Typ der ID. Wie unter ISBN und andere unterstützte IDs beschrieben, muss es sich um eine der folgenden Angaben handeln:
|
value |
Der ID-Wert. Die externe ID, durch die diese Ausgabe eindeutig identifiziert wird. Entferne alle nicht numerischen Präfixe der externen ID. |
Beispiel für identifier
:
"identifier": { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "110123456" }
Beispiel mit mehreren identifier
-Properties:
"identifier": [ { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "110123456" }, { "@type": "PropertyValue", "propertyID": "LCCN", "value": "220123456" },{ "@type": "PropertyValue", "propertyID": "JP_E-CODE", "value": "12345678901234567890" }]
Beispiel für eine ReadAction
Book
-Feeddatei im JSON-Format
{ "@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" }
Beispiel für eine BorrowAction
Book
-Feeddatei im JSON-Format
{ "@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
)
Für die potentialAction
-Property wird die ReadAction
-Entität verwendet.
ReadAction
gibt deine Deeplinks für den Zugriff auf das Buch, den Einzelhändler, der das Buch anbietet, sowie die von den Nutzern zu erfüllenden Kriterien an. Bei den Kriterien kann es sich um den Mitgliedschaftsstatus, den
Anmeldestatus, den Standort oder sonstige Informationen handeln, die für den Zugriff auf das Buch erforderlich sind.
Erforderliche Properties | |
---|---|
@type |
Setze diese Property auf |
expectsAcceptanceOf |
Die Definition der Nutzeranforderungen für den Zugriff auf diese Entität. Wenn mehrere Diese Property kann wiederholt werden. |
expectsAcceptanceOf.@type |
Setze diese Property auf |
expectsAcceptanceOf.category |
Der Typ von
|
expectsAcceptanceOf.eligibleRegion |
Hiermit können das Land und die Region angegeben werden, in denen die zur Diese Property kann wiederholt werden. |
expectsAcceptanceOf.eligibleRegion.@type |
Setze diese Property auf |
expectsAcceptanceOf.eligibleRegion.name |
Hiermit wird der Ländercode gemäß ISO 3166-1 alpha-2 angegeben. |
target |
Die Spezifikationen deines Deeplinks, einschließlich der Informationen zu unterstützten Plattformen. Es können mehrere Diese Property kann wiederholt werden. |
target.@type |
Setze diese Property auf |
target.actionPlatform |
Die Plattform(en), für die dieser Deeplink gültig ist. Verwende einen der folgenden Werte:
Diese Property kann wiederholt werden. |
target.urlTemplate |
Der Link, über den Nutzer direkt zum Inhalt der Landingpage deines Buchs gelangen. |
Empfohlene Properties | |
---|---|
expectsAcceptanceOf.availabilityEnds |
Das Ende des Verfügbarkeitszeitraums. Hiermit kannst du genau festlegen, ab wann das Buch nicht mehr für Nutzer zugänglich sein soll. |
expectsAcceptanceOf.availabilityStarts |
Der Beginn des Verfügbarkeitszeitraums. Hiermit kannst du genau festlegen, ab wann das Buch für Nutzer zugänglich sein soll. |
expectsAcceptanceOf.price |
Der Kaufpreis des Buches. Diese Angabe ist erforderlich, wenn |
expectsAcceptanceOf.priceCurrency |
Hiermit wird die Währung des Preises im dreistelligen ISO 4217-Format angegeben. |
Beispiel für 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" } } }
Beispiel für ReadAction
mit mehreren EntryPoint
-Properties:
"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
)
Für die potentialAction
-Property wird die BorrowAction
-Entität verwendet.
BorrowAction
gibt deine Deeplinks für den Zugriff auf das Buch, die Bibliothek, in der das Buch verfügbar ist, sowie die von den Nutzern zu erfüllenden Kriterien an. Bei den Kriterien kann es sich um den Mitgliedschaftsstatus, den
Anmeldestatus, den Standort oder sonstige Informationen handeln, die für den Zugriff auf das Buch erforderlich sind.
Erforderliche Properties | |
---|---|
@type |
Setze diese Property auf |
lender |
Hiermit wird der Bibliotheksverbund angegeben, der den Zugriff auf diese Ausgabe ermöglicht. |
lender.@id |
Hiermit werden die ID-Referenzen der |
lender.@type |
Setze diese Property auf |
target |
Die Spezifikationen deines Deeplinks, einschließlich der Informationen zu unterstützten Plattformen. Wenn du Deeplinks für verschiedene Plattformgruppen definieren möchtest, gib ein Diese Property kann wiederholt werden. |
target.@type |
Setze diese Property auf |
target.actionPlatform |
Die Plattform(en), für die dieser Deeplink gültig ist. Verwende einen der folgenden Werte:
Diese Property kann wiederholt werden. |
target.urlTemplate |
Der Link, über den Nutzer direkt zum Inhalt der Landingpage deines Buchs gelangen. |
Beispiel für 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" ] } }
Beispiel für BorrowAction
mit mehreren EntryPoint
-Properties:
"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
-Entität
Die vollständige Definition von Library
findest du unter schema.org/Library. Für dich sind jedoch nur die unten stehenden Properties relevant. Du musst die erforderlichen Properties für jede Bibliothek definieren, die du in deinen Feed aufnimmst.
Du kannst auch empfohlene Properties festlegen, um weitere Informationen zu deinen Inhalten anzugeben und so die Nutzerfreundlichkeit zu erhöhen.
Diese Library
-Entität ist der übergeordnete Library
-Entitätstyp. Sie ist ein abstraktes Konstrukt, das aus einer LibrarySystem
-Entität und den einzelnen untergeordneten Library (member)
-Entitäten dieser LibrarySystem
-Entität besteht.
Der Library
-Feed unterscheidet sich vom Book
-Feed. Daher muss jeder Library
-Feed, den du implementierst, vollständig getrennt von deinem Book
-Feed sein.
Weitere Informationen findest du unter Feed erstellen.
LibrarySystem
Die LibrarySystem
-Entität stellt einen Zusammenschluss von Bibliotheksmitgliedern dar.
Erforderliche Properties | |
---|---|
@context
|
Text
Setze diese Property auf |
@id
|
URL
Eine global eindeutige ID für den Bibliotheksverbund im URL-Format. Die ID muss immer gleich bleiben. Sie wird als opaker String behandelt und muss kein funktionierender Link sein. Die für den |
@type
|
Text
Setze diese Property auf |
additionalProperty
|
PropertyValue
Das ist die zusätzliche Property, mit der der Typ der Bibliothek angegeben wird. |
additionalProperty.@type
|
Text
Setze diese Property auf |
additionalProperty.name
|
Text
Setze diese Property auf |
additionalProperty.value
|
Text
Der Typ der Bibliothek. Verwende einen der folgenden Werte:
|
member
|
Library
Hiermit werden die Mitglieder des Bibliotheksverbunds angegeben. |
name
|
Text
Der Name des Bibliotheksverbunds. Beispiel: |
url
|
URL
Die URL, unter der der Bibliotheksverbund vorgestellt oder beschrieben wird. Die Google Suche verwendet diesen Link, um die Inhalte in deinem Feed mit den Inhalten in den Google-Datenbanken abzugleichen. Für die tatsächliche
Landingpage verwendet die Google Suche die in
|
Library
(member
)
Für die member
-Property der LibrarySystem
-Entität wird die Library (member)
-Entität verwendet.
Library (member)
stellt ein einzelnes Bibliotheksmitglied eines bestimmten Bibliothekssystems dar.
Erforderliche Properties | |
---|---|
@id
|
URL
Eine global eindeutige ID für die Zweigbibliothek im
URL-Format. Die ID muss immer gleich bleiben. Sie wird als opaker String behandelt und muss kein funktionierender Link sein. Die für den |
@type
|
Text
Setze diese Property auf |
location
|
PostalAddress
Die Adresse der Zweigbibliothek. Nicht alle Properties gelten für jedes Land. Du musst so viele verwenden, wie zum Angeben der Adressen deiner Bibliotheken erforderlich sind.
{ "@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
Setze diese Property auf |
location.addressCountry
|
Text
Der Ländercode im ISO 3166-1-Format. Beispiel: |
location.addressLocality
|
Text
Der Ort. Beispiel: |
location.addressRegion
|
Text
Die Region. Beispiel: |
location.postalCode
|
Text
Die Postleitzahl. Beispiel: |
location.streetAddress
|
Text
Die Adresse. Beispiel: |
name
|
Text
Der Name der Zweigbibliothek |
Beispiel für eine LibrarySystem
-Feeddatei im JSON-Format
{ "@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" } } ] }