Every page has exactly one H1 tag
Why it matters
Google treats the H1 as the primary topical signal for a page — stronger than the title tag in many ranking experiments because the H1 sits in body content rather than head metadata. A page with zero H1s gives the crawler nothing to anchor semantic relevance against, so it falls back to the largest visible text, which is often a navigation element or a sidebar heading. A page with multiple H1s (one from the layout, one from the content) dilutes the signal and fails WCAG 2.2 SC 1.3.1 (Info and Relationships) screen-reader expectations, which assistive tech uses to let users jump to the page's main subject.
Severity rationale
Critical because the H1 is a top-three ranking signal and a hard accessibility requirement for screen-reader navigation.
Remediation
Put exactly one <h1> per page, inside the page-level component, describing that page's content. Move site-name headings in the layout to a <p>, a logo image, or an <h2> so they do not collide.
// app/about/page.tsx
export default function AboutPage() {
return (
<main>
<h1>About Us</h1>
{/* page content */}
</main>
)
}
Audit for duplicates by grepping grep -rn '<h1' app/ and confirming each page contributes exactly one.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the SEO Fundamentals Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- wcag:2.2 · 1.3.1 — Info and Relationships
- wcag:2.2 · 2.4.6 — Headings and Labels
Taxons
History
- 2026-04-18·v1.0.0·Initial import from seo-fundamentals·automated