agentic‑readiness docs
/
Scan at scale Blog Build one › Run a scan ›

Scan at scalePages with missing or invalid language/encoding declarations

Pages with missing or invalid language/encoding declarations

A per-URL report: one row per page that matches, over the pages a crawl reached.

What this report returns

The lang attribute and character encoding are how agents know what language a page is in and how to decode its bytes; get them wrong and text is mis-detected or garbled.

These pages are missing a declaration or declare it wrongly: no or invalid BCP 47 lang, no charset, a non-UTF-8 charset, or a charset declared after the 1024-byte window parsers pre-scan.

The Conformance Issue Detected column is true only for the two encoding rules HTML states as musts, a missing character-encoding declaration and a meta charset outside the first 1024 bytes; a missing lang attribute and a non-UTF-8 encoding are strongly encouraged rather than required, and an invalid BCP 47 tag is Lumar's readiness profile, so those rows are usability problems without a spec violation.

How to fix it. Declare <html lang="en"> (a valid BCP 47 tag) and serve Content-Type: text/html; charset=utf-8, or put <meta charset="utf-8"> first in the head; the flagged columns name each page's specific problem.

The columns it shows

Every defect this technology can carry is a column in the grid, worst first, so nothing is hidden behind a filter you have to know to apply.

  • Language & Encoding ValidlangEncodingValid
  • Language & Encoding Conformance Issue DetectedlangEncodingConformanceIssueDetected
  • Language & Encoding FindingslangEncodingFindings
  • Lang Declared ValuelangDeclaredValue
  • Charset Declared ValuecharsetDeclaredValue
  • Charset Declaration SourcecharsetDeclarationSource
  • Charset Meta Byte OffsetcharsetMetaByteOffset
  • Charset MissingcharsetMissing
  • Lang MissinglangMissing
  • Lang Invalid BCP 47langInvalidBcp47
  • Charset Non-UTF-8charsetNonUtf8
  • Charset LatecharsetLate

About Language and encoding

Declared language and charset, so text is interpreted correctly.

Read how Language and encoding is checked, including the specification it is validated against and a worked correct and broken example.

Running it

This report ships in the Lumar agent-readiness container and appears on any project it is linked to, on every crawl. See the whole set, or check a single URL with the scanner on this site, which runs the same code with no account.

Get Lumar pricing