L’autre sémantique – Le Web Sémantique et les systèmes de recherche d’information. [3.2]

Lorsqu’on parle de sémantique à propos d’un site web, parle t’on de LSI, d’ontologies, de thésaurus, de polysémie, ou même de « sens » ? Non, au mieux, on pense à « web sémantique », ce qui est déjà réducteur, mais le plus souvent, les webmasters comprennent balises sémantiques.

Ce qui est un contresens assez terrible, car accoler le mot « sémantique » à ces balises est un abus de langage pur et simple.

Dans la littérature sur la « sémantique des sites webs » on retrouve de nombreuses confusions avec le web sémantique. Or, il y’a un gouffre entre l’information apportée par ces balises et les possibilités du web sémantique. Cette confusion conduit à prêter des propriétés aux balises sémantiques qu’elles sont bien incapables d’avoir.

D’une manière plus générale, quelles informations apportent ces balises sur le sens de ce qu’elles contiennent ? En fait rien du tout, ce sont des balises descriptives comme toutes les autres, elles décrivent simplement la « nature » des contenus, mais pas leur sens. [1]

SOMMAIRE
L’autre sémantique – Le Web Sémantique et les systèmes de recherche d’information.
-1 : Définition et principes
-2 : Les fausses amies, les balises sémantiques
-3 : Le Web Sémantique : une utopie condamnée ou une révolution en marche ?
-4 : Web sémantique et outils de recherche

Les balises sémantiques

Les balises sémantiques ont été définies assez tôt dans l’histoire du langage HTML. Voici la liste des balises « sémantiques » contenues dans le html version 4, telles que définies par le W3C.

A

ABBR

ACRONYM

ADDRESS

AREA

BASE

BDO

BLOCKQUOTE

BODY

BUTTON

CAPTION

CITE

CODE

COL

COLGROUP

DD

DEL

DFN

DIV

DL

DT

EM

FIELDSET

FORM

H1, H2, H3, H4, H5, H6

HEAD

HTML

IMG

INPUT

INS

KBD

LABEL

LEGEND

LI

LINK

MAP

META

NOSCRIPT

OBJECT

OL

OPTGROUP

OPTION

P

PARAM

PRE

Q

SAMP

SCRIPT

SELECT

SPAN

STRONG

STYLE

SUB

SUP

TABLE

TBODY

TD

TEXTAREA

TFOOT

TH

THEAD

TITLE

TR

UL

VAR

[2]

Ces balises sont définies par opposition aux balises dites de « presentation » comme ou .

Pourquoi distinguer « balises sémantiques » et balises « de présentation »


A l’origine, le HTML était un langage de description de pages, dont l’objectif était de définir comment un document devait s’afficher dans un navigateur. Les balises créées pour ce langage mélangeaient donc des objectifs de « mise en page » dictées au navigateur, et des indications de « nature de contenu » qui laissaient au navigateur le soin de décider comment les afficher.

Avec le temps, il est apparu utile de pouvoir déterminer de manière plus exacte comment une page devait s’afficher dans le navigateur. Ce qui a conduit à l’apparition des feuilles de styles, et qui a permis de poursuivre un objectif de séparation entre la mise en page, définie dans les CSS, et la description de la structure et de la nature du contenu, contenue dans la page HTML.

On peut donc définir les balises de présentation comme des balises qui peuvent être tout bonnement remplacées par un style CSS, tandis que les autres sont des balises « sémantiques ».

Les balises « sémantiques » et le sens du contenu : un contresens

Les balises sémantiques indiquent la nature du contenu, et n’apportent aucune information sur le sens de ce contenu.

Utiliser ces balises ne permet que d’indiquer au navigateur que « ceci est un tableau », « ceci est élément dans une liste », ou « ceci est une partie du texte plus importante que le reste ».

Qu’apporte donc un codage respectant « la sémantique » par rapport un codage à l’ancienne ? Sûrement pas des informations sur le « sens » du contenu, mais par contre une information plus claire sur la structure du contenu. Ces informations sur la structure du contenu sont isolées de toute indication de rendu visuel, ce qui améliore l’accessibilité de ces pages, et favorise leur portabilité sur de multiples plateformes.

Quelques exemples de dérives et de confusions

On trouve souvent, sous la plume de gens par ailleurs sérieux, des amalgames et des erreurs sur ce qu’est la sémantique (la science du « sens »), web sémantique (donc RDF, OWL et le reste) et les balises sémantiques.

Voici un exemple tiré d’un article du JDN développeur, dans un article titré : « HTML : Le bon usage des balises sémantiques » [3]

Nous touchons ici à l’un des principaux travaux du W3C : la sémantique du Web, ou plus clairement « utiliser des balises qui donnent du sens au contenu qu’elles encadrent ».
Le problème ne repose donc pas sur l’italique ou le gras, mais bien sur le sens que l’on veut donner à un texte.

Euh, là il y’a un amalgame entre web sémantique et « balises sémantiques ». Et disons le clairement, je ne sais pas changer le sens de mon texte en utilisant des balises sémantiques.

Souvent, on appelle « sens » d’un contenu, la nature de ce contenu. Exemple tiré d’un site bien connu parlant d’accessibilité [4]

Pour chaque balise utilisée, vérifier si le sens du texte balisé correspond au sens sémantique de la balise.
Exemple : le texte contenu entre BLOCKQUOTE et /BLOCKQUOTE doit être exclusivement une citation.

Euh… La balise en question indique qu’une citation… est une citation, ce qui ne donne aucune indication sur le « sens » de cette citation. Pour en comprendre le sens, il faudra un cerveau, pas un navigateur.

Pour finir mon illustration, une citation d’un célèbre blogueur référenceur (qui aime bien etc…)


Critère 9.2 : La page web est-elle structurée de manière cohérente ?

Le code HTML comporte un certain nombre de balises dites « sémantiques » car porteuses de sens :

à

pour les titres,

pour les paragraphes, et pour les emphases,

    et

      pour les listes, etc.

Bon, là, point de contresens absolu, ou de confusion, mais sans doute la volonté inconsciente de justifier le qualificatif de « sémantique » [5] Disons que ces balises apportent de l’information sur la nature du contenu, ce qui peut effectivement « faire plus sens ». Mais le sens porté n’est pas celui du contenu, mais bien sur la nature du contenu.

Bref, la présentation des balises sémantiques devrait toujours être celle choisie par Laurent Jouanneau sur Openweb.eu :

Le (X)HTML définit de nombreuses balises. Chacune de ces balises est destinée à indiquer la nature du contenu qu’elle encadre (c’est le cas pour les versions strictes du HTML et du XHTML, leurs autres versions ayant d’autres balises pour spécifier l’apparence du contenu). C’est ce qu’on appelle la sémantique. […]

Respecter la sémantique des balises, donc encadrer un contenu avec la balise adéquate, permet tout d’abord de structurer le document correctement, indépendamment de la forme qu’il va prendre. Ceci permet aux programmes qui traiteront l’information contenue dans la page, de l’interpréter correctement, et donc de l’utiliser comme il se doit.

Voila ! C’est clair, et surtout, exempt d’amalgame ou de confusion sur la nature des balises « sémantiques ».

A propos du débat sur les balises sémantiques et le référencement

Il est difficile de parler ici des balises sémantiques sans évoquer le débat sur leur rôle dans l’optimisation des pages pour les moteurs de recherche.

Parmi les promoteurs du respect des normes et de l’accessibilité, il en est un certain nombre qui avancent que faire des pages web respectant les normes, et notamment, utilisant correctement les balises sémantiques permet d’améliorer le référencement.

Disons le clairement tout de suite : cette affirmation est vraie. Par contre elle est souvent mal comprise par des gens qui pensent que c’est suffisant pour bien se référencer. Or ce n’est ni toujours nécessaire, et presque jamais suffisant !

Pourquoi utiliser correctement les balises sémantiques est un plus

Les moteurs de recherche donnent des pondérations différentes aux termes trouvés dans une page en fonction du contexte, les informations de contexte étant apporté par le code html de la page. Il est clair qu’un terme situé dans la balise

ou

doit se voir attribuer un « poids » plus important que si le même terme est noyé en plein milieu du texte courant de la page.

Cela signifie donc que les outils de recherche tirent des informations du code html pour en déduire des infos sur ce qu’elles contiennent. Dans ce contexte, un code html « correct », et qui plus est respectant la « sémantique » facilite donc clairement le travail des moteurs.

Donc on ne peut que recommander de coder proprement ses pages, en utilisant en priorité les balises sémantiques pour décrire le contenu. Cela ne nuit jamais au référencement, et cela peut l’améliorer parfois sensiblement.

Est-ce suffisant ?

Sûrement pas, et ceci, pour trois raisons :

1°) les moteurs travaillent sur le contenu textuel avant de tenir compte de la structure de ce contenu. Les balises sémantiques apportent un plus à un contenu non structuré correctement, mais il faut déjà avoir un contenu qui « matche » avec la requête.

2°) les moteurs travaillent sur un web rempli de pages codées avec les pieds. Et il n’essaient pas de donner des bonnes notes aux gens qui codent correctement, ils cherchent les contenus les plus pertinents sur une requête donnée. Dans ce contexte, utiliser ou produira le même résultat en matière de référencement. Parce que les moteurs donnent le même sens à ces balises : le webmaster a mis en valeur le passage. [6]

3°) à contenu équivalent, à structure de code équivalente, d’autres éléments entrent en ligne de compte (comme la popularité par les liens). Donc se contenter de passer sa page au validateur pour dire « ma page est valide, donc elle est optimisée pour les moteurs de recherche » serait oublier que de nombreuses autres choses que le code HTML sont à optimiser pour se positionner correctement.

Est-ce nécessaire

Non, [7], ce n’est pas nécessaire non plus. Ce qui est nécessaire, c’est de structurer sa page correctement, en mettant en valeur ce qui est important, et en respectant quelques règles de bon sens.

Bref, coder en HTML 4.0 transitional ne nuit pas non plus au référencement. Si d’ailleurs c’était le cas, vu le grand n’importe quoi qui règne sur la plupart des sites web, les pages de résultats de google seraient bien différentes

Alors pourquoi penser qu’un code valide respectueux de la sémantique fait gagner des places dans Google ?

Parce que c’est souvent vrai ! Mais pas à cause du code. C’est grace à la manière dont l’auteur écrit sa page.

Quelqu’un qui respecte les normes W3C et respecte la sémantique va automatiquement, sans le faire pour un objectif de référencement, optimiser plusieurs aspects de sa page.
- il va écrire un code propre, qui sera donc lu correctement par les robots d’indexation
- le code va être structuré de manière efficace, ce qui permettra de mieux hiérarchiser le contenu textuel
- la page sera également probablement moins encombrée par des balises parasites : la structuration ne sera pas ambigue.
- et lorsqu’on attache de l’importance au contenu, on crée du contenu intéressant, ce qui favorise le référencement [8]

Donc ce travail est clairement positif pour le référencement. Mais il n’y a pas de bonus volontairement attribué par les moteurs aux pages valides W3C !

J’espère que j’aurai convaincu mon lecteur de faire attention dorénavant à ne plus confondre sémantique, web sémantique, et code sémantique.

Philippe YONNET

Prochain article : Le Web Sémantique : une utopie condamnée ou une révolution en marche ?


[1] Ca y’est, je sens que je viens de me faire quelques ennemis ;). Mais tant pis, j’aime bien combattre les idées reçues…

[2] On peut remarquer que cette liste est un peu plus longue que celle qui est donnée dans de nombreuses sources sur les balises sémantiques : il y’a un débat sur le caractère « sémantique » ou « de présentation » de nombreuses balises. Ces arguties sont inévitables, car aucune définition des balises sémantiques ne s’est jamais totalement imposée, et qu’on peut utiliser de nombreuses balises de manière « sémantique », mais aussi comme des balises de présentation : par exemple la balise

!!!

[3] Que l’auteur de cette citation me pardonne de l’épingler ainsi. D’autant plus que par ailleurs il écrit rarement des bêtises, et qu’en l’occurrence il n’est pas lke seul à faire ce genre d’amalgames.

[4] Qu’ils me pardonnent aussi, bravo au passage pour le boulot qu’ils réalisent

[5] Je ne sais pas qui a eu l’idée au W3C d’appeler cela des balises sémantiques, mais je pense qu’il a fait une belle bourde en choisissant ce terme. La volonté de faire allusion aux objectifs du « web sémantique » est sans doute à l’origine de tout cela.

[6] De ce point de vue, le développement du XHTML, et des CSS ne facilite pas toujours le travail des moteurs, car certaines indications de « mise en valeur » sont dorénavant cachées dans les CSS. D’où la necessité pour Googlebot de savoir lire à présent les CSS

[7] C’est là que je vais me faire taper dessus par les W3Cistes

[8] Content is king ! J’ai lu parfois des billets très militants sur la supériorité du code valide dans un objectif de référencement. Certains ne voient pas que ce qui fait souvent la supériorité de leur page sur une autre, ce n’est pas tant le soin apporté à leur code, que le soin apporté à leur site en général, qui garantit un contenu intéressant, qui matchera avec certaines requêtes et qui générera spontanément des citations et des backlinks. Sans compter une expérience de navigation agréable qui favorise aussi la création de liens