All 30 checks Missing or multiple H1
Missing or multiple H1
Updated
A page should have one <h1> that says what the page is about, and a launched page with none, or with several competing for the job, gives readers, screen readers and search engines no clear starting point.
<h1>Acme</h1>
<section>
<h1>Our services</h1>
</section><h1>Plumbing and heating in Leeds</h1>
<section>
<h2>Our services</h2>
</section>Why one main heading
The <h1> is the title of the page's content, as opposed to the <title> in the browser tab. Screen reader users often jump straight to the main heading to learn what a page is about, and the heading outline below it is how they move around. Search engines read it as one of the clearest statements of the topic. When the heading is missing, a visually large line of text styled with a <div> or a <span> tells sighted visitors what the page is but says nothing to software.
Multiple <h1> elements are allowed by the HTML specification, so this is a softer problem than a missing one. In practice they often come from a template that wraps the logo in an <h1> on every page, or a page builder that makes each hero block an <h1>. The outcome is a page where nothing is clearly the main heading, and the outline is harder to follow.
How Skewcheck detects it
Skewcheck counts the <h1> elements in the HTML the server sends. Exactly one passes. None fails with medium severity and removes 5 points from the score. Two or more is a low-severity warning that removes 2 points. The count is of the markup, so an <h1> hidden with CSS still counts, and a heading that a script adds after load is not seen.
Skewcheck does not judge the wording. A single <h1> that says Welcome passes, even though a heading that names what the page offers would do more good. It also does not check that the heading levels below it are in order.
curl -s https://example.com | grep -oi '<h1[ >]' | wc -lFixing it in your builder
Pick the line that best states what the page is for, usually the hero headline, and make that the <h1>. Turn other former headings into <h2> or <h3>. In Webflow, each heading element has a tag setting in its settings panel, so change the tag rather than the styling, since the look is controlled by the class. Framer text layers have a similar setting for the tag they output. In WordPress, the block editor's Heading block has a level control, and the theme usually prints the post title as the <h1>, so a second <h1> typed into the content duplicates it.
When a logo is wrapped in an <h1> on every page, change it to a plain link or a <div> except on the home page, where some sites keep it. After publishing, re-check, and look at a couple of other page types, because templates differ.
Before and after
<div class="hero-title">Plumbing and heating in Leeds</div><h1 class="hero-title">Plumbing and heating in Leeds</h1>Check your page
Run all 30 checks on any URL. Free, no account.