Si j'ai une page de catégorie qui contient une liste de liens vers des éléments spécifiques, cette page serait une CollectionPage
avec significantLinks
, n'est-ce pas?
Je pensais que ce serait la bonne implémentation de base :
{
"@context": "http://schema.org",
"@type": "WebPage",
"url": "http://example.com/animals",
"mainEntity":{
"@type": "CollectionPage",
"significantLinks": [
"http://example.com/animals/dog",
"http://example.com/animals/cat"
]
}
}
Mais on a l'impression qu'il manque quelque chose (étiquettes, par exemple). J'ai aussi vu la propriété hasPart
qui semble devoir être utilisée dans une page comme celle-ci, mais en utilisant à la fois hasPart
et significantLinks
me semble très déconnectée.
Pensées?
Vous devez utiliser CollectionPage
à la place de WebPage
, pas en plus. CollectionPage
est un plus spécifique WebPage
.
Il semble que significantLink
(pour les valeurs d'URL) ainsi que hasPart
(pour les valeurs CreativeWork
) puissent être utilisés. Mais je pense que hasPart
est le meilleur choix ici, car significantLink
pourrait également être utilisé pour les pages qui n'appartiennent pas à la catégorie (donc pour les consommateurs, ce n'est pas nécessairement clair qu'il s'agisse d'éléments de catégorie), et hasPart
vous permettrait de fournir des métadonnées ( au cas où vous voudriez l'afficher sur la page de catégorie).
{
"@context": "http://schema.org",
"@type": "CollectionPage",
"hasPart": [
{
"@type": "ItemPage"
},
{
"@type": "ItemPage"
},
{
"@type": "ItemPage"
}
]
}
Une autre option consiste à utiliser mainEntity
pour référencer un ItemList
. Cela indique que la liste est l’entité principale de la variable CollectionPage
; il est donc probablement clair pour les consommateurs qu’il s’agit de la collection sur laquelle porte la page.
{
"@context": "http://schema.org",
"@type": "CollectionPage",
"mainEntity": {
"@type": "ItemList",
"itemListElement": [
{
"@type": "ItemPage"
},
{
"@type": "ItemPage"
},
{
"@type": "ItemPage"
}
]
}
}