Je connais au moins deux façons de définir mainEntityOfPage
:
<div itemprop="about" itemscope itemtype="http://schema.org/Product">
<link itemprop="mainEntityOfPage" href="http://example.com/article-1" />
</div>
et
<div itemprop="about" itemscope itemtype="http://schema.org/Product">
<meta itemprop="mainEntityOfPage" content="Mycontent" itemscope itemType="https://schema.org/WebPage" itemid="http://example.com/article-1"/>
</div>
Les deux méthodes sont validées avec succès. Les questions sont:
Quelle voie est la plus optimale/universelle/reconnaissable pour les moteurs de recherche?
Si je les marque simultanément, est-ce que ça va? (Validator ne donne aucune erreur.)
J'ai décrit de différentes façons dont mainEntityOfPage
peut être spécifié dans une réponse à Stack Overflow.
La différence entre vos deux exemples est que le second crée un élément (avec le type WebPage
), tandis que le premier pointe simplement sur une autre page (qui peut ou non définir un type).
Du point de vue de Schema.org, les deux manières sont bonnes. La propriété mainEntityOfPage
attend comme valeur un URL
(= votre premier exemple) ou un CreativeWork
(= votre deuxième exemple).
À mon avis, le deuxième exemple n’est pas très élégant. L'attribut content
de l'élément meta
sera ignoré (à cause de itemscope
), mais HTML5 + Microdata nécessite sa présence. Pro: ajoute (sur la page source) les informations selon lesquelles l'URL représente une page Web; en théorie, les consommateurs n'auraient pas à visiter l'URL pour savoir ce qu'il représente (= un WebPage
). Cependant, c'est probablement l'hypothèse par défaut dans ce contexte de toute façon.
Peu importe la manière que vous choisissez. FWIW, outil de test de Google semble convenir aux deux.