Plan de site Navigation
Blog & Blues Techniques et Standards de la Qualité Web

Accueil > weblog


- Lire le billet précédent - Lire le billet suivant -

Google et la sémantique, exemple des définitions

Par Laurent Denis, le 12 août 2004.

Google est sans doute le moteur de recherche le plus souvent cité lorsqu'on argumente sur le respect de la sémantique des éléments HTML et son utilité en matière de référencement. Mais le fonctionnement de ce moteur (son fameux algorithme) est volontairement caché. Aussi réserve-t-il souvent bien des surprises lorsque l'on confronte la théorie et la pratique.

C'est le cas, par exemple, des définitions incluses dans les documents HTML :

HTML 4.01 et XHTML1.x offrent deux éléments permettant de préciser qu'un terme fait l'objet d'une définition dans le contexte de la page :

dl, la liste de définition :
<dl>
<dt>W3C</dt>
<dd>The World Wide Web Consortium: An unincorporated entity created by contracts 
between the Hosts for the purpose of bringing the Web to its full potential.</dd>
</dl>
dfn, la définition en ligne :
<p><dfn>W3C</dfn>: The World Wide Web Consortium: An unincorporated 
entity created by contracts between the Hosts for the purpose of bringing 
the Web to its full potential.</p>

Google offrant un service spécifique de recherche de définition (en anglais excusivement), voyons comment sont codées les pages trouvées par ce service. Nous prenons comme exemple une recherche sur la définition du terme « W3C » :

  • Notons tout d'abord que Google exploite manifestement d'autres informations du contexte de ces pages. Certains résultats n'emploient aucun balise spécifique pour déterminer les termes définis, tel le glossaire de l'ICANN :
    <p class="drilltext"><a class="drill" href="http://www.w3c.org">W3C</a> - World Wide Web Consortium</p>
    <blockquote>
    <p>The W3C is an international industry consortium founded in October 1994 to develop 
    common protocols that promote the evolution of the World Wide Web and ensure its 
    interoperability. Services provided by the Consortium include: a repository of information about 
    the World Wide Web for developers and users; reference code implementations to embody and 
    promote standards; and various prototype and sample applications to demonstrate use of new 
    technology.</p>
    </blockquote>
    
  • La liste de définition <dl> est bel et bien exploitée, à l'image de ce glossaire du W3C :
    <dt><a href="/">W3C</a></dt>
    <dd><em>n.</em> The World Wide Web Consortium: An unincorporated entity
    created by contracts between the Hosts for the purpose of bringing the
    Web to its full potential. [Note. This abbreviation does not follow the
    formation rules of <a href="#I18N">I18N</a>.]</dd>
    
  • En revanche, je n'ai jusqu'ici jamais rencontré dans des résultats de Google:definition l'élément <dfn>... Si quelqu'un a un exemple, je suis preneur ;)
  • L'élément <strong>, qui marque une emphase sur un contenu, est également utilisé, par exemple dans le Glossary of Acronyms (TASI) :
    <td class="glossarycell" valign="top"><strong>W3C</strong></td>
    <td class="glossarycell" valign="top">World Wide Web Consortium<br />
    <a href="http://www.w3.org/">http://www.w3.org/</a></td>
    
  • De même, l'élément <em> qui joue le même rôle, comme dans ce glossary and acronym expansion project (Minnesota State Colleges & Universities Office of Instructional Technology) :
    <P> <a name="W3C"></a><em>W3C:</em> World Wide Web Consortium, 
    <a href="http://w3c.org/">W3C</a> 
    </P>
    
  • C'est aussi le cas de <b>, élément de présentation déconseillé en (X)HTML Transitional, invalide en strict valide mais déconseillé au profit d'un style CSS, et dénué de valeur sémantique théorique. Voir le Glossaire du CANRI :
    <td valign="top" class="bodyhead" width="179"><a name="W3C"><b>W3C</b></a></td>
    <td width="645" class="body">The World Wide Web Consortium sets standards for HTML and other key web technology. 
    <a href="http://www.w3.org/"" target="external_site"><small>[go to site]</small></a></td>
    

Il faut préciser que le choix du terme recherché n'est pas neutre, et qu'il est difficile de faire la part des choses entre les pratiques de codage des auteurs et le fonctionnement supposé de Google :

  • La recherche sur la définition du terme « W3C » révèle une forte proportion d'auteurs utilisant les listes de définition, et très peu d'auteurs utilisant <b>. Mais sans doute pouvait-on s'y attendre étant donné le contexte dans lequel travaillent les auteurs amenés à publier la définition de cette abréviation ;)
  • En revanche, une recherche sur un terme moins lié à la notion de normes HTML fait apparaître une proportion majoritaire d'éléments <b>, très peu d'éléments d'emphase <em> et <strong>, quelques très rares <dl>... Voyez par exemple les résultats de recherche sur le terme « web ».

Qu'en conclure ?

  • Que sur ce point au moins, Google exploite bel et bien certains éléments HTML conformément à leur rôle (<dl>), sans toutefois les privilégier ;
  • Mais qu'il semblerait en ignorer d'autres (encore faudrait-il être sûr que l'élément <dfn> n'apparaît pas dans ces résultats pour une autre raison, à savoir qu'il est tout simplement très rarement employé).
  • Qu'il se livre à des interprétations reflétant simplement les usages en vigueur chez les auteurs (éléments <em> et <strong>) ;
  • Et que Google ne se prive pas d'exploiter des balisages dénués de sens structurel, tels <b>, sans doute simplement parce qu'ils sont présents dans la plus grande partie des documents qu'il doit indexer.

Autrement-dit, le respect du sens des éléments HTML ne nuit pas au référencement, mais le favorise-t-il vraiment à l'heure actuelle ? Cette affirmation péremptoire semble bien imprudente.

Et cela n'enlève rien à l'intérêt de ce balisage « sémantique » : Google semble surtout s'adapter aux pratiques des auteurs... et suivra donc peut-être ceux qui multiplieront les bonnes pratiques ;)

Donc :

  • Utilisons la bonne balise à la bonne place ;
  • Mais soyons prudents sur l'incidence de ces pratiques en terme de référencement dans Google aujourd'hui.
  • Et puis... Il n'y a pas que Google sur le Web !

Trackbacks

Les trackbacks pour ce billet sont temporairement fermés en raison d'une série d'attaques de spam.

Commentaires

Laurent Denis, le 12 août 2004

Pour mémoire, l'examen du code de ces pages de résultats Google est considérablement facilité par une feuille de style utilisateur du type :

b:before {
content: "<b>";
color: #ff0000;
}
b:after {
content: "</b>";
color: #ff0000;
}
em:before {
content: "<em>";
color: #008000;
}
em:after {
content: "</em>";
color: #008000;
}
strong:before {
content: "<strong>";
color: #008000;
}
strong:after {
content: "</strong>";
color: #008000;
}
dfn:before {
content: "<dfn>";
color: #0000ff;
}
dfn:after {
content: "</dfn>";
color: #0000ff;
}
dt:before {
content: "<dt>";
color: #0000ff;
}
dt:after {
content: "</dt>";
color: #0000ff;
}

D'utilisation immédiate dans Opera, mais que l'on peut éventuellement appliquer dans les navigateurs Gecko via un favelet.

Francis, le 12 août 2004

Peut-on extrapoler sur Google en général à partir d'un cas isolé ?
je m'était laissé convaincre que la sémantique aidait à être bien référancé.
je suis déçu smiley triste

Laurent Denis, le 12 août 2004

Extrapoler ? Non, évidemment. Mais je ne crois pas avoir extrapolé ici.

Et si on t'as dit **qu'aujourd'hui**, "la sémantique aidait à être bien référancé"... on s'est un peu laissé emporter par l'enthousiasme smiley clin d'oeil

Si on t'as dit que la "sémantique" avait entre-autres pour but de faciliter le travail des moteurs de recherche et de leur permettre d'améliorer la pertinence de leurs résultats, on t'as en revanche donné d'excellentes raisons "d'être Sémantique"... dès aujourd'hui.

Eric Daspet, le 12 août 2004

Pour le point de détail :
""" <b>, élément de présentation déconseillé en (X)HTML Transitional, invalide en strict"""

<b> est présent dans les DTD strictes et n'est pas dans les éléments marqués "deprecated".

Laurent Denis, le 12 août 2004

Oups smiley clin d'oeil Bien vu, Eric. Je rectifie de ce pas.

On s'y perd, avec ce surprenant et confusant "Les éléments HTML suivants spécifient des informations de police. Bien qu'ils ne soient pas tous déconseillés, on décourage leur utilisation en faveur des feuilles de style."
www.la-grange.net/w3c/htm...

Laurent Denis, le 14 août 2004

Sur la prise en compte éventuelle de dfn par Google : celui-ci est employé à plusieurs reprises par la spécification CSS2.1. On peut remarquer que ce document n'apparaît pas dans les listes de résultats données par Google:define, par exemple pour l'expression « clipping region ».

docLegi, le 15 octobre 2004

Il est un peu aberrant de dire que <b> n'a pas de valeur sémantique. Tous les éléments en HTML ont une valeur sémantique, à part peut-être <div> et <span>. Le sens de <b> est simplement de mettre du gras, s'il est déconseillé, c'est parce qu'en général on utilise le gras pour mettre de l'emphase, mais que <b> n'a pas ce sens là, contrairement à <strong> ou <em>. Maintenant si vous avez un morceau de texte à mettre en gras sans que ce soit de l'emphase, un titre, un lien, etc. mieux vaut à mon avis utiliser un <b> qu'un <span class="bold"> ou quelque chose dans ce genre là.

Laurent Denis, le 15 octobre 2004

Officiellement, <b> n'a aucune valeur sémantique, étant rangé dans la catégorie des éléments de style de polices de caractères.

Mais docLegi a tout à fait raison sur le fond, en ce sens qu'il manque en HTML quelque-chose qui ne soit pas une emphase ni une simple génération d'effet visuel (gras, mais aussi guillemets), et qui signifie une "mise en relief" attirant l'attention sur un sens variable ajouté à ce contenu.

Pour ma part, je suis régulièrement ennuyé de ne pas savoir comment baliser un terme détourné de son sens, une approximation de langage, un barbarisme volontaire, une grossièreté... toutes occasions om j'aurais besoin de refléter dans le balisage ce que le discours oral transcrit si facilement sous la forme "attention, ici deuxième degré", ou "sens allusif", ou tout simplement calembour.

Tiens, au fait, comment baliser un calembour ?

Les commentaires pour ce billet sont temporairement fermés en raison d'une série d'attaques de spam.