
Headings help readers scan a page and help assistive technology navigate its structure. They are semantic labels, not containers for a quota of keywords.
A heading checker should show the actual outline and identify evidence that needs review. It should not pretend a single pattern fits every document.
Begin with the page’s primary topic
One clear H1 is a useful default for many pages. It gives the document an obvious primary label and usually aligns with the visible page title.
HTML can contain multiple H1 elements. The presence of two H1s is therefore a reason to inspect the page, not proof of an SEO defect. Ask whether the resulting hierarchy is understandable.
Use levels to describe relationships
An H2 usually begins a major section under the page topic. An H3 introduces a subsection of that H2. The level communicates nesting.
<h1>Guide to technical website checks</h1>
<h2>Crawling evidence</h2>
<h3>Robots.txt rules</h3>
<h3>HTTP responses</h3>
<h2>Indexing evidence</h2>
Do not choose H4 because it looks visually smaller. Use CSS for appearance and heading levels for structure.
Treat skipped levels as review evidence
Moving from H2 directly to H4 may reflect a missing relationship, or it may occur inside a reusable component whose surrounding document provides context.
The WAI page-structure tutorial recommends organizing headings into a meaningful hierarchy. The practical response is to inspect the rendered document, not apply an automatic severe penalty.
Empty headings are more objective
An empty heading creates a navigation stop without a useful label. This is usually an implementation error, especially when a CMS renders an empty field or a visual spacer is marked as a heading.
Check for visible text, hidden accessible labels, and linked-image alternatives before changing the element.
Initial HTML may not be the rendered page
A server-side checker can inspect the initial response. JavaScript may later add, remove, or reorder headings. When results differ from what users see, inspect the rendered accessibility tree in a real browser.
Keep these modes labelled. Raw HTML and rendered DOM are different evidence sources.
Write for scanning and comprehension
Useful headings:
- Name the section accurately.
- Make sense beside neighboring headings.
- Avoid repeating the same vague label.
- Stay concise enough to scan.
- Do not force unnatural keyword variations.
The outline cannot tell you whether the page is accurate, helpful, complete, or aligned with demand. Those are editorial questions.
A practical review workflow
- Extract H1–H6 elements in document order.
- Count H1 and empty elements.
- Show skipped transitions without calling them ranking penalties.
- Read the outline without the body text.
- Compare it with the visible page and accessibility tree.
- Fix the smallest structural issue that improves comprehension.
- Re-run the page after deployment.
Use the free Heading Structure Checker to inspect a public page or pasted HTML.
Method note: the tool reads initial HTML or pasted markup and does not execute client-side JavaScript. Last reviewed 30 August 2026.



