A declaração de charset está ausente ou ocorre tarde demais no HTML

Servidores e navegadores se comunicam enviando bytes de dados pela Internet. Se o servidor não especificar qual formato de codificação de caracteres está usando ao enviar um arquivo HTML, o navegador não saberá qual caractere cada byte representa. A especificação de declaração de codificação de caracteres resolve esse problema.

Como a auditoria charset do Lighthouse falha

O Lighthouse sinaliza páginas que não especificam a codificação de caracteres:

A auditoria de codificação de caracteres com falha.

O Lighthouse considera a codificação de caracteres declarada se encontrar um destes:

  • Um elemento <meta charset> no <head> do documento que está totalmente contido nos primeiros 1024 bytes do documento
  • Um cabeçalho de resposta HTTP Content-Type com uma diretiva charset que corresponde a um nome IANA válido
  • Uma marca de ordem de byte (BOM)

Como passar na auditoria charset

Adicionar um elemento <meta charset> ao HTML

Adicione um elemento <meta charset> nos primeiros 1024 bytes do documento HTML. O elemento precisa estar totalmente contido nos primeiros 1024 bytes. A prática recomendada é tornar o <meta charset> elemento o primeiro elemento no <head> do documento.

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

Adicionar um cabeçalho de resposta HTTP Content-Type

Configure o servidor para adicionar um Content-Type cabeçalho de resposta HTTP que inclua uma diretiva charset.

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

Recursos