H1 heading checker
The H1 is the heading readers see first and the on-page statement of topic. Exactly one keeps that statement unambiguous.
What we measure
We collect every <h1>. None is a fail. More than one is a warning: we show the full list so you can see which is the real title and which leaked from a template.
How to fix it
One H1 that matches what the page is actually about — not the brand slogan from the header include. Subsections belong in H2/H3.
A logo image with empty alt does not count as a heading. If the visual title is an image, give it an H1 in the document.
Why exactly one
HTML allows several <h1> elements, and the outline algorithm that once justified one per section was never implemented by browsers or assistive technology. In practice a screen reader announces the first H1 as the page title, and search engines treat it as the strongest heading. Two H1s mean two claims about the topic; zero means the claim lives only in the <title>, which the reader on the page never sees.
The checker collects every <h1> in the HTML that came back from the fetch, including ones inside headers, sidebars and footers — that is where the extra one usually hides, as a logo wrapped in a heading tag by a theme.
Common mistakes
A theme that puts the site name in an <h1> on every page, so the article title becomes the second H1. A hero image with the visual headline baked into the picture and no heading in the document. Headings chosen by font size instead of hierarchy, so a page has H1, H3, H3, H5 and no H2 — the H1 check passes, but the structure below it does not help anyone.
What the audit of https://example.com/ returned on 5 September 2026
As found
<header><h1><a href="/"><img src="logo.svg" alt=""></a></h1></header>
<main><h1>Example Domain</h1></main>
<!-- 2 H1 tags → h1_multiple (warn): the logo heading is the leak -->Fixed
<header><a href="/"><img src="logo.svg" alt="Example"></a></header>
<main><h1>Example Domain</h1></main>
<!-- one H1, the one that states the topic; the logo is a link, not a heading -->example.com itself passes this check: one <h1>Example Domain</h1> and nothing else. The bad snippet shows the pattern that fails on most themed sites — the same page with a logo wrapped in a heading.
Questions
Is more than one H1 a penalty?
No. The checker reports it as a warning because it makes the topic ambiguous for readers and machines; there is no fixed ranking penalty for a second H1, only the cost of a weaker statement.
Does the H1 have to match the title tag?
It has to match the topic, not the wording. The H1 can be shorter and more direct because the reader already chose the page.
My page is a single-page app and the H1 is rendered by JavaScript. Does it count?
Not on the first fetch. The checker reads the raw HTML; if the heading only exists after scripts run, a crawler without rendering sees no H1. Put it in the document.
See the full audit in your workspace