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 chaque octet représente. La spécification de la déclaration d'encodage des caractères résout ce problème.

Échec de l'audit charset de Lighthouse

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

Audit de l'encodage des caractères ayant échoué.

Lighthouse considère que l'encodage des caractères est 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 qui correspond à un nom IANA valide
  • Un indicateur d'ordre des octets (BOM)

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 contenu dans les 1 024 premiers octets. La bonne pratique consiste à 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">
    …

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

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

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

Ressources