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:
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-Typecom uma diretivacharsetque 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