La déclaration du jeu de caractères est manquante ou apparaît trop tard dans le code HTML.

Les serveurs et les navigateurs communiquent entre eux en envoyant des octets de données sur Internet. Si le serveur ne spécifie pas le format d'encodage des caractères qu'il utilise lorsqu'il envoie un fichier HTML, le navigateur ne saura pas quel caractère représente chaque octet. La spécification de déclaration d'encodage des caractères permet de résoudre ce problème.

Échec de l'audit charset de Lighthouse

Lighthouse signale les pages qui ne spécifient pas leur encodage de caractères:

L'audit d'échec de l'encodage des caractères

Lighthouse considère l'encodage des caractères comme étant déclaré s'il trouve l'un des éléments suivants:

  • Un élément <meta charset> dans le <head> du document qui est entièrement contenu dans les 1 024 premiers octets du document
  • Un en-tête de réponse HTTP Content-Type avec une directive charset correspondant à un nom IANA valide
  • Un indicateur d'ordre des octets (BOM)

Comment réussir l'audit charset

Ajouter un élément <meta charset> à votre code HTML

Ajoutez un élément <meta charset> dans les 1 024 premiers octets de votre document HTML. L'élément doit être entièrement inclus dans les 1 024 premiers octets. Il est recommandé de faire de l'élément <meta charset> le premier élément du <head> de votre document.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    …

Ajoutez un en-tête de réponse HTTP Content-Type.

Configurez votre serveur pour ajouter un en-tête de réponse HTTP Content-Type incluant une directive charset.

Content-Type: text/html; charset=UTF-8

Ressources