Heading Tags: How to Use H1 to H6 and Fix H1 Errors
Learn what heading tags are, why one H1 per page is the safe rule, and how our free report finds and helps you fix heading errors.
Free to use 12 min read Updated Oct 2026
How to fix a missing or duplicate H1 tag
Start by working out where each H1 comes from. It is usually one template edit.
- Choose the topic. Pick the phrase that names the page and make it the H1, near the top of the main content.
- Find every source. Check the page title, logo, hero banner, widgets, footer blocks and builder text blocks set to H1.
- Demote the extras. Keep the best H1. Change each other one to a paragraph, div or span with a CSS class, or to an H2 to H6 when it labels a real section.
- Fix the hierarchy. Put each H3 under an H2, and use CSS for size.
- Publish and re-test. Save and publish, then clear the page and CDN cache and run the report again.
A theme that wraps the logo in an h1 is the usual culprit.
<!-- Before: two H1 elements -->
<a href="/"><h1 class="logo">Acme Garden Tools</h1></a>
<h1>How to Sharpen Pruning Shears</h1>
<!-- After: one H1 -->
<a href="/"><div class="logo">Acme Garden Tools</div></a>
<h1>How to Sharpen Pruning Shears</h1>Before touching a live theme, preview the corrected markup in our online HTML viewer.
No H1 on the page
Typical causes: the title is a styled div or span, the theme skips the H1 on some templates, or a page builder block uses a paragraph. Make the visible page title an h1 element. Don't paste in a hidden H1 just to turn the check green: our report counts it and passes, but nobody sees that heading.
Two causes are easy to miss. An H1 inside an iframe or shadow DOM, or a div with role heading, is not counted. And a bot protection warning means the report read a challenge page, not yours.
Two or more H1 tags
Usual causes are the logo plus the page title, several hero sections, and widgets or sliders. When the extra H1 repeats everywhere, fix it once in the theme template. A hidden H1 in a mobile menu counts too. The old idea of one H1 per section element never worked in browsers or screen readers, so don't rely on it.
H1 appears only after JavaScript runs
If your script builds the H1 well after load, the report and some crawlers may never see it. Render it on the server or make sure it exists before the load event. Then press Ctrl+U and confirm the h1 is in the raw HTML.
Common heading tag mistakes that fail the check
Each of these maps to something the report detects or misses.
- Logo wrapped in an H1. It gives every page two.
- Levels picked for size. Choosing an H4 because it looks smaller leaves skipped heading levels.
- An empty heading or image only H1. It passes our count but gives a screen reader nothing to announce.
- Hidden or late H1s. An off screen H1 in a mobile menu counts, and a script H1 may arrive too late, as the sections above explain.
Title tag is not the H1: they are different elements. Use the meta tag analyzer to read your title tag, then compare it with the H1 in the report.
Heading tag best practices that hold up
Only the first item is a report rule.
- One clear H1. State the topic in plain words near the top of the main content.
- Respect the sequence. Follow H2 with H3 so the heading hierarchy reads like a table of contents. Lighthouse and axe-core flag skipped levels, though our report does not.
- Write for people first. Match search intent without repeating a keyword in every heading. Our keyword usage check covers keywords in headings.
- Stay short and unique. Readers should grasp each heading at a glance, and no two should repeat.
- Separate structure from looks. Headings carry structure and CSS carries looks. The W3C headings tutorial goes deeper on nesting by rank.
How to Fix
The short version, the same steps you see when you click How to Fix in your report.
Why this fails: the rendered page has no h1 element, or it has two or more, so the report cannot find one clear topic. Hidden and empty H1s still count, and an H1 a script adds long after load may be missed. The red card says no H1 even when the page has two, so count them. H2 to H6 never change the result, so H2 tags without an H1 still fail.
How to fix it:
- Pick the one phrase that names the page topic and wrap it in a single h1 in the main content.
- Find every other H1, usually the logo, a banner or a widget.
- Change each extra one to a p, div or span with a CSS class, or to h2 to h6 when it labels a real section.
- Keep the other headings in order, h2 then h3, and use CSS for size.
- Save and publish, then clear the page and CDN cache.
<!-- Wrong: logo and title are both H1 -->
<h1 class="logo">Acme Garden Tools</h1>
<h1>How to Sharpen Pruning Shears</h1>
<!-- Right: one H1 on the page title -->
<div class="logo">Acme Garden Tools</div>
<h1>How to Sharpen Pruning Shears</h1>- WordPress: use the Heading block level control, and check the Site Title block in the header template.
- Shopify: open Online Store, Themes, Edit code and search for h1.
- Wix: open Edit Text and look for the SEO and Accessibility heading tag option.
- Page builders: set the extra heading widgets to div, span or p.
Re-test: open the page and run document.querySelectorAll('h1').length in the browser console, which must return 1. Then Re-run the free SEO check for the green tick. The console misses an H1 inside noscript or template, so check the source for those. If it says 1 but the report still fails, a script may be adding the H1 too late, so move it into the server rendered HTML. An H1 in an iframe or shadow DOM, or a div with role heading, is not counted, and a bot protection warning means the report read a challenge page.
Frequently Asked Questions
How many H1 tags should a page have?
Are multiple H1 tags bad for SEO?
Why does my SEO report fail the headings check when my page has an H1?
Should the H1 and the title tag be the same?
Can I skip heading levels, like going from H2 to H4?
How long should an H1 be?
Do heading tags help SEO?
How do I find the heading tags on a page?
How many heading tags are there in HTML?
See how your site scores right now
Paste your address into the free report, then use the How to Fix button on anything that needs work.
Free to use. Results in under a minute for most sites.