Quick answer
Declare the document’s character encoding, normally UTF-8, in the HTML head. NOTABIS reports charset-missing when it finds neither a meta[charset] declaration nor an http-equiv="content-type" meta declaration in the measured HTML. The check confirms markup presence; it does not prove that the server bytes and declaration agree.
What the issue means
A compact HTML declaration is:
<meta charset="UTF-8">
The encoding tells a browser how to decode bytes into characters. If the declaration is missing or inconsistent with the response, punctuation, accents, and non-Latin text can display incorrectly. HTTP Content-Type headers can also declare a charset and should be checked alongside the HTML.
Why it matters for SEO
Correct decoding protects the visible content that users and search systems read. A missing declaration is usually a low-priority technical hygiene issue, not a ranking penalty; the more serious risk is garbled content, broken metadata, or unusable pages in some clients.
How NOTABIS detects it
The charset-missing rule counts meta[charset] and meta[http-equiv="content-type"] elements in the measured HTML. It records a page-level issue only when the combined count is zero. It does not validate the attribute value, response header, byte-order mark, declaration order, or actual decoded bytes.
How to check it yourself
Inspect View Source and response headers:
curl -sS -D - https://example.com/page -o page.html
Confirm the HTML declaration appears early in the head and that the server’s Content-Type uses the same encoding. Open pages containing accented, emoji, or non-Latin text in more than one browser.
How to fix it
Add <meta charset="UTF-8"> near the start of every HTML document head and configure the server to send Content-Type: text/html; charset=UTF-8. Ensure templates, database connections, and file writes use UTF-8 as well. Remove conflicting declarations and recheck generated pages after deployment.
When this is intentional or does not need fixing
An API, image, stylesheet, redirect, or other non-HTML response does not use an HTML meta declaration. A legacy document may intentionally use another encoding, but the server header, bytes, and markup must agree. Do not change encoding blindly when a downstream integration depends on a legacy format.
Related issues
Review missing title tags, missing meta descriptions, and HTTP error responses when checking the complete document head and response.
Run a NOTABIS audit
NOTABIS records whether a measured HTML page declares a character set, so you can compare the markup with the response header and actual text rendering.