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

Os servidores e navegadores se comunicam entre si enviando bytes de dados pela Internet. Se o servidor não especificar o formato de codificação de caracteres usado 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 de 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 como declarada se encontrar um dos seguintes itens:

  • Um elemento <meta charset> no <head> do documento que está completamente contido nos primeiros 1.024 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 bytes (BOM, na sigla em inglês)

Como ser aprovado na auditoria de charset.

Adicionar um elemento <meta charset> ao HTML

Adicione um elemento <meta charset> nos primeiros 1.024 bytes do documento HTML. O elemento precisa estar totalmente contido nos primeiros 1.024 bytes. A prática recomendada é fazer do elemento <meta charset> o primeiro elemento na <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 cabeçalho de resposta HTTP Content-Type que inclua uma diretiva charset.

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

Recursos