web-dev-qa-db-fra.com

Les propriétés Open Graph peuvent-elles être utilisées efficacement sur des balises autres que meta / link?

Les éléments meta et link créent parfois une sorte de redondance dans le balisage. Par exemple, il existe déjà un élément title, mais pour déclarer une propriété og:title, il faudrait ajouter un élément meta distinct, tel que <meta property="og:title" content="Some Title" />. Le contenu explicite du premier et le contenu d'attribut du dernier sont généralement les mêmes.

Maintenant, les validateurs vous permettront juste de faire <title property="og:title">Some Title</title> (alors qu’il est illégal d’ajouter également l’attribut content). La question est de savoir si cela aidera Facevook et d’autres à faire leur travail. Ou peut-être même quelque chose comme <title property="og:title schema:name">Some Title</title>?

Une chose similaire avec og:image - le <meta property="og:image" content="http://example.com/thumbnail.jpg" /> est redondant avec le lien de l'image principale. Est-ce que tout va bien (les validateurs ne s'opposeront pas mais qu'en est-il de Facebook?) De faire <img property="og:image" src="http://example.com/thumbnail.jpg" alt="Some Alt" />?

1
Lucian Davidescu

Il y a deux perspectives:

  • Qu'est-ce qui est valide RDFa?
  • Qu'est-ce que les consommateurs (comme Facebook) soutiennent?

Le premier peut être facilement répondu en vérifiant les spécifications.
Le second dépend de chaque consommateur: leur documentation est-elle à jour/exacte/complète? Quelle est la qualité de leurs analyseurs?

Pour les consommateurs, cela n'aurait aucun sens de ne prendre en charge qu'une fraction de RDFa. C’est une spécification/norme pour une raison. Ils doivent juste utiliser l'un des nombreux parseurs RDFa conformes et travailler avec les données/triples extraits. Quand ils ont cette donnée analysée, then == ils peuvent décider quels vocabulaires (comme OGP ou Schema.org) ils supportent et utilisent.

Idéalement, ils devraient simplement indiquer quels types/propriétés (comme og:name etc.) et quelles syntaxes (comme RDFa) ils prennent en charge, et pas seulement fournir des "définitions" en affichant des extraits de balises, où il est difficile de savoir si elles sont juste. exemples ou si elles doivent être utilisées exactement comme ça.

Ainsi, à moins que leur documentation soit claire et/ou qu'ils fournissent un outil de test à jour, vous devrez le tester ou demander à chaque consommateur qui vous intéresse.

Dans la perspective HTML5 + RDFa…

Utiliser l’attribut property de RDFa sur l’élément title convient:

<title property="og:title">My favorite books - blog.example.com</title>

Il est également autorisé d'utiliser en plus l'attribut content, mais cela n'a de sens que si le titre que vous souhaitez utiliser pour RDFa n'est pas identique au titre visible par l'utilisateur:

<title property="og:title" content="My favorite books">My favorite books - blog.example.com</title>

Utiliser deux propriétés ou plus, c'est bien aussi:

<title property="og:title schema:name">My favorite books - blog.example.com</title>

Et du point de vue de RDFa, peu importe l’élément sur lequel vous spécifiez la propriété og:image, tant qu’il s’agit d’un élément qui crée un URI en tant que valeur.

Donc en utilisant

<meta property="og:image" content="http://example.com/thumbnail.jpg" />

is not valid HTML5 + RDFa (avoir un document Facebook comme ça ne change rien à ce fait).

Au lieu de cela, cela pourrait être, par exemple:

<link property="og:image" href="http://example.com/thumbnail.jpg" />
<img property="og:image" src="http://example.com/thumbnail.jpg" alt="Foo" />
1
unor