# Page title is very short

> A one- or two-word <title> wastes your strongest ranking signal. Write a descriptive 30–60 character title with real keywords.

_Category: Search visibility · Detector `seo` · Check `title-too-short` · Severity: warning_

A title like “Home” or “Blog” throws away your most valuable ranking real estate. It gives search engines almost no topical signal and gives searchers no reason to click. Short titles usually mean a route was labelled quickly and never revisited.

## Symptoms

- Titles are single words: “Home”, “Blog”, “App”
- Search snippets look bare and generic
- No target keywords appear in the title at all

## 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:** `Page title is very short`
- **Threshold:** non-default title under 10 characters

## Root causes

- A nav label was reused verbatim as the page title
- No keyword research informed the title
- The brand suffix was dropped, leaving only a bare word

## The fix

Expand the title to a descriptive 30–60 character phrase that includes the page’s primary keyword and the brand. Say what the page is about, not just what it is called in the nav.

### Steps

1. Identify the page’s primary keyword or intent
2. Write a 30–60 character title that includes it plus the brand
3. Confirm it is unique across your routes

_Before → after_

```html
<!-- too short -->
<title>Blog</title>

<!-- descriptive -->
<title>Engineering blog — scaling Postgres — Acme</title>
```

## Framework-specific fixes

### React

Render a fuller, keyword-led `<title>` (React 19).

```tsx
<title>Engineering blog — scaling Postgres — Acme</title>
```

### Next.js

Give the route a descriptive metadata title; use the layout template only for the brand suffix.

```tsx
export const metadata: Metadata = {
  title: 'Engineering blog — scaling Postgres',
}
```

### Svelte

Expand the `<svelte:head>` title into a descriptive phrase.

```svelte
<svelte:head>
  <title>Engineering blog — scaling Postgres — Acme</title>
</svelte:head>
```

## FAQ

### What is the minimum title length?

There is no hard rule, but under ~10 characters almost never carries enough signal. Aim for 30–60 characters that describe the page and include a keyword.

### Can the title just be the nav label?

Nav labels are short by design. Titles should be fuller — “Pricing” in the nav can be “Pricing & plans for teams — Acme” as the title.

## Related problems

- [Missing page title](https://vibecheck.wcgw.fun/fix/missing-page-title.md) — Search visibility
- [Page title is too long](https://vibecheck.wcgw.fun/fix/title-too-long.md) — Search visibility
- [Page title is a framework default](https://vibecheck.wcgw.fun/fix/placeholder-page-title.md) — Search visibility
- [Missing meta description](https://vibecheck.wcgw.fun/fix/missing-meta-description.md) — Search visibility

---

Fix guide from VibeCheck — https://vibecheck.wcgw.fun/fix/title-too-short. Full site index for LLMs: https://vibecheck.wcgw.fun/llms.txt
