SEO

seo/title-unique

Each page has its own descriptive title, page topic first and site name last, in the page's language.

minormanualfe-seo-metadata

Why

The title is the clickable line in search results, the browser tab name and the first thing a screen reader says. "Home · Acme" on every page, or one generic title from the root layout, makes results and tabs indistinguishable.

Fix

Set the title per route through the framework (Next.js metadata.title with a template in the root layout, Nuxt useHead({ title }) with titleTemplate, SvelteKit <svelte:head><title>, Angular route title and a TitleStrategy). Put the page topic first and the site name last; avoid repeating keywords.

Examples

// Next.js: app/layout.tsx and app/pricing/page.tsx
export const metadata = { title: { template: '%s · Acme', default: 'Acme' } }
export const metadata = { title: 'Pricing' } // renders "Pricing · Acme"

Sources

Facts

Id
seo/title-unique
Severity
minor
Check
manual a person reviews it; the report lists it as a checklist
Applies to
html vue svelte astro jsx
Same problem in
Lighthouse document-title
Taught by the skill
fe-seo-metadata SEO and metadata
Since version
0.1.0

Rule file on GitHub

Read it in the terminal

npx github:dawidolko/frontend-skills explain seo/title-unique