---
title: "Missing meta description - Serpwise"
description: "Google may use a meta description when it explains a page better than visible content. Write a concise, specific summary for people, not an algorithm."
url: "https://serpwise.ai/learn/missing-meta-description/"
source: "https://serpwise.ai/learn/missing-meta-description/"
---
[← Back to Learn](/learn/)

Page Metadata Info

# Missing meta description

Google may use a meta description when it explains a page better than visible content. Write a concise, specific summary for people, not an algorithm.

`<meta name="description">` is not a direct ranking signal. It is one source Google may use to create the descriptive snippet under a title link, so it can shape how people understand the result before clicking.

Google often generates a query-specific snippet from visible page content. It may use the meta description when that description explains the page more accurately. Write it as a useful summary, not as guaranteed display text.

## How to detect it

```
curl -s https://example.com/some/page \
  | grep -oE '<meta[^>]*name="description"[^>]*>'
```

Empty output, an empty `content=""`, or a placeholder like “Acme is a software company” means there’s nothing useful for Google to display.

Use Search Console performance data to identify important queries and pages, then inspect representative live results. A different snippet is normal because Google can select visible page text that better matches the query.

## What a good description looks like

- **Length**: concise enough to communicate the page before a result layout shortens it. There is no fixed display limit.
- **Uses the language people use for the topic**, naturally and without repetition.
- **Implies a benefit or differentiator** - what does the visitor get by clicking?
- **Reads as a complete description**, without relying on decorative separators.
- **Stable across crawls** - don’t include prices, dates, or counts that change.

Examples:

- Bad: `Acme - the best project management software. Try our 14-day free trial today!` (marketing voice, no specificity)
- Good: `Project management built for engineering teams: GitHub-native PRs, Slack-aware standups, no Jira-style configuration. 14-day trial, no credit card.` (specific, differentiator visible)

## The fix

### Universal HTML

```
<head>
	<meta
		name="description"
		content="Project management for engineering teams: GitHub-native PRs, Slack-aware standups, no Jira-style config. 14-day trial."
	/>
</head>
```

One per page, inside `<head>`. Multiple `meta description` tags are picked unpredictably; keep it to one.

### WordPress (Yoast / Rank Math)

Both plugins show a character counter and a real SERP preview as you write. Use them per post; don’t rely on auto-generated fallbacks for important pages.

To set a sitewide template (used when per-post description is empty):

- **Yoast** → Search Appearance → Content types → Description
- **Rank Math** → Titles & Meta → Posts → Description format

For category pages, set a per-category description in the taxonomy editor - auto-generated category descriptions are almost always bad.

### Shopify

Set per-page in Online Store → Pages → SEO → Meta description. For products, the field is on the product page under “Search engine listing.” If you leave it blank, Shopify falls back to the first ~160 characters of the product description, which is rarely written for SERP intent.

### Next.js (App Router)

Set via metadata API:

```
// app/blog/[slug]/page.tsx
export async function generateMetadata({
	params,
}: {
	params: { slug: string };
}): Promise<Metadata> {
	const post = await getPost(params.slug);
	return {
		description: post.excerpt, // a writer-curated excerpt, not a auto-truncated body
	};
}
```

If you fall back to a body-text excerpt, generate it from a writer-edited “excerpt” or “summary” field - auto-truncating the first paragraph rarely yields a description that reads well.

## Pitfalls

**Don’t auto-generate descriptions from the first paragraph.** First paragraphs almost always start with context, not the value prop. Write the description separately.

**Don’t keyword-stuff.** Google has been rewriting stuffed descriptions for over a decade. “Project management software, project management tool, project planning software, project tracker” is worse than one good sentence.

**Don’t write the same description for every page.** Sitewide fallback descriptions hurt CTR sitewide. If the page is important enough to be indexed, it’s important enough for its own description.

**Don’t include the current date or year.** A description that says “2024” looks stale in 2026. Either omit the year or rotate it via the template on schedule.

**Don’t worry about long-form perfection on low-traffic pages.** Spend description-writing time on the URLs that drive most of the impressions. The long tail will be rewritten by Google anyway.

## Fix at the edge with Serpwise

When descriptions are missing across an entire section - a hosted blog, a third-party catalog, a legacy CMS - writing 5,000 of them by hand isn’t realistic.

Serpwise can generate descriptions at the edge using on-page signals (the first writer-curated paragraph, the JSON-LD `description` field, the meta-OG description) and inject them where the source template emits nothing. The generated descriptions get audited in one dashboard. Pages with strong CTR get a writer-edited override; the long tail stays auto-generated.

[See pricing](/pricing) or run a [free AI visibility audit](/audit).

From diagnosis to deployment

## Find the issue. Ship the fix.

Use Learn to understand the problem, then run Serpwise against your own site to see what can be approved and deployed.

[Run free audit](/audit/) [Book a demo](/demo/)