Skip to main content
Beta: Front-End Checklist is currently in beta. Some issues are still being fixed. Thanks for your patience.
SEOHigh

Write a descriptive page title

Validates page title presence and length

Utilities
Quick take
Typical fix time 10 min
  • Every page must have a unique <title> tag inside <head>
  • Target 50–60 characters to avoid truncation in SERPs
  • Put the primary keyword near the beginning of the title
  • Avoid duplicate titles across pages
Why it matters: The <title> tag is the most prominent element in search result listings and browser tabs—it directly influences click-through rates and is a confirmed Google ranking signal.

Rule Details

The <title> tag is the single most important on-page SEO element. It appears in browser tabs, bookmarks, and as the headline in search result listings.

Code Examples

<!-- ✅ Good: Descriptive, ~55 chars, keyword-first -->
<head>
  <title>Sourdough Bread Recipe — Step-by-Step Guide | BakeCo</title>
</head>
<!-- ❌ Bad: Too short and non-descriptive -->
<head>
  <title>Page</title>
</head>
 
<!-- ❌ Bad: Keyword-stuffed -->
<head>
  <title>Bread Bread Recipes Bread Baking Best Bread</title>
</head>

Why It Matters

The <title> tag is the most prominent element in search result listings and browser tabs—it directly influences click-through rates and is a confirmed Google ranking signal.

Character Length Guidelines

LengthResult
< 10 charactersToo short — not descriptive
10–60 charactersIdeal — displays fully in SERPs
61–70 charactersMay be truncated
> 70 charactersTruncated in most search results

Note: Google measures in pixels (~600px max), so exact character count varies with the characters used.

Title Patterns by Page Type

Page TypePatternExample
HomepageBrand name + taglineBakeCo – Artisan Bread Recipes
Blog postTopic + Brand`How to Score Sourdough
Product pageProduct name + key attributeCast Iron Dutch Oven 5.5 Qt – BakeCo
CategoryCategory name + Brand`Sourdough Recipes

Next.js Implementation

// app/blog/[slug]/page.tsx
import { Metadata } from 'next'
 
export async function generateMetadata({ params }): Promise<Metadata> {
  const post = await getPost(params.slug)
  return {
    title: `${post.title} | BakeCo`,
  }
}
// app/layout.tsx — default title template
export const metadata: Metadata = {
  title: {
    template: '%s | BakeCo',
    default: 'BakeCo – Artisan Bread Recipes',
  },
}

Common Mistakes

<!-- ❌ Bad: Missing title entirely -->
<head>
  <meta charset="UTF-8" />
  <!-- no <title> -->
</head>
 
<!-- ✅ Good: Unique title per page -->
<head>
  <title>Sourdough Starter Guide | BakeCo</title>
</head>
 
<!-- ❌ Bad: Same title on every page -->
<head>
  <title>BakeCo</title>  <!-- used on every page -->
</head>

Exceptions

  • Utility or intentionally noindex pages may keep minimal metadata when richer search presentation is not a goal.
  • Template-driven pages can look repetitive in isolation; confirm the fully rendered production output before flagging duplication or omission.
  • If a page is intentionally redirected or excluded from indexation, resolve that crawlability decision before treating metadata polish as the primary issue.

Verification

Automated Checks

  • View page source and search for <title>
  • Check SERP preview with a tool like SERP Simulator (opens in new tab)
  • Use Google Search Console → Coverage → check for duplicate title warnings

Manual Checks

  • Verify character count (aim for 50–60)

Use with AI

Copy these prompts to use with your AI assistant, or install the MCP server to use directly from Claude, Cursor, or Windsurf.

Check

Verify implementation

Check the &lt;head&gt; section for a &lt;title&gt; tag. Verify it is unique (not duplicated on other pages), between 10 and 60 characters, and contains the page's primary keyword.

Fix

Auto-fix issues

Add or update the &lt;title&gt; tag in &lt;head&gt;. Write a descriptive title of 50–60 characters that includes the primary keyword near the start and is unique across the site. Do not stuff keywords.

Explain

Learn more

The &lt;title&gt; tag appears as the clickable headline in search results and browser tabs. It is a primary on-page SEO factor—Google uses it to understand what the page is about and displays it to users deciding whether to click.

Review

Code review

Check the &lt;head&gt; for a &lt;title&gt; element. Verify: (1) exactly one &lt;title&gt; tag exists, (2) text content is between 10 and 60 characters, (3) the title is not identical to other pages' titles, (4) the primary keyword appears in the first half of the title, (5) the title is not empty or contains only a brand name.

Sources

References used to support the guidance in this rule.

Further Reading

Tools and supplementary material for exploring the topic in more depth.

Google Search Console
search.google.comGuide

Rules that often go hand-in-hand with this one.

Keep page titles unique

Checks that the <title> tag is unique across all pages of the site to avoid duplicate title SEO issues.

SEO
Write a meta description for each page

Validates meta description presence and length

SEO
Use a single descriptive H1

Validates that each page has exactly one H1 tag containing a descriptive, keyword-relevant heading

SEO

Was this rule helpful?

Your feedback helps improve rule quality. This stays internal for now.

Loading feedback...
0 / 385