How Many H1 Tags Should a Page Have?
One H1, every time — and here's the modern answer to why HTML5 lets you get away with more but you shouldn't.
One H1 per page. That's the answer — and it's been the answer since HTML was invented. HTML5 introduced a new document outline algorithm in 2008 that theoretically allowed multiple H1s in a sectioning context, but that algorithm was never implemented by any major browser, was deprecated by the spec editors in 2022, and was never treated as a meaningful signal by Google either way. In practice, multiple H1s on a single page are either a template bug or a misunderstanding of heading semantics.
The real question isn't whether multiple H1s kill your rankings (they won't, usually). It's whether they signal a coherent, well-structured page to search engines — and they don't.
What Google has actually said
Google's John Mueller addressed the multiple H1 question directly in a 2020 video. His answer: "It's fine to have multiple H1 headings. It's not going to break your site or cause problems. But if you're thinking about the structure of a page and what makes sense for users and for accessibility tools, then usually one H1 heading makes the most sense." He reiterated the same position in 2021.
So Google's public stance is: multiple H1s don't cause a ranking penalty, but one H1 is the right structural choice. Those two statements are compatible. "It won't break you" is not the same as "it's a best practice."
Mueller's framing is important: he consistently redirects the question from ranking signals to page structure and usability. That's not a dodge — it reflects how Google actually thinks about heading markup. Headings are semantic HTML. The H1 tells the browser, the screen reader, and the crawler what the page is fundamentally about. Multiple H1s create ambiguity on all three fronts.
The HTML5 outline algorithm history
Here's where the confusion comes from. In 2008, the HTML5 spec introduced the concept of a "document outline algorithm" that was supposed to allow nested <section> or <article> elements each to have their own H1. Under this model, a page could have three H1s — one in the main content area, one in a sidebar <aside>, one in a <footer> — and each would be treated as the heading for its respective sectioning context.
The problem: no browser, screen reader, or search engine ever implemented this algorithm. It existed only in the spec. The practical result was that multiple H1s just looked like multiple H1s — same heading level, side by side, with no implied hierarchy.
The WHATWG officially deprecated the document outline algorithm in 2022, confirming what developers had known for years: the feature never shipped. The spec now explicitly recommends using a single H1 per page and nesting H2–H6 beneath it for sub-sections.
If you built a site in 2015–2020 using frameworks that encouraged multiple H1s per "section," your heading structure probably needs an audit.
How multiple H1s actually affect rankings vs. accessibility
Rankings: The effect is minimal to negligible. Studies that have analyzed pages with multiple H1s don't show consistent ranking suppression. Google's crawler is sophisticated enough to figure out which H1 is the "real" one most of the time. If you have three H1s on a page and your on-page optimization is otherwise strong, you're unlikely to see a measurable ranking drop from the H1 issue alone.
Accessibility: The effect is real and negative. Screen readers like JAWS, NVDA, and VoiceOver allow users to navigate pages by headings. When there are multiple H1s, visually impaired users get an inconsistent experience — some screen readers read all H1s as if they're page titles, others treat the first one as the title and ignore subsequent ones. WCAG 2.x Success Criterion 1.3.1 (Info and Relationships) and 2.4.6 (Headings and Labels) both point toward a single, descriptive H1 as the accessible approach.
SEO clarity: This is the most practical concern. Your H1 should reinforce the same topic your title tag states. If you have three H1s, you're diluting the topical signal you're sending to the crawler. It's not a penalty — it's noise. The cleaner signal you send, the more confidence Google has that your page matches specific queries. See H2 and H3 Heading Structure for how to build an outline that maximizes that clarity.
Common scenarios where multiple H1s appear
CMS templates. Some WordPress themes or page builders inject an H1 in the site-wide header (usually the site name) and a separate H1 in the post template. This creates two H1s on every post: one for the site name, one for the post title. The fix is to change the site name in the header to an H2 or a non-heading styled element.
React/Next.js component libraries. Component libraries sometimes style heading levels independently from the semantic HTML element used. A card component might render its title as an H1 regardless of where it appears on the page. Audit your component output, not just your templates.
Imported or syndicated content. If you're pulling content from an external source via API and rendering it inline, that content may carry its own H1 that conflicts with your page's H1.
Drag-and-drop page builders. Tools like Elementor or Webflow allow content editors to place heading elements visually without understanding heading hierarchy. "Make this text look big and bold" and "make this an H1" are semantically different choices, but visual builders often conflate them.
How to audit your site for the bug
The fastest way to find multiple H1 issues across your site is to:
- Run a crawl with a tool that reports heading structure per URL (Screaming Frog, Sitebulb, or RankCrab's audit).
- Filter for pages where H1 count > 1.
- Prioritize high-traffic and high-priority pages first — fix your money pages before your archive pages.
For a single-page spot check, use the browser developer tools (Elements tab, Ctrl+F for <h1>) or a dedicated heading analyzer.
The heading structure analyzer shows your full H1–H6 outline for any URL, flags duplicate H1s, and identifies heading hierarchy breaks. It runs client-side — no login, no crawl credits.
The relationship between H1 and title tag
Your H1 and your <title> tag should be closely related but don't have to be identical. The title tag is what Google shows in search results (usually). The H1 is what readers see when they land on the page. Common practice is to make them the same or nearly the same — same primary keyword, same intent, slightly different phrasing if needed.
Where they diverge: the title tag often includes a brand suffix ("Best Running Shoes | SiteName") that you wouldn't want in the H1. The H1 might be slightly longer and more descriptive because it doesn't have to fit in 580px.
For more on title tags, see Does Google Rewrite Your Title Tags?.
The rule, restated
One H1 per page. It should:
- Match the primary topic of the page
- Contain or closely echo the primary keyword
- Be unique — not duplicated from another page on your site
- Appear before the first H2
Everything else — subheadings, section titles, component headings, widget titles — should use H2 through H6 in a logical nested hierarchy. Treat heading structure as a table of contents, not as a styling system.
This is part of the broader on-page signal set that determines how clearly Google understands what your page is about. For a complete picture of all the elements involved, see the On-page SEO guide.