Quelle est la différence entre les deux balises méta HTML suivantes pour spécifier le contenu d'une page Web en espagnol:
<meta name="language" content="Spanish">
et
<meta http-equiv="content-language" content="es">
<meta name="language" content="Spanish">
Ceci n'est défini dans aucune spécification (y compris le brouillon HTML5 )
<meta http-equiv="content-language" content="es">
Ceci est une version pauvre d'un vrai en-tête HTTP et devrait vraiment être exprimée dans les en-têtes. Par exemple:
Content-language: es
Content-type: text/html;charset=UTF-8
Il est indiqué que le document est destiné aux locuteurs de langue espagnole (cela ne signifie toutefois pas qu'il est écrit en espagnol; il pourrait, par exemple, être rédigé en anglais dans le cadre d'un cours de langue pour les locuteurs espagnols).
Le champ d'en-tête d'entité Content-Language décrit le ou les langages naturels du public visé pour l'entité incluse. Notez que cela peut ne pas être équivalent à toutes les langues utilisées dans le corps d'entité.
Si vous souhaitez indiquer qu'un document est écrit en espagnol, utilisez:
<html lang="es">
Vous avez demandé des différences, mais vous ne pouvez pas vraiment comparer les deux.
Notez que <meta http-equiv="content-language" content="es">
est obsolète et a été supprimé en HTML5. Il était utilisé pour spécifier “une langue par défaut pour l'ensemble du document”, avec son http-equiv
attribut en faisant une directive pragma (qui simule un en-tête de réponse HTTP comme Content-Language
qui n’a pas été envoyé par le serveur car il ne peut pas en remplacer un réel).
En ce qui concerne <meta name="language" content="Spanish">
, vous ne trouvez pratiquement aucune information fiable. Il est non standard et a probablement été inventé comme un SEO improvisé .
Toutefois, le recommandation HTML5 du W3C encourage les auteurs à utiliser l'attribut lang
sur html
éléments racine (les valeurs d'attribut doivent être valides Balises de langue BCP 47 ):
<!DOCTYPE html>
<html lang="es-ES">
<head>
…
Quoi qu'il en soit, si vous souhaitez spécifier la langue du contenu pour l'instruction des robots des moteurs de recherche, vous devez envisager cette citation de Aide de la console de recherche Google sur les sites multilingues :
Google utilise uniquement le contenu visible de votre page pour déterminer sa langue. Nous n’utilisons aucune information de langage au niveau du code telle que les attributs
lang
.
Google recommande d'utiliser hreflang, lisez plus d'informations
Exemples:
<link rel="alternate" href="http://example.com/en-ie" hreflang="en-ie" />
<link rel="alternate" href="http://example.com/en-ca" hreflang="en-ca" />
<link rel="alternate" href="http://example.com/en-au" hreflang="en-au" />
<link rel="alternate" href="http://example.com/en" hreflang="en" />
Html5 recommande également d’utiliser <html lang="es-ES">
La petite lettre lang tag spécifie uniquement: le code de langue La grande lettre spécifie: le code de pays
Ceci est vraiment utile pour ie.Chrome, lorsque le navigateur propose de traduire le contenu Web (par exemple, Google Translate).