Why it matters
The title is the main input for the search result title link and for how agents label the page. Titles outside <head> (Next.js streamed metadata) are unreliable for crawlers.
How to fix it
Export metadata or generateMetadata with a title, and a root title template so every page gets exactly one <title> in <head>.
Example
// app/layout.tsx
export const metadata: Metadata = {
metadataBase: new URL(site.url),
title: { default: 'Acme: fast widgets for teams', template: '%s | Acme' },
}
// app/pricing/page.tsx
export const metadata: Metadata = { title: 'Pricing' } // → "Pricing | Acme"References
More seo rules
void seo reports 60 rules in this category. What search engines need from the raw response: status codes, titles and descriptions in <head>, self-referencing canonicals, one h1, crawlable links, Open Graph, icons, robots.txt and a sitemap with real dates.
origin-redirectshttp:// or www/apex variant doesn't redirect to the canonical origin in one hophtml-lang<html lang> missing or not a valid BCP 47 tagviewportViewport meta missing, not device-width, or blocks zoomcharsetCharacter encoding not declared earlytitle-lengthTitle length outside 10–60 characters, or keyword-stuffedmeta-description-missingNo meta description in <head>meta-description-lengthMeta description length outside 50–160 charactersmetadata-in-bodyCrawler receives <title>/canonical/description inside <body> (Next.js streaming metadata)