wordiqo
Optimize

On-page mechanics

One H1 per page: what actually breaks when you use two

Two H1s will not get a page penalised — but they do cost you clarity for assistive technology and extraction systems. Here is the honest version of the rule.

7 min read

The advice "use only one H1 per page" is repeated so often, and justified so rarely, that plenty of developers now treat it as folklore. They are half right: Google has said publicly that multiple H1s are not a problem for Search, and pages with two H1s rank every day.

That does not make the rule useless. It makes it a clarity rule rather than a ranking rule — and clarity is exactly what matters now that snippets, AI Overviews and assistants extract passages instead of reading whole pages.

This article separates what genuinely breaks with two H1s from what does not, explains the HTML5 outline algorithm myth that caused most of the confusion, and gives the specific patterns that cause duplicate H1s in real templates.

The short answer

Use exactly one H1 per page. It should name the specific subject of that page, and it is normally the first heading a reader meets. Not because a second H1 triggers a penalty — it does not — but because the H1 is the only element whose job is to say, unambiguously, what this document is about. Two answers to that question is one too many.

What a second H1 does and does not affect.
ConcernReal impact of two H1s
Ranking penaltyNone. Google has repeatedly stated multiple H1s are fine for Search
Understanding the pageDegraded. Two competing top-level topics on one document
Screen-reader navigationDegraded. Users navigate by heading level and expect one document title
Passage extraction and quotingDegraded. Section boundaries become ambiguous
Automated on-page checksFails almost every audit tool, including our own
Content reuse (RSS, CMS, exports)Unpredictable — many pipelines take the first H1 as the title

The HTML5 outline myth

For about a decade, one specific justification circulated for multiple H1s: HTML5 defined a document outline algorithm in which each sectioning element — <section>, <article>, <nav>, <aside> — created a new outline scope, so an H1 inside a <section> would automatically be treated as a second-level heading.

That algorithm was never implemented. No browser and no assistive technology ever shipped it, and the HTML specification has since removed it and now explicitly advises using h1 through h6 to convey document structure, with headings ranked according to their real nesting depth.

So a page with five <section> elements each containing an H1 does not have one H1 and four H2s in the eyes of any real consumer. It has five H1s, and a screen reader will announce five level-one headings.

What a second H1 actually costs

Screen-reader navigation

Screen-reader users routinely navigate by pulling up a list of headings and jumping between levels — it is one of the primary ways of skimming a page without sight. The W3C's guidance is that heading levels should reflect the structure of the page, with a single top-level heading describing the page as a whole and nested levels beneath it.

Two H1s mean the heading list shows two apparent document titles. Nothing is inaccessible, but the mental model the user builds from the outline no longer matches the page.

Extraction and quoting

Featured snippets, AI Overviews and assistant citations all work by lifting a passage and needing to know what it is a passage of. Heading structure is the cheapest available signal for that. When the top level of the document is ambiguous, the system has to guess which heading contextualises the passage, and guesses are worse than facts.

This is the reason the rule is more relevant now than it was when it was purely an SEO superstition: the consumers of your heading tree have multiplied.

Automated checks and content pipelines

Practically every SEO auditor, accessibility linter and CMS import routine treats "more than one H1" as a finding. That has a real cost even when the underlying issue is minor: it generates noise that hides the findings that matter. The wordiqo optimizer is no exception — its structure check looks for exactly one H1 plus at least two H2s, and its rewrite enforces a single H1, creating one from the primary keyword if the pasted text has none.

H1 vs title tag: the same words are usually wrong

The title tag is written for a results page where the reader has not arrived yet and sees a handful of competing lines. The H1 is written for a reader who is already on the page. They serve different moments, so they can — and often should — differ.

  • Keep them close in meaning: a title promising a checklist and an H1 announcing a philosophy essay is a mismatch that shows up as pogo-sticking, not as an SEO error.
  • Do not duplicate the brand suffix in the H1 — it wastes the most prominent line on the page.
  • If the title needs a qualifier only to survive the SERP (a year, "guide", "free"), that is a title decision, not an H1 decision.
Title tagH1
AudienceSomeone scanning a results pageSomeone who already clicked
Length constraintRoughly 50-60 characters before truncationNo hard limit; readability governs
BrandOften appended, since context is missingRarely needed — the reader can see whose site this is
DisambiguationMay need year, format or qualifier to stand outOnly if genuinely part of the subject
WordingFront-load the primary termNatural phrasing wins over keyword placement

Where duplicate H1s come from

Duplicate H1s are almost never a writing mistake. They are template mistakes, which is good news: fixing one template fixes hundreds of pages.

PatternWhat happensFix
Hero + article titleThe layout hero renders an H1 for the marketing headline, and the article component renders another for the post titleDecide which one is the document title; demote the other to a <p> with heading styling or to an H2
Logo wrapped in an H1An old convention put the site name in an H1 in the header, on every pageUse an <img> with alt text, or a <p>/<span> — the site name is not the page subject
Rich-text editor headingsAuthors pick "Heading 1" from the editor dropdown because it is the biggest optionRestrict the editor to H2-H4 for body content
Component librariesA card, banner or CTA component hardcodes an H1 and gets reused mid-pageMake the heading level a prop with a non-H1 default
Merged or imported contentA pasted article brings its own H1 into a page that already has oneDemote on insertion — the same rule applies when adding a section to an existing article

How to check, in ten seconds

For a check that also covers keyword placement, heading counts and length, paste the page text into the free optimizer — it reports the missing-H1 and too-few-H2s cases directly, alongside the rest of the on-page checklist it can see from text.

  1. Run one line in the browser consoledocument.querySelectorAll("h1").length — anything other than 1 on a content page is a finding. Add [...document.querySelectorAll("h1")].map(h => h.textContent) to see which ones.
  2. Look at the rendered DOM, not the CMS editorThe editor does not show what the template wraps around your content, and the hero H1 is a template element.
  3. Check the whole tree while you are there[...document.querySelectorAll("h1,h2,h3,h4")].map(h => h.tagName + " " + h.textContent) prints the outline. Skipped levels show up immediately.
  4. Fix it at the template levelIf two pages in the same layout both fail, the layout is the bug. Fixing the page instead of the layout guarantees the finding returns.

Edge cases where the rule bends

SituationGuidance
HomepageStill one H1, describing what the site does. The logo does not count and should not be an H1
Landing page with a heroThe hero headline is the H1. Do not add a second one further down for the "real" title
Feed or listing pageThe list itself is the subject: one H1 for the listing, and H2s for each item
Single-page app with client-side routingOne H1 per rendered view. Ensure the H1 updates on navigation, since assistive technology relies on it
Documentation page inside a shellThe page title is the H1; the sidebar section name is navigation, not a heading level
A genuinely two-topic pageThat is two pages. The H1 problem is a symptom of the structural one

Questions people ask

Is more than one H1 an SEO penalty?

No. Google has said multiple H1s are fine for Search, and there is no penalty. The cost is in clarity for assistive technology, extraction systems and automated checks, not in a ranking demotion.

Does the H1 have to contain the target keyword?

It should contain the subject, which usually means the primary term appears naturally. Forcing an exact-match phrase into an otherwise awkward H1 trades reader clarity for nothing measurable.

Can a page have no H1 at all?

Technically yes, and it will still be indexed, but you are discarding the clearest statement of what the page is about. Most audit tools, including the wordiqo optimizer, flag a missing H1 as a structural failure.

Should the H1 match the title tag exactly?

Not necessarily. They can match when the subject is short and unambiguous, but the title tag often needs a qualifier or brand suffix to work in a results page, and none of that belongs in the H1.

Do H1s inside <section> elements count separately?

No. The HTML5 outline algorithm that would have rescoped them was never implemented and has been removed from the specification. Every H1 on the page is a level-one heading, whatever wraps it.

References

Keep reading