# Meta descriptions are between 120-160 characters

- **Pattern:** `ab-002497` (`seo-fundamentals.meta-tags.description-length`)
- **Severity:** info
- **Lifecycle:** active
- **Last modified:** 2026-04-18
- **Canonical URL:** https://auditbuffet.com/patterns/ab-002497
- **License:** CC-BY-4.0 — attribute to AuditBuffet Pattern Catalog (https://auditbuffet.com/patterns/ab-002497)

## Why it matters

The SERP description snippet is your only free 150-character ad copy above the fold for an organic listing. A 40-character description leaves empty space that Google may refill with scraped text you did not write; a 240-character description gets truncated mid-sentence, often on a comma or preposition, so the reader never sees the call to action. Both failure modes leak clicks to competitors whose descriptions fit the viewport cleanly.

## Severity rationale

Info because the description is still present and the page still indexes — the cost is measured in click-through rate, not visibility.

## Remediation

Write descriptions in the 120-160 character band. Fit a claim plus a differentiator plus a verb — not a list of keywords. Check the length programmatically in tests or in the CMS field.

```ts
// app/about/page.tsx — 128 characters
export const metadata = {
  description: 'Learn about our team, our mission to improve vibe-coded projects, and how AuditBuffet helps developers ship with confidence.',
}
```

For dynamic content, clamp the string in `generateMetadata` with `.slice(0, 157) + '...'` so CMS content cannot overrun the limit.

## Detection

- **ID:** `description-length`
- **Severity:** `info`
- **What to look for:** For pages where you can determine the description text (from static metadata exports), check the character length. Dynamic descriptions cannot be checked statically.
- **Pass criteria:** Count all statically determinable descriptions. For each description, measure its character length. All must be at least 120 characters and no more than 160 characters.
- **Fail criteria:** Any statically determinable description has fewer than 120 characters or more than 160 characters. For each failing description, report its exact character count and the page route.
- **Skip (N/A) when:** All descriptions are dynamically generated and cannot be evaluated statically. Also skip when the `meta-description` check result is `fail` or `skip` — there is no description to measure length on.
- **Detail on fail:** Name the pages and their description lengths. Example: `"Description on / is 45 chars (below 120 minimum), /about is 210 chars (exceeds 160 limit)"`
- **Remediation:** Search engines typically display 150-160 characters of a meta description. Descriptions shorter than 120 characters leave space unused. Descriptions longer than 160 characters get truncated. Aim for compelling descriptions in the 120-160 character range:

  ```ts
  // app/about/page.tsx — aim for 120-160 characters
  export const metadata = {
    description: 'Learn about our team, our mission to improve vibe-coded projects, and how AuditBuffet helps developers ship with confidence.',  // 128 chars
  }
  ```

---

Taxons: findability

HTML version: https://auditbuffet.com/patterns/ab-002497
