J'ai regardé les données structurées de l'article comme proposé par Google et j'ai vu qu'il y avait de nouveaux champs obligatoires et recommandés, ils n'étaient pas là la semaine dernière. Voici le lien:
https://developers.google.com/structured-data/rich-snippets/articles
La première propriété de la liste est:
- mainEntityOfPage. @ id (recommandé)
Je ne comprends pas quelle doit être la valeur de la propriété? Quelle est cette propriété? Est-ce un lien vers:
..ou un lien vers le blog actuel comme:
Ils ont ceci dans leur exemple de code:
<meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article" />
C'est ce que j'ai actuellement, il n'est pas encore conforme aux règles de l'outil de test - je suis toujours occupé à ajouter toutes les propriétés requises et en même temps à essayer d'y ajouter les propriétés recommandées:
<div itemscope itemtype="http://schema.org/BlogPosting">
<h1 itemprop="headline">
<a href="http:///www.example.com/blog/1001/my-blog-article" itemprop="url">My Blog Article</a>
</h1>
<p>Written by
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
<span itemprop="name">Mase Kind</span>
</span> on
<time itemprop="datePublished" datetime="2015-11-16T15:30:00+02:00">November 16, 2015</time>
<meta itemprop="dateModified" content="2015-12-10T12:29:00+02:00" />
<div itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<div itemprop="logo" itemscope itemtype="http://schema.org/ImageObject"></div>
<meta itemprop="name" content="My Company Name" />
</div>
</p>
<div itemprop="articleBody">
<p>first article body</p>
</div>
</div>
J'ai également ceci dans mon document:
<body itemscope itemtype="http://schema.org/WebPage">
...
</body>
Est-ce que cela entrera en conflit avec l'exemple de code fourni par Google?
la source
Réponses:
La
mainEntityOfPage
propriété est utilisée pour donner l'URL d'une page sur laquelle la chose est l'entité principale. Cela pourrait devenir plus clair si vous regardez la propriété inversemainEntity
: cela donne l'entité principale d'une page ( voir un exemple ).Par exemple, pour une page Web contenant un seul article de blog, vous pouvez en fournir un:
BlogPosting
→mainEntityOfPage
→WebPage
WebPage
→mainEntity
→BlogPosting
Ces propriétés sont utiles pour transmettre le contenu principal d'une page (car les pages peuvent contenir plusieurs éléments, par exemple un
ItemList
avec desWebPage
éléments associés , unPerson
décrivant l'auteur, unWebSite
donnant des métadonnées, etc.).(Voir ma réponse sur Stack Overflow pour une explication plus détaillée.)
Il y a deux façons d'utiliser
mainEntityOfPage
:WebPage
)La seconde n'a souvent pas beaucoup de sens (vous préférez utiliser la propriété inverse
mainEntity
), et c'est probablement pour cette raison que Google recommande / attend la première.Pour fournir l'URL, vous pouvez simplement utiliser un
link
élément:L'outil de test de données structurées de Google accepte cela.
Dans l' exemple Articles Rich Snippet , Google utilise
meta
à laitemid
place un élément avec :Il s'agit de microdonnées HTML5 + non valides: si l'
meta
élément a unitemprop
attribut, il doit également avoir uncontent
attribut .la source
<meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article" content='https://google.com/article' />
il validera bien et ne montrera pas d'erreur dans l'outil de test de données structuréesmeta
élément valide. Notez que lacontent
valeur serait ignorée, vous pouvez donc fournir une valeur vide.meta
plutôt quelink
dans ses exemples? ces deux éléments sont validés dans l'outil de test de données structurées. Bien que l'aperçu soit différent. Quandlink
est utilisé, il amainEntityOfPage http://example.com/article-1
alors dans le cas demeta
celui-ci des spectacles@id
et des@type
attributs.meta
façon de créer un nouvel élément avec un type et un URI comme identifiant, lalink
façon dont les liens sont simplement vers une page. Je ne sais pas pourquoi la documentation de Google utilisemeta
, d'autant plus que je pense que lelink
chemin est plus simple.Il est complémentaire aux propriétés
url
etsameAs
, comme décrit enmainEntity
arrière - plan .Il a un nom idiosyncratique car il peut être appliqué à tous les éléments de type
Thing
. S'il ne s'appliquait qu'àArticles
cela, il aurait pu être appelémainTopic
/mainTopicOfArticle
et être plus clair.La valeur de la propriété devrait être un élément de type
CreativeWork
ou unURL
référencement qui fonctionne selon Schema.org. Cela signifie que cela pourrait également être unArticle
ouBlogPosting
comme vous l'avez mentionné. Cependant, si vous créez des pages AMP, la valeur doit être une URL.Malgré ce que dit l'outil de test de données structurées de Google, leur documentation ne recommande plus d'utiliser les
mainEntityOfPage
pages non AMP, vous êtes donc libre de l'omettre.la source