SEO-02

Meta description missing or wrong length

WarningStructure

What the check measures

On every live page the length of <meta name="description"> is measured. The finding is raised when the element is missing, empty, or the length falls outside 50 to 160 characters. The bounds live in config/seo.json under seo.SEO-02 (min_length: 50, max_length: 160) and are marked as PROPOSAL. That is our proposal, not a number from Google.

How it differs from STR-03, which it overlaps with: STR-03 in the core set reports only a missing description (plus duplicate titles) and looks at it through an AI-readability lens. SEO-02 also judges length and is classic SEO. A page with no description therefore gets both findings; each says something different.

What the check does not do: it does not judge the content of the description, does not report duplicates (that is SEO-03), and does not check that the description matches the page.

The finding is page-level; severity is warning.

How strong the evidence is

Effect not demonstrated

We recommend it because it does no harm or has some other benefit, but we promise nothing about whether it makes language models cite you. Nobody has demonstrated that yet.

For visibility in AI answers we have no documented effect. And for classic search it is weaker than commonly claimed. Google says so in its own documentation:

Snippets are primarily created from the page content itself. However, Google sometimes uses the meta description HTML element if it might give users a more accurate description of the page than content taken directly from the page.Google Search Central, how to write meta descriptions

So: the description is not what gets shown in the result. It is an offer Google takes up when it suits the query. Google nowhere lists it as a ranking factor; we do not claim the opposite either, since we could not document that.

The number 160 does not come from Google. It is an observation of how much typically fits in a result before truncation, and the width of a result varies by device and by query. Our configuration marks it as a proposal pending revision.

The practical conclusion: add descriptions where the click matters to you, and skip them where it does not. It is work that changes how many people click your result, not whether you appear in results at all.

How to fix it

A description is written by a person for a person deciding whether to click. Two sentences, a concrete detail, no keyword lists:

<meta name="description" content="Heat pump servicing and scheduled inspections within 48 hours across the region. Engineer on site the next day, from £90.">
  • On a large site, generate descriptions from the template (from the short description for a product, from the standfirst for an article) and save hand-writing for the pages that matter commercially.
  • Do not paste in the first paragraph. Google will often replace such a description with its own snippet anyway, and you gain nothing.
  • An empty element is the same as none. content="" will not clear the finding, and nor should it.
  • Do not use one description across the whole site. A duplicate description is worse than none: Google will take text from the page anyway, it just forms a worse impression of the site.

What the report says about it

Finding description

The page has a meta description [length] characters long; the recommended range is [min]–[max] characters. That range is ours, derived from how many characters Google typically shows in a snippet. There is no prescribed meta description length, and Google often rewrites the description to match the query anyway. It is a classic-SEO convention, and we have no evidence it affects visibility in AI assistant answers.

Recommendation

Add or adjust `<meta name="description">` so it summarizes the page and encourages clicks, within the recommended character range.

Sources

Text verified 2026-09-12