InsightsTechnical SEO

Meta descriptions: what they actually do and how to write one

A meta description has no direct ranking impact, but it's the snippet under your search result — and that snippet decides whether someone clicks. Here's what makes a good one, how generated apps break them, and the one test that catches every problem.

Aug 8, 2026 · 5 min read

The short version

A meta description is the snippet under your search result. Google doesn't use it for ranking, but it's what a searcher reads before deciding whether to click — and click-through rate does affect ranking indirectly. A good one is specific, truthful, and under 160 characters. A generated app typically ships with the same description on every page, or none at all.

What it looks like

html
<meta name="description" content="Track shared bills, settle up in a tap, no signup required for guests. Free for groups under 5.">

The three rules

  • Every indexable page has its own. The homepage, pricing, docs, blog — each page serves a different intent, so each needs a description that matches what's on that specific page. Copying one description everywhere is the most common generated-app mistake.
  • Under 160 characters (including spaces). Longer than that and Google truncates it with an ellipsis, usually mid-sentence. The truncation point is by pixel width, not character count, so 155 is a safer target.
  • It matches what's on the page. Google rewrites meta descriptions it considers inaccurate or unhelpful. If your description promises a free trial and the page doesn't offer one, Google will pull a snippet from the body text instead — and you lose control of the message.

How generated apps get it wrong

MistakeResultFix
No meta descriptionGoogle pulls a random snippet from the page — often the nav bar or a footer linkWrite one per page, in the server-rendered HTML
Same description on every routeEvery search result shows the same snippet regardless of query intentGive each route its own description
Injected by JavaScript, absent from raw HTMLGoogle's first pass sees no description; fallback to body textServe it in the server response, not the client render
Too long (200+ chars)Truncated mid-sentence with "…" — the cut often removes the call to actionKeep it under 155 characters
Keyword-stuffed with no meaningReads as spam; Google ignores it or rewrites it from the bodyWrite a real sentence a human would click

How to write one

The meta description is a promise: it tells the searcher what they'll find if they click. A useful template: [What the page does] + [who it's for] + [what happens next].

  • Homepage: "Actuant audits your deployed app against 52 launch-readiness checks, scores it 0–100, and shows exactly what to fix before you share it."
  • Pricing page: "Four plans from free to $299/mo. Every plan includes the full audit; paid plans add continuous monitoring and AI-generated fixes."
  • Feature page: "Connect your GitHub repo, run an audit, and Actuant opens the fixes as a pull request you review — nothing merges without you."

The one test that catches everything

  1. 1

    View Page Source (Cmd+U)

    Search for name="description". If it's absent from the raw HTML, no crawler sees it — even if the rendered page has one.

  2. 2

    Check it's unique per route

    Open two different pages, view source on each, and confirm the descriptions are different. If they're the same, duplicate descriptions are being served.

  3. 3

    Paste it into a character counter

    Make sure it's under 155 characters. If it's longer, cut the weakest sentence — don't abbreviate words.

Actuant checks every page it crawls: is a meta description present in the raw HTML, is it the right length, and is it unique across all crawled pages.