---
title: "Page without metadata (next/missing-metadata)"
description: "No metadata on the page or any layout above it: the page ships without a <title> or description, which hurts search ranking and link previews."
url: http://localhost:4173/rules/next/missing-metadata
updated: 2026-11-11
---

# Page without metadata

> `next/missing-metadata` is a vetd rule. It flags: Page without metadata. It runs on every `check`, together with the TypeScript check.

| Fact | Value |
| --- | --- |
| Rule id | `next/missing-metadata` |
| Severity | warning |
| Group | SEO, accessibility and security |
| Tags | seo, nextjs-16 |

## Why it matters

No metadata on the page or any layout above it: the page ships without a <title> or description, which hurts search ranking and link previews.

## How to fix it

Export `metadata` (or `generateMetadata`) from the page, or a title template from a layout.

## Credit

Based on work by:

- [Google Search Central](https://developers.google.com/search): Documents that page titles and descriptions drive how pages appear in search results.
- [Next.js team](https://nextjs.org): Provides the metadata and generateMetadata exports for titles and descriptions in the App Router.

## References

- [Metadata and OG images](https://nextjs.org/docs/app/getting-started/metadata-and-og-images), Next.js
- [generateMetadata](https://nextjs.org/docs/app/api-reference/functions/generate-metadata), Next.js
- [Influencing Title Links in Google Search](https://developers.google.com/search/docs/appearance/title-link), Google Search Central
- [How to Write Meta Descriptions](https://developers.google.com/search/docs/appearance/snippet), Google Search Central

## See it

Demos in the vetd Lab:

- [Write titles that fit the SERP](http://localhost:4173/lab/web-standards/title-tag-length)
- [Write a meta description](http://localhost:4173/lab/web-standards/meta-description)

## Related rules

- [`next/no-head-in-app`](http://localhost:4173/rules/next/no-head-in-app.md)

## Get this text from vetd

MCP: call `explain` with `{ "diagnosticId": "next/missing-metadata" }`. CLI: `npx vetd explain next/missing-metadata`.

---

[All 92 rules](http://localhost:4173/rules.md) · Previous: [`next/effect-cleanup`](http://localhost:4173/rules/next/effect-cleanup.md) · Next: [`next/img-alt`](http://localhost:4173/rules/next/img-alt.md)
