4 votes

La bonne approche pour baliser les "mots-clés" d'un article de blog en utilisant HTML5 et Microdata ?

En keywords de Schema.org, comme le suggère sa forme plurielle, semble impliquer que sa valeur devrait être une ligne de texte séparée par des virgules . Comme dans l'exemple suivant :

<p itemprop="keywords">lorem, ipsum, dolor, sit, amet</p>

Cela me rappelle le <meta name="keywords" content="lorem, ipsum, dolor, sit, amet"> que nous avons utilisé pour mettre dans <head></head> pour des raisons de référencement.

Cependant, d'un point de vue sémantique, je pense que l'exemple ci-dessus est incorrect car les mots-clés devraient être une liste de mots . Ainsi, il doit être balisé en utilisant la balise <ul> élément.

Existe-t-il un consensus sur la façon dont les mots clés d'un article de blog doivent être balisés en utilisant HTML5 et Microdata ?

10voto

unor Points 14115

Mise à jour : La définition de Schema.org keywords la propriété a changé. Maintenant, il est clair qu'il s'attend à plusieurs balises, et qu'elles doivent généralement être séparées par des virgules.

en résumé : Si vous voulez utiliser un ul pour vos balises, à l'aide de l'élément Schema.org keywords pourrait ressembler à ceci en microdonnées :

<article itemscope itemtype="http://schema.org/BlogPosting">

  <footer>
    <ul itemprop="keywords">
      <li><a href="http://stackoverflow.com/tags/foo" rel="tag">foo</a>,</li>
      <li><a href="http://stackoverflow.com/tags/bar" rel="tag">bar</a></li>
    </ul>
  </footer>

</article>

Si vous l'utilisez comme ça, vous devez vous assurer que la ul ne contient aucun autre texte autre qu'une étiquette.


HTML

En meta avec l'élément name valeur keywords offre un moyen de spécifier des mots-clés qui s'appliquent à l'ensemble de la page. Ces mots-clés consistent uniquement en du texte, vous ne pouvez donc pas utiliser d'URI.

Ainsi, pour les balises de blog typiques, vous procéderiez de la manière suivante (éventuellement en plus de meta - keywords ).

Type de lien

HTML5 définit le type de lien tag :

En tag indique que le étiquette que le document référencé représente s'applique au document actuel.

Notez que ce type de lien ne peut être utilisé que sur des pages à message unique, car la balise s'applique toujours à la page entière.

(Attention : tag es un Microformat aussi, mais sa définition est différente : Vous ne pouvez utiliser que des URLs spécialement conçues pour le microformat. tag .)

Si vos balises s'apparentent davantage à des catégories (vocabulaire contrôlé plutôt que balisage libre), vous pouvez utiliser la fonction type de lien category (éventuellement en combinaison avec tag ).

Balisage des balises

Vous pouvez utiliser un ul ou un dl :

<ul>
  <li><a href="http://stackoverflow.com/tags/foo" rel="tag">foo</a></li>
  <li><a href="http://stackoverflow.com/tags/bar" rel="tag">bar</a></li>
</ul>

<dl>
  <dt>Tags</dt>
  <dd><a href="http://stackoverflow.com/tags/foo" rel="tag">foo</a></dd>
  <dd><a href="http://stackoverflow.com/tags/bar" rel="tag">bar</a></dd>
</dl>

J'irais avec le dl lorsque vous avez également d'autres métadonnées à répertorier, par exemple l'auteur, la date de publication, etc.

A div avec des données séparées par des virgules a Les éléments d'un système d'alerte fonctionneraient aussi, bien sûr :

<div>Tags: <a href="http://stackoverflow.com/tags/foo" rel="tag">foo</a>, <a href="http://stackoverflow.com/tags/bar" rel="tag">bar</a></div>

Conteneur pour la liste

La liste devrait être partie d'un footer élément (à l'intérieur de la article si vous en utilisez un pour votre article de blog) :

Un pied de page contient généralement des informations sur la section concernée, telles que l'auteur, des liens vers des documents connexes, des données sur les droits d'auteur, etc.

Vocabulaires

Schema.org

CreativeWork définit la propriété keywords ( BlogPosting en hérite) :

Mots-clés ou balises utilisés pour décrire ce contenu. Les entrées multiples dans une liste de mots-clés sont généralement délimitées par des virgules.

Il s'attend à du texte brut, et il n'y a donc aucun moyen de fournir les URL des balises dans Schema.org.

Comme keywords attend une liste de balises séparées par des virgules, dl ne peut pas être utilisé (à moins que le dl ne contient rien d'autre que des balises).

Avec un ul il pourrait ressembler à ceci en microdonnées :

<ul itemprop="keywords">
  <li><a href="http://stackoverflow.com/tags/foo" rel="tag">foo</a>,</li>
  <li><a href="http://stackoverflow.com/tags/bar" rel="tag">bar</a></li>
</ul>

Si vous utilisez un div vous devrez ajouter un autre div / child afin que l'étiquette "Tags :" ne soit pas interprétée comme le tag lui-même :

<div>Tags: <span itemprop="keywords"><a href="http://stackoverflow.com/tags/foo" rel="tag">foo</a>, <a href="http://stackoverflow.com/tags/bar" rel="tag">bar</a></span></div>

Étiquette commune

Étiquette commune est un vocabulaire (RDF) pour le balisage. Contrairement à Schema.org keywords il utilise les URI pour les balises, et pas seulement le texte.

Exemple de leur Guide de démarrage rapide dans RDFa :

<div xmlns:ctag="http://commontag.org/ns#" rel="ctag:tagged">
   NASA's <a typeof="ctag:Tag" 
             rel="ctag:means"
             href="http://rdf.freebase.com/ns/en.phoenix_mars_mission"
             property="ctag:label">Phoenix Mars Lander</a> has deployed its robotic arm. 
</div>

Explication : Le contenu est balisé ( ctag:tagged ) avec une balise ( ctag:Tag ). Cette balise est définie ( ctag:means ) par l'URI " http://rdf.freebase.com/ns/en.phoenix_mars_mission " et il s'appelle ( ctag:label ) "Phoenix Mars Lander"

Au lieu de ctag:Tag vous pouvez utiliser la classe ctag:AuthorTag (ce qui signifie qu'il est marqué par l'auteur du contenu).

MOAT

Il existe également le vocabulaire MOAT, qui signifie "Meaning Of A Tag". Malheureusement, leur site internet semble avoir disparu ( ?).

Une ontologie qui permet aux utilisateurs de définir les relations entre les objets Tag et les URI des ressources du Web sémantique.

1voto

Abbe Points 900

A partir de schema.org 14.0 la description a été mise à jour pour préciser que schema:keywords peut être répété ou contenir des mots-clés séparés par des virgules.

Les entrées textuelles multiples dans une liste de mots-clés sont généralement délimitées par des virgules, ou par la répétition de la propriété.

Par conséquent, vous pouvez l'utiliser, par exemple, dans une liste sans ajouter de virgules à chaque élément :

<article itemscope itemtype="http://schema.org/BlogPosting">
    <ul>
      <li><a href="http://stackoverflow.com/tags/foo" itemprop="keywords">foo</a></li>
      <li><a href="http://stackoverflow.com/tags/bar" itemprop="keywords">bar</a></li>
    </ul>
</article>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X