web-dev-qa-db-fra.com

Schema.org BlogPosting mainEntityOfPage contre WebPage mainEntity

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?

2
Brendan Vogt

@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.

1
Brendan Vogt