Je développe un site pour une boutique d'antiquités, spécialisée dans les livres rares et anciens.
Chaque page de chaque livre aura une fiche descriptive contenant plusieurs données pour l’article.
Les descriptions incluent généralement:
le client m'a demandé la possibilité d'ajouter plus de "champs" si nécessaire.
Comme vous pouvez le constater, certaines des données fournies sont très différentes des limites données du type de schéma Product et Book (par exemple, l'emplacement d'impression et la taille des livres ne sont pas énumérés dans la liste). le type de livre, alors que les attributs ofc comme genre, author ecc conviennent parfaitement au type de livre).
Donc selon le titre:
Que dois-je utiliser pour baliser correctement avec ces microdonnées ce type d’éléments dans leurs pages respectives?
Même si Book et CreativeWork sont les premiers candidats, de nombreuses propriétés ne sont pas répertoriées. Je vois qu'il est possible d'étendre avec la propriété additionalType du schéma de base Thing, mais cela ne confond-il pas excessivement le sens si je le croise avec product par exemple? Quelle est la meilleure façon de procéder dans ce cas?
Peut-être me manque quelque chose d'assez évident, mais je ne peux pas vraiment décider quelle est la bonne chose à faire. De plus, certaines des données ci-dessus ne valent peut-être pas la peine d'être énumérées dans les microdonnées pour la description des éléments, mais je ne peux pas vraiment le dire.
Toutes les suggestions sont très appréciées, merci!
Si les livres reçoivent le schéma http://schema.org/Book , ils héritent de toutes les propriétés de http://schema.org/CreativeWork et bien sûr - http://schema.org/Thing - Car Book est un sous-type de CreativeWork et tout est un sous-type de Chose. Utiliser http://schema.org/Book vous donne isbn
, edition
, etc de Book, plus award
, genre
, author
, contributor
etc de CreativeWork. De plus, vous pouvez utiliser comment
et keywords
à votre guise. Aussi disponible avec Book, tout ce qui est hérité pour Thing est hérité, comme description
et sameAs
.
Vous pouvez mélanger les champs non schémas de votre choix (tels que la taille du livre) sans causer de problèmes avec les données structurées. Cela signifie simplement que la taille du livre (par exemple) n'est pas aussi susceptible de figurer dans l'extrait de code et que la recherche par taille du livre n'améliorera pas les résultats de la page. Les imperfections et la taille du livre ne semblent pas être les termes clés qu'une personne est susceptible d'utiliser pour la recherche (comparé à, par exemple, nom du livre ou année de publication).
En choisissant Book, vous pouvez renseigner le author
, puis créer un lien vers le http://schema.org/Person schéma pour donner plus d'informations sur l'auteur, en utilisant éventuellement sameAs
pour créer un lien vers la page wikipedia ou une autre source pour identifier de manière unique l'auteur. Tous les liens de ce type que vous ne souhaitez pas afficher peuvent être masqués avec la balise ou
Pour chaque copie individuelle d'un livre, vous pouvez utiliser offer
- qui est une propriété de CreativeWork (et hérité par Book). Cela vous permet d'avoir plusieurs offres en créant un lien vers http://schema.org/Offer - Vous pouvez représenter la condition
du livre et Price
dans l'offre.
Exemples adaptés de http://schema.org/Offer Un seul livre comprenant la taille du livre sans schéma:
<div itemscope itemtype="http://schema.org/Book">
<img itemprop="image" src="catcher-in-the-rye-book-cover.jpg"
alt="cover art: red horse, city in background"/>
<span itemprop="name">The Catcher in the Rye</span>
<link itemprop="sameAs" href="http://wikipedia.org/Catcher-in-the-Rye">
Author: <a itemprop="author" href="/author/jd_salinger.html">J.D. Salinger</a>
<span itemprop="numberOfPages">224</span> pages
Publisher: <span itemprop="publisher">Little, Brown, and Company</span>
<meta itemprop="datePublished" content="1991-05-01">May 1, 1991<br>
ISBN-10: <span itemprop="isbn">0316769487</span><br>
Book size: 6 x 8 inches<br>
</div>
Un seul livre avec http://schema.org/Offer lié pour donner l'état et le prix du livre.
<div itemscope itemtype="http://schema.org/Book">
<img itemprop="image" src="catcher-in-the-rye-book-cover.jpg"
alt="cover art: red horse, city in background"/>
<span itemprop="name">The Catcher in the Rye</span>
<link itemprop="sameAs" href="http://wikipedia.org/Catcher-in-the-Rye">
Author: <a itemprop="author" href="/author/jd_salinger.html">J.D. Salinger</a>
<span itemprop="numberOfPages">224</span> pages
Publisher: <span itemprop="publisher">Little, Brown, and Company</span>
<meta itemprop="datePublished" content="1991-05-01">May 1, 1991
ISBN-10: <span itemprop="isbn">0316769487</span>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
Price: <span itemprop="price" content="6.99">$6.99</span>
<meta itemprop="priceCurrency" content="USD" />
Condition: <span itemprop="condition">Slightly creased spine</span>
</div> <!-- marks the end of the Offer schema -->
</div> <!-- marks the end of the Book schema -->
Il est plus facile d’écrire la page Web et d’ajouter un à un dans le schéma, par exemple, il suffit d’ajouter un livre, une fois que cela fonctionne correctement, puis d’offrir une offre, puis un auteur, etc. Cela ne prend que quelques jours récupère la page avant qu'elle n'apparaisse dans les résultats de recherche.
Une entité (comme un livre) peut avoir plusieurs types. Déclarer que quelque chose est un Book
et un Product
(ou dans votre cas peut-être IndividualProduct
) est possible et peut avoir un sens.
Microdata ne prend toutefois en charge que de manière limitée les entités à plusieurs types: la spécification exige que
La première exigence est pourquoi Schema.org a introduit la propriété additionalType
(elle n’est utile que pour Microdata): elle permet d’ajouter des types supplémentaires à partir de autre vocabulaires; mais cela ne permet pas non plus d'utiliser les propriétés de ces autres vocabulaires.
La deuxième condition n'est pas résolue (et reste peut-être comme ça). Beaucoup de gens l'ignorent et utilisent toutes les propriétés de toute façon.
Les syntaxes autres que les microdonnées (JSON-LD et RDFa, par exemple) n’ont pas ces limitations.