5568 sujets

Sémantique web et HTML

Bonjour à tous,

je me pose une question... est-il utile de formater les caractères spéciaux dans le <head> ?
Sachant que j'ai ceci dans mon html :


<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8" />
<meta name="Description" content="Des mots avec des accents et/ou caractères spéciaux." />
<meta name="Keywords" lang="fr" content="matériel, négociation, gérance...." />

Merci

@bientôt
Bonjour,
Pour moi, dès le moment où tu mets la déclaration du jeu de caractères, c'est bon, pas besoin de s'embêter avec les entités correspondant aux caractères accentuées ...
pas si évident!
Peut-être que tant que l'<head> n'est pas fini les paramètres/config ne sont pas encore utilisables.... Smiley murf

En faite, je me suis posé cette question parce que j'ai analysé mes metatags sur ce site : http://www.webfr.org/index.html?page=metatag
et il a mal affiché mes caractères spéciaux.... Smiley decu

Est-ce que cela peut gêner les robots de référencements ?

@+ Smiley cligne
En principe ça ne devrait pas arriver, car le jeu de caractères est en théorie déjà fixé dans l'en-tête HTTP.
l'entete HTTP ?
Tu parles de celle-ci (mes 2 premières lignes en fait...) :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

J'aurais oublié un attribut utf-8 ?

@+ Smiley cligne
Bonjour,

Avant tout, un en-tête HTTP, ce n'est pas ce que tu cites dans ton message ci-dessus (tu cites le doctype et la balise html. Voir à ce sujet le tutoriel sur les dtd / http://css.alsacreations.com/Bases-et-indispensables/DTD-comment-choisir )

Lorsque le navigateur "demande" une page au serveur, ils échangent un certain nombre d'informations pendant la transmission de celle-ci. Ce sont les en-têtes HTTP, que l'utilisateur ne voit pas, mais que tu peux visualiser aisément à l'aide d'un outil du type Websniffer, ou des extensions de développement pour Opera ou Firefox, ou d'un proxy local, etc.

Lors de cet échange, le serveur envoie au navigateur l'indication de l'encodage du fichier HTML. C'est l'entête content-type. Même si cet encodage est indiqué par ailleurs dans le fichier (une balise meta http-equiv), c'est l'indication donné en en-tête HTTP par le serveur qui l'emporte. Voir http://blog-and-blues.org/weblog/2004/08/16/275-encodage-caracteres-xhtml

Ces informations d'encodage sont envoyées à tous les clients qui s'adressent au serveur, c'est à dire aussi aux robots d'indexation. Reste à savoir lesquels ont été prévus pour exploiter des encodages évolués, du type utf-8. Ce n'est manifestement pas le cas de http://www.webfr.org/index.html?page=metatag , qui n'exploite à vrai dire pas grand chose d'évolué, voire pas grand chose du tout, et qui n'est pas un service franchement performant. En revanche, Google sait très bien exploiter l'encodage utf-8, et il est inutile de ce point de vue d'utiliser les encodages en entités caractères à la place des caractères littéraux dans le document, que ce soit en <head> ou en <body>. La seule précaution éventuellement à prendre est :
- de s'assurer que l'en-tête content-type indique le bon encodage (voir Web-sniffer ci-dessus)
- de placer dès le début de <head> la balise <meta> indiquant l'encodage.
- et de s'assurer que le document utilise réellement l'encodage en question Smiley cligne