Existe-t-il un moyen de conserver la partie HTML rel
de l'extrait ci-dessous:
<body vocab="http://schema.org/" typeof="AboutPage">
<address property="author" typeof="person">Contact <a rel="author" href="mailto:[email protected]" property="name">My Name</a></address>
</body>
sans recevoir cet avertissement:
AboutPage 0 ERRORS 1 WARNINGS
@type AboutPage
author
@type Person
name My Name
! author The property author is not recognized by Google for an object of type Person.
@type Unspecified Type
Juste un rel
:
<body vocab="http://schema.org/" typeof="AboutPage">
<address>Contact <a rel="author" href="mailto:[email protected]" >My Name</a></address>
</body>
donne
AboutPage 0 ERRORS 0 WARNINGS
@type AboutPage
author
@type Unspecified Type
Je n'arrive pas à donner au rel
un type
sans property="author"
qui provoque alors des doublons bizarres author
de différents types.
Je suis conscient que je pourrais simplement supprimer complètement le rel
ou le déplacer vers les données meta
, mais si l'outil de test des données structurées insiste pour reconnaître le rel="author"
alors il doit y avoir un moyen de lui donner un type
, non?
L'attribut rel
a deux objectifs différents, qui peuvent entrer en conflit:
property
, mais avec quelques différences techniques)Dans vos deux extraits, il est interprété¹ comme étant propriété Schema.org author
, pas type de lien author
.
La meilleure façon générale d'empêcher de telles confusions est de ne pas utiliser vocab
. Utilisez à la place prefix
(ou utilisez le RDFa Core Initial Context ):
<!-- using 'prefix' -->
<body prefix="s: http://schema.org/" typeof="s:AboutPage">
<address property="s:author" typeof="s:Person">
Contact <a rel="author" href="mailto:[email protected]" property="s:name">My Name</a>
</address>
</body>
<!-- rely on the RDFa Core Initial Context, which defines 'schema' -->
<body typeof="schema:AboutPage">
<address property="schema:author" typeof="schema:Person">
Contact <a rel="author" href="mailto:[email protected]" property="schema:name">My Name</a>
</address>
</body>
Notez que Google va maintenant signaler une erreur:
La propriété
http://www.w3.org/TR/html5/links.html#link-type-author
n'est pas reconnu par Google pour un objet de typePerson
.
Ce n'est pas un problème, vous pouvez l'ignorer, car l'URI généré montre que le SDTT de Google comprend correctement que la valeur rel
est un type de lien (qui peut également être utilisé comme RDF et qu'il ne l'interprète plus comme une propriété Schema.org. Il donne également cette erreur lors de l'utilisation de propriétés d'autres vocabulaires que Schema.org, ce qui est une chose parfaitement fine et utile à faire.
¹ Note latérale: si je comprends bien lister l'élément 7 correctement, un analyseur RDFa doit ignorer l'attribut rel
dans votre cas spécifique, car vous avez l'attribut property
sur le même élément, et votre rel
ne contient pas de valeur CURIE/URI.