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
htmlvuesvelteastrojsx- Same problem in
- Lighthouse
document-title - Taught by the skill
fe-seo-metadataSEO and metadata- Since version
- 0.1.0
Read it in the terminal
npx github:dawidolko/frontend-skills explain seo/title-unique