De tekensetdeclaratie ontbreekt of komt te laat in de HTML voor

Servers en browsers communiceren met elkaar door bytes aan data via internet te versturen. Als de server niet specificeert welke tekenencodering hij gebruikt bij het verzenden van een HTML-bestand, weet de browser niet welk teken elke byte vertegenwoordigt. De specificatie voor tekenencodering lost dit probleem op.

Waarom de Lighthouse charset mislukt

Lighthouse markeert pagina's die hun tekenkodering niet specificeren:

De mislukte controle van de tekenencodering.

Lighthouse beschouwt de tekenencodering als correct gedeclareerd als een van de volgende kenmerken wordt aangetroffen:

  • Een <meta charset> -element in de <head> van het document dat volledig is opgenomen in de eerste 1024 bytes van het document.
  • Een Content-Type HTTP-antwoordheader met een charset richtlijn die overeenkomt met een geldige IANA-naam.
  • Een bytevolgordemarkering (BOM)

Hoe slaag ik voor de charset audit?

Voeg een <meta charset> -element toe aan je HTML.

Voeg een <meta charset> -element toe binnen de eerste 1024 bytes van uw HTML-document. Het element moet volledig binnen deze eerste 1024 bytes passen. Het is aan te raden om het <meta charset> -element als eerste element in de <head> van uw document te plaatsen.

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

Voeg een Content-Type HTTP-antwoordheader toe

Configureer uw server zodanig dat deze een Content-Type HTTP-antwoordheader toevoegt met een charset richtlijn.

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

Bronnen