J'ai toujours du mal à comprendre ce qu'est le mainEntityOfPage.@id
et pourquoi il est recommandé par Google. Je fais spécifiquement référence aux articles, aux billets de blog et aux schémas similaires. Voici l'article que j'ai lu:
https://developers.google.com/structured-data/rich-snippets/articles
J'ai actuellement la configuration de la page de mon blog comme ceci (j'ai omis la plupart des champs obligatoires, sinon ce post devient trop long):
<script type="application/ld+json">
{
"@@context": "http://schema.org",
"@@type": "WebPage",
"breadcrumb": {
"@@type": "BreadcrumbList",
"itemListElement": [{
"@@type": "ListItem",
"item": {
"@@id": "http://www.example.com",
"name": "My Website"
},
"position": 1
}, {
"@@type": "ListItem",
"item": {
"@@id": "http://www,example.com/blog",
"name": "Blog"
},
"position": 2
}, {
"@@type": "ListItem",
"item": {
"@@id": "http://www.example.com/blog/1001/test-blog-post",
"name": "Test Blog Post"
},
"position": 3
}]
},
"mainEntity": {
"@@type": "BlogPosting",
"headline": "Test Blog Post",
"url": "http://www.example.com/blog/1001/test-blog-post"
}
}
</script>
Utiliser mainEntity
comme je l'ai fait, est-ce la même chose que d'utiliser mainEntityOfPage.@id
? Si ce n'est pas le cas, comment puis-je modifier mon code pour l'adapter aux exigences de Google?
@unor a posté des réponses détaillées ici:
Il serait beaucoup plus facile de comprendre si l'outil de test des données structurées de Google supprimait l'avertissement si vous ne spécifiez pas mainEntityOfPage.@id
mais spécifiez mainEntity
. Voici comment je l'ai actuellement.