Les microdonnées (microdata) sont une spécification du WHATWG HTML qui est utilisée afin de fournir des métadonnées sur le contenu des pages web. Les moteurs de recherche, les robots (crawlers) d'analyse peuvent traiter les microdonnées d'une page web pour améliorer l'expérience de navigation. Les moteurs de recherches peuvent tirer parti des informations pour obtenir une meilleure pertinence. Les microdonnées sont structurées grâce à un vocabulaire permettant de décrire des objets qui sont sont des groupes de paires de noms/valeurs. Le but des microdonnées est de faciliter l'annotation des éléments HTML et d'être plus simple à utiliser que RDFa ou les microformats.
Le groupe de travail HTML du W3C n'a pas trouvé d'éditeur pour cette spécification et a arrêté son développemnt en 2013.
Les microdonnées sont des groupes de paires nom-valeur. Ces groupes sont appelés des objets (items) et chaque paire nom-valeur est une propriété. Les objets et les propriétés s'inscrivent dans des éléments HTML classiques :
- Pour créer un objet, on utilise l'attribut
itemscope
- Pour ajouter une propriété, on utilise l'attribut
itemprop
sur l'un des descendants.
Vocabulaires
Google et les autres moteurs de recherches participent au vocabulaire défini par schema.org pour structurer les données. Ce vocabulaire définit un ensemble standard de types et de noms de propriétés. Par exemple MusicEvent
indique un événement musical dont les propriétés startDate
et location
utilisées pour définir les détails du concert. Dans ce cas, l'URL https://schema.org/MusicEvent
sera l'URL utilisée pour l'attribut itemtype
et les propriétés startDate
et location
seront les propriétés utilisées, définies par https://schema.org/MusicEvent
.
Les vocabulaires de microdonnées fournissent la sémantique (c'est-à-dire la signification) d'un élément. Les développeurs et auteurs web peuvent construire des vocabulaires spécifiques ou réutiliser ceux disponibles sur le Web comme schema.org.
Plusieurs moteurs de recherche (Google, Bing et Yahoo!) s'appuient sur schema.org pour améliorer les résultats de recherche.
Localisation
Dans certains cas, les moteurs de recherche couvrent un public régional. Certaines extensions sont donc ajoutées aux microdonnées pour fournir du contenu spécifique. Ainsi, Yandex qui est un moteur de recherche très présent en Russie supporte des microformats comme hCard, hRecipe, hReview et hProduct et fournit son propre format pour dédfinir les termes et les articles encyclopédiques. Cette extension a été construite afin de résoudre les problème de translitération entre les alphabets cyrillique et latin.
Attributs globaux liés aux microdonnées
Certains attributs globaux concernent directement les microdonnées :
itemid
- Cet attribut est l'identifiant unique d'un objet.
itemprop
- Cet attribut est utilisé afin d'ajouter des propriétés à un élément.
itemref
- Cet attribut permet de faire référence à d'autres éléments HTML décrivant le même objet.
itemscope
- Cet attribut définit la portée du vocabulaire déclaré par
itemtype
et englobe généralement un objet. itemtype
- Cet attribut définit le vocabulaire qui spécifie le modèle de données utilisé pour décrire les objets.
Exemple
HTML
<div itemscope itemtype="https://schema.org/SoftwareApplication"> <span itemprop="name">Angry Birds</span> - REQUIRES <span itemprop="operatingSystem">ANDROID</span><br> <link itemprop="applicationCategory" href="https://schema.org/GameApplication"/> <div itemprop="aggregateRating" itemscope itemtype="https://schema.org/AggregateRating"> RATING: <span itemprop="ratingValue">4.6</span> ( <span itemprop="ratingCount">8864</span> ratings ) </div> <div itemprop="offers" itemscope itemtype="https://schema.org/Offer"> Price: $<span itemprop="price">1.00</span> <meta itemprop="priceCurrency" content="USD" /> </div> </div>
Structure de donnée
itemscope | itemtype | SoftwareApplication (https://schema.org/SoftwareApplication) | |
itemprop | name | Angry Birds | |
itemprop | operatingSystem | ANDROID | |
itemprop | applicationCategory | GameApplication (https://schema.org/GameApplication) | |
itemscope | itemprop[itemtype] | aggregateRating [AggregateRating] | |
itemprop | ratingValue | 4.6 | |
itemprop | ratingCount | 8864 | |
itemscope | itemprop[itemtype] | offers [Offer] | |
itemprop | price | 1.00 | |
itemprop | priceCurrency | USD |