# Missing og:description

> With no og:description, shared links show no supporting text under the title. Add one to make link previews compelling.

_Category: Search visibility · Detector `seo` · Check `og-description-missing` · Severity: info_

`og:description` is the supporting line under the headline on a share card. Without it, the card is just a title and image, or the platform guesses from page text. A tuned description makes the difference between a card that gets clicked and one that gets scrolled past.

## Symptoms

- Share cards show only a title and image, no supporting copy
- Platforms auto-fill descriptions with random page text
- No control over the sentence that supports the share headline

## How VibeCheck detects it

The `seo` detector flags this live in the browser and reports it to the widget's Problems list — and to your coding agent over MCP.

- **Issue string:** `Missing og:description`
- **Threshold:** no <meta property="og:description">

## Root causes

- `og:image` and `og:title` were set, but the description was left out
- The `<head>` is unmanaged, so no `og:*` tags are emitted
- Assumed `og:description` falls back to `<meta name="description">` — it does not, reliably

## The fix

Add `og:description` with a concise, benefit-led sentence (roughly under 110 characters for full display on most cards). It can mirror or improve on your meta description.

### Steps

1. Write a short supporting sentence for the card
2. Emit it as `<meta property="og:description">`
3. Preview the unfurl before publishing

```html
<meta property="og:description" content="Send branded invoices in a minute and get paid faster." />
```

## Framework-specific fixes

### React

Render the `og:description` meta tag (React 19).

```tsx
<meta property="og:description" content="Send branded invoices in a minute and get paid faster." />
```

### Next.js

Set `openGraph.description` in metadata.

```tsx
export const metadata: Metadata = {
  openGraph: { description: 'Send branded invoices in a minute and get paid faster.' },
}
```

### Vue

Add it to `useHead` with a `property` key.

```ts
useHead({ meta: [{ property: 'og:description', content: 'Send branded invoices in a minute.' }] })
```

### Svelte

Emit it inside `<svelte:head>`.

```svelte
<svelte:head>
  <meta property="og:description" content="Send branded invoices in a minute." />
</svelte:head>
```

### Vanilla JS

Add the `og:description` tag to each page’s `<head>`. Keep it in sync with your meta description, but write it for the card, not the search result.

```html
<meta property="og:description" content="Send branded invoices in a minute and get paid faster." />
```

## FAQ

### Does `og:description` reuse my meta description?

Some platforms fall back to it, but not reliably. Set `og:description` explicitly so the card copy is always intentional.

### How long should `og:description` be?

Keep it under ~110 characters so it displays in full on most cards; longer text gets truncated.

### Should `og:description` differ from my meta description?

It can. The meta description is written to earn a click in a search result; `og:description` supports a share headline that already has an image and a title. Reuse the meta description if it fits, but tightening it for the card usually reads better.

### The description does not update when I re-share — why?

Platforms cache unfurls. Force a re-scrape with the platform’s share debugger (for example the Facebook Sharing Debugger) after you change the tag.

## Related problems

- [Missing og:title](https://vibecheck.wcgw.fun/fix/missing-og-title.md) — Search visibility
- [Missing social preview image (og:image)](https://vibecheck.wcgw.fun/fix/missing-og-image.md) — Search visibility
- [Missing meta description](https://vibecheck.wcgw.fun/fix/missing-meta-description.md) — Search visibility
- [Missing Twitter/X card](https://vibecheck.wcgw.fun/fix/missing-twitter-card.md) — Search visibility

---

Fix guide from VibeCheck — https://vibecheck.wcgw.fun/fix/missing-og-description. Full site index for LLMs: https://vibecheck.wcgw.fun/llms.txt
