Check Engine / Checks / Reference

Does your page declare language and viewport?

It checks for a language value and a mobile viewport declaration.

What Check Engine measures

The check builds separate lists of indexable pages with no saved language and with no saved viewport. A missing language produces a low-severity finding, while a missing viewport produces a high-severity finding. There is no sample-size or percentage cutoff in this test. A nonempty value passes the presence test even though its accuracy must be reviewed elsewhere.

The check reads language and viewport declarations on pages intended for search. A separate test compares the declared and detected languages. You need a browser to review the narrow-screen layout.

How to read the result

Results identify absence rather than validating every possible value. A viewport declaration can exist while the layout still has mobile problems, and a language attribute can exist while naming the wrong language.

Why it matters

Language and viewport declarations give readers' software basic information about the document. Presence is a useful first check, but the page still needs a real language review and a layout check in the environments it serves.

How to fix it

Set the document language to the page's actual main language. Add a suitable viewport declaration through the shared head template. Review the existing values before inserting duplicates. Test representative pages at a narrow viewport and read the language markup after the change rather than treating the presence check as a full mobile audit.

Mobile SEO: what a crawl can and cannot check

What we found in field audits

Problems in On-page SEO were found on 14 of the 14 sites we audited. These are area totals. Read the field-audit method.

Method note

backend/seo_engine/checks/onpage.py, lang_and_viewport, revision 0bb8e8d3.

Common questions

Is a missing viewport treated more seriously than a missing language value?

Yes. A missing viewport gets a high-severity finding. Missing language has a low result in this presence check.

Does a nonempty language declaration prove it names the right language?

No. Presence of a nonempty value clears this test. Text-language clues are compared by another check.

Can viewport markup be present while mobile layout is still broken?

Yes. A viewport declaration can exist despite mobile problems. Review the narrow-screen layout in a browser.