Schema.org : Microdata, RDFa & JSON-LD

Le web sémantique, ce n’est en ne soit pas vraiment nouveau. En fait, cela fait déjà plusieurs années que j’en parle dans ces colonnes en fait. Et pourtant…

Je me suis rendu compte, pas plus tard que cette semaine, que dans les faits, je ne connaissais pas la différence entre Schema.org, les microdatas, les RDFa ou encore JSON-LD. Et toi, sais-tu faire la différence ?

Cet article s’inscrit dans le cadre d’un guide plus vaste. Si tu veux en savoir plus, découvre tout de suite notre Guide du SEO sémantique : Microdatas & Schema.org

Schema.org

Commençons par ce qui semble le plus évidant, j’ai nommé schema.org. J’ai longtemps cru que Schema.org et microdatas étaient équivalent. Quelle erreur. En effet, c’est confondre une norme de description de balises et le langage pour l’écrire.

Schema.org est une association entre Google, Microsoft, Yahoo et Yandex dont le but est de créer, maintenir et promouvoir des schemas de données structurées pour tous ce qui peut composer l’internet. Le vocabulaire ainsi créé peut être utilisé dans différents langages de communication, incluant les RDFa, les microdatas et JSON-LD. Le but étant de fournir un vocabulaire commun à tous les webmasters et développeurs du monde.

Donc si je comprends bien, je peux utiliser les différents schémas développés par schema.org au travers d’autres langages que les RDFa, les microdonnées ou encore JSON-LD. Et je peux utiliser les RDFa, les microdonnées ou encore JSON-LD pour autre chose que pondre du schema.org.

Je dirais même plus que ça. Schema.org n’est qu’une tentative pour faire du web sémantique. Ce n’est pas la seule. Mais c’est celle qui est le plus portée par les _Grand_s du web.

Ok, j’ai pigé ce qu’était schema.org, passons à la suite.

RDFa, JSON-LD & Microdatas

Alors avant d’aller plus en avant, je te préviens tout de suite. Je ne suis pas développeur, et j’admets que j’aurais encore besoin de quelques éclaircissement sur certains points. Alors tu sais quoi ? Si tu en sais plus que moi, je te remercie par avance d’éclairer nos lumières dans les commentaires :)

Que cela soit avec RDFa, JSON-LD ou encore les microdonnées, nous allons chercher à faire une seule chose : implémenter différents schémas issues du vocabulaire de chez schema.org. N’oublie pas que cette implémentation n’est pas mécaniquement ce qui a été recherché au début, mais que l’ensemble de ces langages ont pour but le web sémantique.

RDFa

Il s’agit d’une recommandation du W3C dont le but est d’ajouter un jeu d’attributs au niveau des couches HTML, XHTML et XML pour embarqués des méta-informations riches. On retrouve notamment le jeu d’attributs suivant :

  • About
  • rel ou rev
  • src, href et resource
  • property
  • content
  • datatype
  • typeof

En plus d’offrir tout un jeu d’attributs de descriptions de document tout nouveau, la RDFa propose plusieurs règles pour conserver une interopérabilité forte entre les différents systèmes :

  • Indépendance de publication
  • Réutilisation des données
  • Une séparation des données et des RDFa
  • Modularité des schémas retenus
  • Évolutivité

Bref, il s’agit d’une certaine manière d’intégrer des données sémantiques à une page en HTML. En fait… oui et non. RDFa c’est bien plus qu’ajouter du contenu juste à du HTML, car cela va aussi pour du XML par exemple. Et en plus, dire que cela ajouter quelque chose à du HTML serait sémantiquement faux car les deux sont sensés être séparé ;)

Donc si je pige le délire :

  • Faire du web sémantique avec des RDFa, c’est tout à fait possible
  • J’utilise RDFa en complément à du contenu en HTML mais aussi et surtout en XML
  • RDFa créera un jeu d’attributs accessibles en dehors du HTML
  • RDFa permet l’utilisation du subject-predicate-object en XHTML

Ok, si je n’en savais pas plus sur la suite, je dirais qu’en soit, RDFa c’est cool. Pourtant, je vais spoiler un peu… Ce ne sera pas notre grand gagnant du jour.

Pourquoi ? Car je me focalise sur une implémentation de schema.org qui soit la meilleure pour une facette bien précise du web. Celle motorisée par WordPress, et si en plus cela peut-être du eCommerce… ;) Et si l’on parle de sites web, alors les microdonnées et JSON-LD seront bien mieux AMHA.

Par contre, utiliser les microdonnées dans du XML, à ma connaissance, c’est impossible.

Tu vois d’autres avantages à RDFa ? Les commentaires sont là pour ça !

JSON-LD

Alors si ton niveau en développement est aussi élevé que le mien, te rappeler ce qu’est JSON ne sera peut-être pas de trop.

JSON

Tu connais un peu le XML ? Alors, tu connais un peu JSON. En effet, ce dernier est née de la volonté d’offrir un format de données textuelles dérivé de la notation des objets du langage JavaScript, de manière fort semblable à ce que propose XML. Le but du document JSON sera de représenter de l’information accompagnée d’étiquettes permettant d’en interpréter les divers éléments. La suite ici.

J’oubliais, JSON signifie JavaScript Object Notation.

JSON-LD

Maintenant que l’on a grosso modo compris ce qu’étais JSON, découvrons un peu plus son petit frère veux-tu ? Commençons par la question la plus évidente : Mais ça veut dire quoi LD ? Bonne question ! LD pour Linked Datas ou dit autrement (soit en français) données structurées. L’idée derrière JSON-LD est de proposer le concept de contexte qui permet à JSON de se mapper dans un modèle RDF. Le tout permettant à JSON d’offrir les bases de ce que l’on nomme l’ontologie.

Ok donc on a pigé le truc. Si j’ai une sortie JSON, utiliser JSON-LD pour pondre le contexte sémantique d’une page en suivant un des schémas de schema.org, ce n’est pas bien méchant. Si de manière générale je dois bien admettre que ce type d’information en touche l’une sans faire bouger l’autre, il s’avère que là, nous avons une véritable pépite d’or pour le web sémantique et WordPress.

Si tu t’y connais un minimum en web sémantique, il y a de fortes chances que tu saches déjà que JSON-LD c’est bien, mais que de manière générale nous utiliserons les microdonnées. Je vais y revenir. Mais alors en quoi WordPress a une carte à jouer dans le monde du web sémantique avec JSON-LD ? Et si je te disais que tu devais développer un site qui ne pond pas du tout de HTML, mais qui se construit à 100% à partir de l’API REST de WordPress qui elle crache du JSON ? Inutile de te dire que tu vas vite bénir JSON-LD.

J’aurais le plaisir à te parler de cela d’ici à quelques mois. Stay Tuned l’ami(e).

Microdonnées

Bon, nous y voici. Les microdonnées. Si je dis cela avec tant de solennité, c’est que très longtemps, j’ai mélangé microdonnées et schema.org. Il est temps de ne plus jamais faire cette erreur.

Les microdonnes sont une spécification WHATWG HTML. WFT ? Non, WHATWG ! Mais c’est quoi ce truc encore ? Encore un accronyme que je ne connaissais pas dis donc.

Pour prendre d’énormes raccourcis, le W3C et WHATWG ont les mêmes buts, mais des manières différentes. W3C c’est l’administration, WHATWG c’est le pragmatisme. Quand je parlais de raccourcis…

L’idée ? Utiliser les balises HTML actuelles pour venir y imbriquer des métadonnées, offrant ainsi aux crawlers et autres spiders la possibilité d’extraire tout un tas de données des pages explorées.

Pour faire simple, on vient imbriquer un vocabulaire particulier dans des balises HTML déjà existantes. Pragmatisme, je vous dis.

En soi, le vocabulaire issue des microdonnées ne fournit pas la sémantique ou la nature d’un objet. Un développeur à la liberté d’implémenter son propre vocabulaire ou utiliser celui issu de standardisation. La plus grande collection de vocabulaire standardisée est proposée par… Schema.org !

Et voilà, nous venons de boucler. Schema.org pousse les microdonnées. Les microdonnées pousse Schema.org. Mais l’on peut faire l’un sans l’autre ! Le tout est d’adopter la technologie qui correspond le plus à votre besoin du moment. C’est ça la joie d’avoir le choix !

Sébastien Grillot
Sébastien Grillot

Tombé dans le référencement depuis 2009, j'y suis toujours et j'aime ça 😅 J'aime aussi partager sur tout ce qui touche au référencement naturel de votre site. Le secret du seo ? Faire du SEO utile et pertinent pour les internautes 💋