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

Os servidores e navegadores se comunicam enviando bytes de dados pela Internet. Se o servidor não especificar em qual formato de codificação de caracteres deve ser usando quando envia um arquivo HTML, o navegador não saberá qual caractere cada byte representa. a declaração de codificação de caracteres; específica resolve esse problema.

Como a auditoria charset do Lighthouse é reprovada

Farol sinaliza páginas que não especificam sua codificação de caracteres:

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

O Lighthouse considera que a codificação de caracteres deve ser declarada se encontrar uma das seguintes opções:

  • Um elemento <meta charset> na <head> do documento que está completamente nos primeiros 1.024 bytes do documento
  • Um cabeçalho de resposta HTTP Content-Type com uma diretiva charset que corresponde a nome IANA válido
  • Uma marca de ordem de byte (BOM, na sigla em inglês)
.

Como passar na auditoria de charset

Adicionar um elemento <meta charset> ao HTML

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

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

Adicionar um cabeçalho de resposta HTTP Content-Type

Configurar o servidor para adicionar um Content-Type Cabeçalho de resposta HTTP que inclui uma diretiva charset.

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

Recursos