web-dev-qa-db-fra.com

Microdonnées, RDFa ou JSON-LD Utilisation appropriée ou optimale?

Je me demandais lequel de ces formats est le "meilleur"? Schema.org, Microdata et RDFa sont un peu pénibles à mettre en œuvre. Ils peuvent interrompre la validation et requièrent beaucoup d'effort pour les documenter.

JSON-LD est enfin, pour moi, un meilleur moyen de mettre en œuvre des données structurées. Mais ça marche? Quel niveau de support existe-t-il pour cela (au moins par Google)?

60
Grzegorz

Schema.org est un vocabulaire qui peut, comme tout autre vocabulaire, être utilisé sous de nombreuses formes. Le site Web http://schema.org/ _ contient des exemples utilisant Microdata et les syntaxes RDF RDFa et JSON-LD, mais ce n'est pas le cas. les seules syntaxes avec lesquelles il peut être utilisé. Vous pouvez, par exemple, l'utiliser avec toute autre syntaxe RDF telle que Turtle ou RDF/XML.

Il n'y a pas de syntaxe best. Ils ont tous des avantages et des inconvénients. Voir par exemple ma réponse à propos de différences entre microdonnées et RDFa . Notez que vous pouvez utiliser différentes syntaxes (et vocabulaires) } dans le même document.

Maintenant, si vous avez un consommateur en tête, vous devriez consulter sa documentation. Cependant, le support des syntaxes va et vient, et tout ce qu'elles pourraient supporter n'est pas nécessairement documenté et tout ce qui est documenté ne fonctionne pas nécessairement.

Dans le cas de Google, vous êtes probablement intéressé par leurs Rich Snippets. Leur documentation sur Rich Snippets mentionne Microdata, Microformats et RDFa. Notez cependant que tous les exemples liés n’utilisent pas le vocabulaire Schema.org, mais les anciens Data-vocabulary.org ou Microformats (vous ne pouvez pas utiliser de vocabulaires comme Schema.org ni Data-vocabulary.org avec Microformats). Et il existe également des extraits enrichis ne figurant pas sur cette page, comme le champ de recherche des liens annexes , pour lequel ils recommandent même la syntaxe JSON-LD.

Conseils généraux: les moteurs de recherche privilégient généralement le contenu visible par rapport aux métadonnées masquées. Par exemple, avoir des mots clés en tant que métadonnées masquées permet facilement aux auteurs d'affirmer que leurs documents traitent de quelque chose de différent de ce qu'ils sont réellement (soit parce qu'ils ont tenté de tromper le moteur de recherche, soit parce que les auteurs ont oublié de mettre à jour le contenu dans deux espaces). . Par conséquent, en séparant les métadonnées du contenu, comme c’est le cas avec JSON-LD, pourrait (éventuellement!) Conduire aux mêmes problèmes que les moteurs de recherche actuels ont des métadonnées cachées. (Si ou quels moteurs de recherche le traitent réellement, c'est une question qui est hors sujet sur Stack Overflow.)

Un autre avantage possible du couplage des métadonnées avec le contenu (avec RDFa, par exemple) est que vous pouvez facilement et automatiquement générer les mêmes informations dans JSON-LD, Turtle, etc., car tout est simplement RDF. Il suffit d’analyser le RDFa, de le convertir aux formats de votre choix et de l’incorporer (dans script) ou de le lier (avec rel-alternate) si cela a du sens.

Mais oui, ajouter RDFa est souvent plus complexe que d'ajouter un blob JSON-LD, car vous devez l'adapter au balisage existant. (Cependant, il ne faut pas "casser la validation" à moins que vous ne fassiez des erreurs.)

48
unor

Les lignes entre Microdata, RDFa et JSON-LD sont actuellement très floues et il n’ya pas encore de de facto largement accepté parmi les trois. Cela devra attendre pour maintenant. Peut-être quelques années ou plus.

Pendant ce temps, les microdonnées ne doivent pas être étiquetées avec Schema.org comme vous l'avez mentionné car ces deux choses sont différentes. Schema.org est un vocabulaire qui peut donc être utilisé pour Microdata, RDFa et JSON-LD.

Utiliser Schema.org en tant que vocabulaire et en utilisant JSON-LD en tant que représentation des données est probablement la paire la plus attendue en raison de deux aspects communs les concernant:

  1. Facile à lire pour les humains; et
  2. Léger lisible par machine

mais malgré cela, il y a toujours des déconnexions entre les deux comme cet exemple .

En ce qui concerne le support JSON-LD, puisque Bing, Google, Yahoo !, et Yandex reconnaît l'utilisation de schema.org, il est peut-être prudent de dire qu'ils le prennent également en charge, comme dans cet exemple .

Mise à jour 2017

Google a été très actif dans la promotion de JSON-LD-schema.org ces deux ou trois dernières années.

16
Abel Callejo

Il semble que Google soit enclin à utiliser JSON-LD, mais il ne l’a pas encore implémenté! 

Google est en train d'ajouter le support JSON-LD à plus fonctionnalités basées sur le balisage. Jusqu'ici, JSON-LD est pris en charge pour tous Fonctionnalités Knowledge Knowledge, champs de recherche de liens annexes, Event Rich Snippets, et recette Rich Snippets; Google recommande l'utilisation de JSON-LD pour ces fonctionnalités. Pour les types restants d’extraits riches et la chapelure, Google recommande l'utilisation de microdonnées ou de RDFa.

http://developers.google.com/structured-data/schema-org

9
JeroenVdb

Google utilise JSON-LD comme exemple de référence pour le référencement de données structurées pour son graphe de connaissances (entreprises et personnes) . Voir https://developers.google.com/structured-data/customize/overview

J'utilise personnellement une combinaison de JSON-LD et de microdonnées pour mes sites (pour le moment).

Je dirais qu'ils disposent d'autres moyens pour déterminer si les informations que vous fournissez via JSON-LD sont pertinentes pour leur moteur de recherche (par exemple, le fait de vérifier votre page indique en fait ce dont il prétend parler).

6
Arnaud Leyder

(mise à jour des réponses!)

À propos de "popularité", s'il vous plaît voir cette question/réponses

Aujourd'hui, les microdonnées sont les plus populaires: dans un univers de 34 millions de domaines, 5,63 millions (~ 17%) utilisent le "balisage de contenu" (j'utiliserai le jargon markup) de RDFa (0,9 million), Microdonnées (2,5 millions) ou Microformats, et moins de la moitié utilisent des séparateurs sémantiques séparés, le plus populaire étant le JSON-LD, avec 2,12 millions (6%).
PS: nous préférons les "statistiques par domaine" (plutôt que les statistiques par page) car les pages d'un même domaine ont généralement les mêmes modèles et d'autres règles appliquées par les autorités locales.

Dans un univers de "domaines exprimant la sémantique" (7,75 millions), le profil statistique est le suivant:

  • 73% de balisage sémantique
  • 27% séparés sémantiques 
  • (... l'intersection en tant que mélange "séparé + balisage" peut être nulle pour simplifier ...)

Règle de base en 2017

Utilisez markup sémantique avec Microdata et, après, si vous avez besoin d'exprimer quelque chose de plus aux machines, utilisez JSON-LD


Utilisez sémantique de balisage parce que c'est le plus populaire et que le contenu marqué sera vérifiable/auditable simultanément par les humains et les machines.

Important: rappelez-vous que Microdata, RDFa (une norme du W3C) et JSON-LD (une norme du W3C) peuvent être (facilement) traduits en RDF, de sorte que tous ces formats sont compatibles.


PS: pour les tableaux HTML, voir aussi Les métadonnées tabulaires du W3C . Pour les ressources non HTML ouvertes, en tant que fichiers CSV, utilisez RDF-compatible modèle de données tabulaire du W3C et/ou frictionlessdata/specs

5
Peter Krauss

JSON-LD serait la solution à partir de zéro. Laissons l'un des principaux créateurs de JSON-LD , Manu Sporny, prend en compte:

Le désir de meilleures API Web est ce qui a motivé la création de JSON-LD, pas le Web sémantique. Si vous voulez faire du Web sémantique un la réalité, arrêtez de défendre votre cause et passez votre temps à faire quelque chose de plus utile, comme rendre réellement les machines plus intelligentes ou aider les gens à publier des données d’une manière qui leur soit utile.

JSON-LD consiste à publier les données de manière utile/facile à mettre en œuvre car ...

il est basé sur la technologie utilisée par la plupart des développeurs Web.

0
Mac