Missing charset: declare your character encoding
With no charset declared, browsers and crawlers must guess the encoding — garbling non-ASCII text in your snippets and index. Find pages missing a charset free and add the one-line fix.
What it means
The page declares no character encoding — there is no <meta charset> tag in the HTML and no charset parameter in the Content-Type response header. Without an explicit declaration, browsers and search-engine parsers must guess the encoding from byte patterns.
Why it matters
The HTML5 spec requires a charset declaration; its absence is a spec violation. For ASCII-only English pages the risk is low because UTF-8 and ASCII overlap for the first 128 code points. But for any page with non-Latin content — Cyrillic, Arabic, CJK, or accented Latin — a wrong guess replaces characters with garbled symbols in the rendered page, in Google's snippets, and potentially in the indexed text. Garbled titles and descriptions produce broken SERP snippets and lower click-through.
How to fix it
- Add
<meta charset="utf-8">as the first element inside<head>, before any other content. - Keep it within the first 1,024 bytes of the document so the parser can determine encoding before processing content.
- Use UTF-8 for all new pages; if serving legacy content in another encoding, declare that encoding accurately and plan a migration.
- Even if the server sets
Content-Type: text/html; charset=utf-8, retain the meta tag as a defense for saved or cached HTML.
When it's not a problem
ASCII-only pages face minimal risk because UTF-8 and ASCII are identical for the first 128 characters, and a charset in the response Content-Type header already satisfies the browser (this check accounts for that and does not fire when the header declares one). The declaration is still worth adding because the fix is trivial and makes encoding explicit across environments.
How common is it?
70 audited sites in our corpus currently show this issue. The breakdowns below show which platforms, gatekeepers, verticals and countries are most exposed.
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.