Données structurées des actions de livre (Book
)
Grâce aux actions liées aux livres, la recherche Google devient une plate-forme contribuant à la découverte d'ouvrages et d'auteurs. Elles permettent aux internautes d'acheter ou d'emprunter rapidement les livres qu'ils trouvent directement à partir des résultats de recherche.
Par exemple, un utilisateur peut rechercher Le Petit Monde de Charlotte et recevoir des résultats qui lui permettront d'acheter ou d'emprunter ce livre. Si vous êtes fournisseur de livres, vous pouvez transmettre à Google un flux de données avec le schéma de données structurées indiqué ici. Notre spécification utilise ReadAction
pour permettre aux utilisateurs d'acheter un livre et BorrowAction
pour l'emprunter.
![Action de livre dans les résultats de recherche](https://developers.google.cn/static/search/docs/images/books01.png?authuser=5&hl=fr)
Les actions de lecture et d'emprunt, qui sont intégrées dans les fiches info, affichent les options permettant d'acheter ou d'emprunter le livre. Grâce aux liens que vous fournissez, les actions de lecture et d'emprunt renvoient directement les utilisateurs vers une page du livre sur votre site Web ou votre application à partir de la fiche info ou d'autres plates-formes Google.
L'ordre des fournisseurs dans la fiche info est personnalisé et dynamique pour chaque utilisateur. Autrement dit, tous les internautes ne voient pas les fournisseurs dans le même ordre, et l'ordre peut changer en fonction du moment où la fiche info est consultée. Divers facteurs sont à l'origine de ce comportement. Par exemple, si un utilisateur clique souvent sur le lien d'un fournisseur donné dans la fiche info, ce dernier est plus susceptible d'être placé en tête de liste. Notez toutefois qu'il n'est pas possible de contrôler l'ordre dans lequel apparaissent les fournisseurs.
Commencer
Pour optimiser la mise en œuvre des actions de livre, vous devez créer un flux conformément aux définitions des types de données structurées spécifiques à ces actions. Cependant, veillez à consulter les sections suivantes au préalable :
- Consignes
- Créer un flux
- Tester votre flux avec l'outil de validation de flux de données
- Héberger le fichier de flux
- Envoyer le fichier de flux pour examen
- Mettre à jour le flux si nécessaire
Consignes
Pour que vos livres puissent s'afficher de manière fiable dans la recherche, il est important de connaître certains concepts clés. Le flux doit également respecter certaines spécifications de format standardisées.
Nous vous conseillons donc de suivre les directives décrites ici, en plus des consignes générales pour les données structurées et des Essentiels de la recherche. Voici les principales directives à respecter :
- Ouvrages et éditions
- Systèmes de bibliothèques et membres
- ISBN et autres identifiants compatibles
- Liens
Ouvrages et éditions
Dans cette documentation, nous utilisons deux termes distincts pour faire référence à un livre :
- Ouvrage : concept abstrait représentant un livre. Plus précisément, les métadonnées telles que le titre, l'auteur et la langue d'origine sont quelques-uns des attributs d'un ouvrage.
- Édition : version concrète du livre. Plus précisément, les métadonnées telles que l'année de publication, le nom de l'édition et le numéro ISBN (International Standard Book Number) sont quelques-uns des attributs de l'édition.
Par exemple, Le Petit Monde de Charlotte est un ouvrage, mais chaque variété dans laquelle il est proposé est une édition. Dans ce cas, l'ouvrage Le Petit Monde de Charlotte peut avoir une première édition, une deuxième édition, une édition abrégée, une édition anglophone, etc.
Cette distinction est particulièrement importante dans le flux, car cela n'est pas évident au premier abord. Il existe deux entités Book
:
Book
(Work
) est l'entitéBook
de "niveau supérieur" :workExample
est une propriété deWork
et spécifie une seule instance d'une propriétéBook
(Edition
).- Vous devez utiliser au moins une propriété
workExample
pour chaque entitéWork
.
Book
(Edition
) est l'entitéBook
de "niveau inférieur".
N'oubliez pas qu'un ouvrage peut être proposé en plusieurs éditions. Nous vous recommandons de regrouper ces éditions dans la mesure du possible. Cette pratique aide les systèmes Google à exploiter toutes les informations pertinentes liées à un livre et à les afficher dans la recherche. Si nécessaire, vous pouvez les diviser en plusieurs enregistrements d'ouvrage, mais chacun d'entre eux doit contenir les éléments suivants :
- Un
@id
différent - Au moins une édition avec un numéro ISBN ou un autre identifiant compatible
Systèmes de bibliothèques et membres
Library entity
correspond au type d'entité Library
de "niveau supérieur". Il s'agit d'une construction abstraite composée d'une entité LibrarySystem
et de chaque entité Library (member)
de "niveau inférieur" pour ce système de bibliothèque.
L'entité LibrarySystem
est une abstraction et représente un réseau collaboratif de membres de la bibliothèque. Par exemple, la bibliothèque publique d'Austin peut être spécifiée en tant qu'entité LibrarySystem
. Le site Web de la bibliothèque publique d'Austin se décrit lui-même comme un système de bibliothèques publiques desservant la ville d'Austin, au Texas. Ce système se compose de ses 20 bibliothèques affiliées, également appelées membres.
Chaque entité LibrarySystem
nécessite au moins une entité Library (member)
, même si la bibliothèque ne fait partie d'aucun système de bibliothèques en réalité. Dans le cadre de la mise en œuvre des actions de livre pour ce scénario, la bibliothèque est le seul membre de son propre système de bibliothèques. Aux fins de mise en œuvre des actions de livre, contrairement à un système de bibliothèques, un membre de la bibliothèque n'est pas une abstraction et possède donc une adresse physique.
Inversement, chaque entité Library (member)
doit appartenir à au moins une entité LibrarySystem
.
ISBN et autres identifiants compatibles
L'ISBN est le principal indicateur qui permet à la recherche Google de faire le rapprochement entre les données de votre flux et les données de Google. Vous devez fournir un numéro ISBN ou tout autre identifiant compatible pour tous les livres que vous souhaitez faire apparaître dans les résultats de recherche. Sans identifiant, vos livres risquent de ne pas être reconnus par Google et ne seront donc pas proposés en tant que tels.
Bien que la recherche Google privilégie l'ISBN-13, vous pouvez également fournir les informations suivantes :
- Numéro OCLC (Online Computer Library Center)
- Numéro LCCN (Library of Congress Control Number)
- E-code JP
Liens
Pour vous assurer que les internautes trouvent vos livres le plus facilement possible, les liens que vous ajoutez dans votre flux doivent respecter les consignes suivantes :
- Si vous avez des pages en double pour un contenu identique, le lien doit correspondre à l'URL canonique qui contient le titre du livre et les autres informations le concernant.
- Lorsqu'un internaute clique sur le lien d'une action de lecture ou d'emprunt, il doit être redirigé vers une page qui permet d'acheter ou d'emprunter directement le livre. Plus précisément, ne renvoyez pas les liens d'action vers des pages contenant d'autres liens sur lesquels l'utilisateur doit cliquer pour acheter le livre ou l'emprunter. Par exemple, ne redirigez pas les internautes vers une page de résultats de recherche ou de description de produit.
Créer un flux
Si votre site vend des livres, vous devez importer le flux Book
. Contactez votre représentant Google et vérifiez les modalités d'importation de ce flux.
Si votre site propose le prêt de livres, vous devez importer deux flux distincts : Book
et Library
. Contactez votre représentant Google pour en savoir plus sur les modalités d'importation de ce flux.
Respecter les exigences relatives à la taille, à la quantité et au format des fichiers de flux
Les exigences sont les suivantes :
- Exigences relatives à la taille du fichier de flux :
- La taille d'un fichier de flux non compressé doit être inférieure à 1 Go.
- La taille d'un fichier de flux à compresser doit être inférieure à 1 Go. Si le fichier de flux non compressé dépasse 1 Go, vous devez le diviser en plusieurs fichiers.
- Vous pouvez compresser les fichiers de flux. Ils doivent être convertis au format ZIP, GZ, TAR, TAR.gz, JAR, AR, ARJ, Cpio ou fichier de vidage.
- Si vous disposez de plusieurs fichiers de flux, vous pouvez les importer tels quels ou les inclure dans un fichier d'index de sitemaps.
- Les fichiers de flux uniques doivent comporter l'extension de nom de fichier
.json
.
Respecter les exigences relatives au contenu des flux
Tenez compte des exigences suivantes concernant le contenu des flux :
- Le flux ne doit pas contenir d'entités obsolètes. Les entités obsolètes sont des entités dont le champ
availabilityEnds
est défini sur une date passée ou les entités qui ne sont plus disponibles sur votre site. - Tous les liens profonds (comme
urlTemplate
) et toutes les URL (commeurl
) que vous incluez dans un flux doivent être des URL de production. N'utilisez pas d'URL qui n'en sont qu'au stade de contrôle qualité, de développement ou autre. - Toutes les URL, comme
url
, doivent être canoniques. - Chaque entité d'un flux doit spécifier les propriétés suivantes :
- Un identifiant unique :
@id
- Une URL unique :
url
- Un lien profond unique :
urlTemplate
- Un identifiant unique :
Tester votre flux avec l'outil de validation de flux de données
Nous vous recommandons de suivre les étapes de dépannage suivantes pour résoudre les erreurs et les avertissements courants dans l'outil de validation de flux de données :
-
Assurez-vous d'avoir sélectionné l'option appropriée dans le champ Valider pour. Sélectionnez Action Livres pour l'entité
Book
. - Vérifiez que la valeur pour
@type
est correctement orthographiée. - Assurez-vous que la valeur pour
@context
est correctement définie. Définissez"@context": "https://schema.org"
pourReadAction
etBorrowAction
.
Héberger le fichier de flux
Lorsque votre fichier de flux est prêt, hébergez-le à un emplacement sécurisé. Nous explorons régulièrement le flux pour nous assurer que votre contenu est à jour.
Méthodes d'hébergement
Les méthodes d'hébergement de flux suivantes sont acceptées :
Hébergement | Authentification acceptée | |
---|---|---|
Google Cloud Storage | Autorisation Lecteur des objets de l'espace de stockage | |
HTTPS | Nom d'utilisateur + mot de passe ou certificats client HTTP | |
SFTP | Mot de passe, clé + expression ou les deux | |
AWS S3 | ID de clé + clé d'accès |
Envoyer le fichier de flux pour examen
Pour que votre contenu soit disponible dans la recherche Google, une équipe d'assistance Google vérifie la qualité des liens profonds de votre flux. Nous vous recommandons vivement de tester manuellement certains des liens profonds pour confirmer qu'ils ouvrent bien la page sur laquelle les utilisateurs peuvent acheter ou emprunter les livres.
Pour demander un examen de votre flux, fournissez les informations suivantes :
- Emplacement d'hébergement du fichier : URL du fichier de flux.
- Authentification de l'hôte, le cas échéant : identifiants permettant à Google d'accéder au fichier de flux à partir de l'emplacement sur lequel il est hébergé.
Mettre à jour le flux si nécessaire
Nous vous recommandons de mettre à jour votre flux quotidiennement, bien que cela dépende fondamentalement de la fréquence de modification de votre catalogue. Tenez compte des conditions et conseils suivants :
- La recherche Google ne suit pas les mises à jour en temps réel.
- La recherche Google explore votre flux une fois par jour et indexe généralement le contenu dans un délai de deux jours.
- En cas de changement prévisible de la disponibilité d'une édition, utilisez
availabilityStarts
etavailabilityEnds
pour définir les dates précises. Si l'entité n'est plus disponible, supprimez-la complètement.
Définitions des types de données structurées
Vous devez inclure les propriétés obligatoires répertoriées dans ce document pour que votre contenu puisse s'afficher dans les résultats de recherche structurés. Vous pouvez également inclure les propriétés recommandées pour ajouter d'autres informations spécifiques à votre contenu et ainsi offrir une meilleure expérience utilisateur.
Entité DataFeed
Chaque fichier de flux schema.org envoyé à Google doit contenir une seule entité DataFeed
au niveau racine. Toutes les entités Book
et Library
doivent être répertoriées dans le champ dataFeedElement
de l'entité DataFeed
.
Les propriétés prises en charge par Google sont les suivantes :
Propriétés obligatoires | |
---|---|
@context |
Définissez cet élément sur |
@type |
Définissez cet élément sur |
dataFeedElement |
Définissez cet élément sur une seule entité Exemple d'utilisation dans un flux { "@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" } Exemple d'utilisation dans un flux { "@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 |
Date et heure de la dernière mise à jour du flux au format ISO 8601. |
Entité Book
Bien que la définition complète de Book
soit disponible sur schema.org/Book, il vous suffit de spécifier les propriétés suivantes. Vous devez définir les propriétés obligatoires pour chaque livre que vous choisissez d'inclure dans votre flux. Vous pouvez également inclure les propriétés recommandées pour ajouter d'autres informations spécifiques à votre contenu et ainsi offrir une meilleure expérience utilisateur.
Book
(Work
)
Cette entité Book
est le type d'entité de niveau supérieur. Elle représente un ouvrage.
Les propriétés prises en charge par Google sont les suivantes :
Propriétés obligatoires | |
---|---|
@context |
Définissez cet élément sur |
@id |
Identifiant global unique du livre, au format d'URL. Il doit être propre à votre organisation. Cet identifiant doit être stable et immuable dans le temps. Le format d'URL est recommandé, mais pas obligatoire. Il ne doit pas nécessairement s'agir d'un lien fonctionnel. Le domaine utilisé pour la valeur |
@type |
Définissez cet élément sur |
author |
Auteur(s) du livre. |
name |
Titre du livre. |
url |
URL de votre site Web sur laquelle le livre est présenté ou décrit. Ce lien permet à Google de faire le rapprochement entre le contenu de votre flux et celui de ses bases de données. Il peut être identique à Pour la page de destination réelle, la recherche Google utilise l'URL fournie dans |
workExample |
Édition(s) de l'ouvrage. |
Propriétés recommandées | |
---|---|
sameAs |
URL d'une page de référence qui identifie l'ouvrage (page Wikipédia, Wikidata, VIAF ou Bibliothèque du Congrès américain, par exemple). |
Book
(Edition
)
La propriété workExample
utilise cette entité Book
. Elle représente l'édition d'un ouvrage.
Les propriétés prises en charge par Google sont les suivantes :
Propriétés obligatoires | |
---|---|
@id |
Identifiant global unique du livre, au format d'URL. Il doit être propre à votre organisation. Cet identifiant doit être stable et immuable dans le temps. Le format d'URL est recommandé, mais pas obligatoire. Il ne doit pas nécessairement s'agir d'un lien fonctionnel. Le domaine utilisé pour la valeur |
@type |
Définissez cet élément sur |
bookFormat |
Format de l'édition. Cette valeur doit correspondre à l'une des suivantes :
|
inLanguage |
Langue principale du contenu de l'édition. Utilisez l'un des codes à deux lettres de la liste des codes ISO 639-1 alpha-2. |
isbn |
Numéro ISBN-13 de l'édition. Si vous possédez un code ISBN-10, convertissez-le en code ISBN-13. |
potentialAction |
Action à déclencher pour que les utilisateurs puissent acheter ou télécharger le livre. Pour en savoir plus, consultez |
Propriétés recommandées | |
---|---|
author |
Auteur(s) de l'édition. |
bookEdition |
Informations relatives à l'édition du livre. Exemple : |
datePublished |
Date de publication de l'édition au format YYYY-MM-DD ou YYYY. Il peut s'agir d'une date ou d'une année spécifique. |
identifier |
ID externe ou autre qui identifie clairement cette édition. Plusieurs identifiants sont autorisés. Pour en savoir plus, consultez la page sur Cette propriété peut être utilisée plusieurs fois. |
name |
Titre de l'édition. Utilisez cette option uniquement lorsque le titre de l'édition est différent du titre de l'ouvrage. |
sameAs |
URL d'une page Web de référence qui indique sans ambiguïté l'édition (par exemple, une page Wikipédia pour cette édition spécifique). Ne réutilisez pas l'identifiant |
url |
URL de votre site Web sur laquelle l'édition est présentée ou décrite. Elle peut être identique à |
Exemple 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": {...} }
Exemple d'élément Book
(Edition
) avec plusieurs propriétés 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
ou Organization
(author
)
La propriété author
du livre utilise l'entité Person
ou Organization
.
Propriétés obligatoires | |
---|---|
@type |
Définissez-la sur |
name |
Nom de la personne ou de l'organisation. |
Propriétés recommandées | |
---|---|
sameAs |
URL d'une page Web de référence qui indique clairement l'identité de la personne ou de l'organisation (par exemple, une page Wikipédia correspondant à cette personne ou à cette organisation). |
Exemple de propriété author
:
"author": { "@type": "Person", "name": "William Shakespeare" }
Exemple avec plusieurs propriétés author
:
"author": [ { "@type": "Person", "name": "William Shakespeare" }, { "@type": "Person", "name": "Victor Hugo", "sameAs": "https://en.wikipedia.org/wiki/Victor_Hugo" } ]
PropertyValue (identifier)
La propriété identifier
de Edition
utilise l'entité PropertyValue
.
Propriétés obligatoires | |
---|---|
@type |
Définissez cet élément sur |
propertyID |
Type d'identifiant. Comme indiqué dans la section ISBN et autres identifiants compatibles, il doit s'agir de l'un des éléments suivants :
|
value |
Valeur de l'ID. ID externe qui identifie clairement cette édition. Supprimez tous les préfixes non numériques de l'ID externe. |
Exemple de propriété identifier
:
"identifier": { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "110123456" }
Exemple avec plusieurs propriétés identifier
:
"identifier": [ { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "110123456" }, { "@type": "PropertyValue", "propertyID": "LCCN", "value": "220123456" },{ "@type": "PropertyValue", "propertyID": "JP_E-CODE", "value": "12345678901234567890" }]
Exemple de fichier de flux JSON 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" }
Exemple de fichier de flux JSON 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
)
La propriété potentialAction
utilise l'entité ReadAction
.
ReadAction
définit vos liens profonds pour accéder au livre, au revendeur qui le stocke et aux critères auxquels les utilisateurs doivent répondre. Ces critères peuvent comprendre le statut de l'abonnement ou des identifiants de connexion, ainsi que le lieu ou tout autre élément nécessaire pour accéder au livre.
Propriétés obligatoires | |
---|---|
@type |
Définissez cet élément sur |
expectsAcceptanceOf |
Définition des conditions requises pour accéder à cette entité. Si plusieurs propriétés Cette propriété peut être utilisée plusieurs fois. |
expectsAcceptanceOf.@type |
Définissez cet élément sur |
expectsAcceptanceOf.category |
Type de propriété
|
expectsAcceptanceOf.eligibleRegion |
Pays éligible à cette propriété Cette propriété peut être utilisée plusieurs fois. |
expectsAcceptanceOf.eligibleRegion.@type |
Définissez cet élément sur |
expectsAcceptanceOf.eligibleRegion.name |
Code pays ISO 3166-1 alpha-2. |
target |
Spécifications de votre lien profond, qui incluent les informations relatives aux plates-formes compatibles. Plusieurs propriétés Cette propriété peut être utilisée plusieurs fois. |
target.@type |
Définissez cet élément sur |
target.actionPlatform |
Plates-formes pour lesquelles ce lien profond est valide. Utilisez l'une des valeurs suivantes :
Cette propriété peut être utilisée plusieurs fois. |
target.urlTemplate |
Lien qui redirige directement les utilisateurs vers le contenu de la page de destination de votre livre. |
Propriétés recommandées | |
---|---|
expectsAcceptanceOf.availabilityEnds |
Heure de fin de la période de disponibilité. Cette propriété permet de contrôler l'heure exacte à laquelle le livre ne doit plus être présenté aux utilisateurs. |
expectsAcceptanceOf.availabilityStarts |
Heure de début de la période de disponibilité. Cette propriété permet de contrôler l'heure exacte à partir de laquelle ce livre est présenté aux utilisateurs. |
expectsAcceptanceOf.price |
Prix de vente du livre. Cet élément est obligatoire lorsque la propriété |
expectsAcceptanceOf.priceCurrency |
Devise du prix au format ISO 4217 à trois lettres. |
Exemple de propriété 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" } } }
Exemple d'élément ReadAction
avec plusieurs propriétés 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
)
La propriété potentialAction
utilise l'entité BorrowAction
.
BorrowAction
définit vos liens profonds pour accéder au livre, à la bibliothèque qui le stocke et aux critères auxquels les utilisateurs doivent répondre. Ces critères peuvent comprendre le statut de l'abonnement ou des identifiants de connexion, ainsi que le lieu ou tout autre élément nécessaire pour accéder au livre.
Propriétés obligatoires | |
---|---|
@type |
Définissez cet élément sur |
lender |
Système de bibliothèques qui permet d'accéder à cette édition. |
lender.@id |
Références d'ID de la propriété |
lender.@type |
Définissez cet élément sur |
target |
Spécifications de votre lien profond, qui incluent les informations relatives aux plates-formes compatibles. Afin de définir des liens profonds pour différents ensembles de plates-formes, spécifiez un tableau Cette propriété peut être utilisée plusieurs fois. |
target.@type |
Définissez cet élément sur |
target.actionPlatform |
Plates-formes pour lesquelles ce lien profond est valide. Utilisez l'une des valeurs suivantes :
Cette propriété peut être utilisée plusieurs fois. |
target.urlTemplate |
Lien qui redirige directement les utilisateurs vers le contenu de la page de destination de votre livre. |
Exemple de propriété 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" ] } }
Exemple d'élément BorrowAction
avec plusieurs propriétés 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" ] } ] }
Entité Library
Bien que la définition complète de Library
soit disponible sur schema.org/Library, il vous suffit de spécifier les propriétés suivantes. Vous devez définir les propriétés obligatoires pour chaque bibliothèque que vous choisissez d'inclure dans votre flux.
Vous pouvez également inclure les propriétés recommandées pour ajouter d'autres informations spécifiques à votre contenu et ainsi offrir une meilleure expérience utilisateur.
Cette entité Library
est le type d'entité Library
de niveau supérieur. Il s'agit d'une construction abstraite composée d'une entité LibrarySystem
et de chaque entité Library (member)
de niveau inférieur pour cette propriété LibrarySystem
.
Le flux Library
est différent du flux Book
. Par conséquent, tout flux Library
que vous pouvez mettre en œuvre doit être complètement distinct du flux Book
.
Pour en savoir plus, consultez la section Créer un flux.
LibrarySystem
L'entité LibrarySystem
représente un réseau collaboratif de membres de la bibliothèque.
Propriétés obligatoires | |
---|---|
@context
|
Text
Définissez cet élément sur |
@id
|
URL
ID unique global du système de bibliothèques au format d'URL. Cet identifiant doit être stable et immuable dans le temps. Comme il est traité comme une chaîne opaque, il ne doit pas nécessairement s'agir d'un lien fonctionnel. Le domaine utilisé pour la valeur |
@type
|
Text
Définissez cet élément sur |
additionalProperty
|
PropertyValue
Propriété supplémentaire utilisée pour indiquer le type de bibliothèque. |
additionalProperty.@type
|
Text
Définissez cet élément sur |
additionalProperty.name
|
Text
Définissez cet élément sur |
additionalProperty.value
|
Text
Type de bibliothèque. Utilisez l'une des valeurs suivantes :
|
member
|
Library
Membres du système de bibliothèques. |
name
|
Text
Nom du système de bibliothèques. Exemple : |
url
|
URL
URL dans laquelle le système de bibliothèques est présenté ou décrit. La recherche Google utilise ce lien pour faire le rapprochement entre le contenu de votre flux et celui des bases de données de Google. Pour la page de destination réelle, la recherche Google utilise l'URL fournie dans |
Library
(member
)
La propriété member
de LibrarySystem
utilise l'entité Library (member)
.
Library (member)
représente le membre d'un système de bibliothèques donné.
Propriétés obligatoires | |
---|---|
@id
|
URL
ID unique global de la bibliothèque affiliée au format URL. Cet identifiant doit être stable et immuable dans le temps. Comme il est traité comme une chaîne opaque, il ne doit pas nécessairement s'agir d'un lien fonctionnel. Le domaine utilisé pour la valeur |
@type
|
Text
Définissez cet élément sur |
location
|
PostalAddress
Adresse postale de la bibliothèque affiliée. Toutes les propriétés ne s'appliquent pas à tous les pays. Vous devez en inclure autant que possible dans les adresses de vos bibliothèques. Exemple pour les États-Unis { "@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" } } Exemple pour le Japon { "@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
Définissez cet élément sur |
location.addressCountry
|
Text
Code pays au format ISO 3166-1. Exemple : |
location.addressLocality
|
Text
Localité. Exemple : |
location.addressRegion
|
Text
Région. Exemple : |
location.postalCode
|
Text
Code postal. Exemple : |
location.streetAddress
|
Text
Adresse postale. Exemple : |
name
|
Text
Nom de la bibliothèque affiliée. |
Exemple de fichier de flux JSON 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" } } ] }