wordiqo
Optimize

On-page mechanics

Heading hierarchy: H2/H3 rules, skipped levels and why they matter

A heading tree is a table of contents you already wrote. These are the rules that keep it readable by people, screen readers and extraction systems.

8 min read

Heading structure is the cheapest structural signal on a page, and the one most often broken by accident. Levels get chosen for font size, an H4 appears under an H2 because it looked right, and a rewrite adds a section that never gets nested under anything.

None of that triggers a penalty. It does something quieter: it removes the only machine-readable statement of how your page is organised, at the exact moment that snippets, AI Overviews and assistants are trying to work out which passage answers which question.

This article covers what each level is for, what a skipped level really costs, how to repair a tree that is already broken, and how to keep it intact when you add sections to a page later.

The rules, in one table

Headings are ranked, not styled. H1 through H6 describe depth, and every consumer of your HTML — browsers, screen readers, crawlers, extraction systems — reads them that way. Styling is a separate decision, made in CSS.

  • Never skip a level going down: H2 → H4 leaves a gap that says a level exists but is missing.
  • Jumping back up is fine: an H3 followed by the next H2 simply closes the subsection.
  • A single H3 under an H2 is usually wrong. One subsection means the content belongs in the parent.
  • Choose the level from depth, then style it. An H3 that needs to look big is a CSS problem, not a markup one.
What each heading level is for on a content page.
LevelJobRule of thumb
H1Names the subject of the whole documentExactly one, normally the first heading
H2Names a major section — a question the page answersAt least two; if you only have one, it is not a section
H3Splits a section into parts that share its subjectOnly under an H2, and only when a section has more than one distinct part
H4Splits an H3 — rare in article contentIf you need many H4s, the H2 above is probably two pages
H5/H6Almost never needed in editorial contentTreat their appearance as a structural smell

What a skipped level actually costs

For screen-reader users

Screen readers expose a heading list and let users jump by level. The W3C guidance is explicit: heading levels should reflect the structure of the page, with nested levels beneath a single top-level heading.

When an H4 appears directly under an H2, the user hears a level-four heading and has to assume a missing level-three parent. Nothing becomes unreachable, but the outline they build in their head stops matching the page — and the outline is how they decide what to read.

For snippets and quoting systems

A passage is only quotable if the system can tell where it starts, where it stops, and what it is about. Heading levels supply all three at once. A well-nested H3 says: this text belongs to the H2 above it, and here is its narrower topic.

A broken tree forces the extraction system to guess the boundary from text alone. Guesses produce partial quotes and mismatched context, which is how a section that answers the question perfectly still fails to be picked up.

For you, six months later

The practical cost lands on maintenance. A correct tree lets you see at a glance whether a page covers three topics or one, whether a section has grown big enough to become its own article, and where a new section belongs. A broken tree makes every one of those judgements a full read.

Writing H2s that earn their place

An H2 is a promise about the next few hundred words. The most reliable way to write one is to phrase the section as the question a reader would ask at that point, then answer it in the first sentence underneath.

  • Front the distinguishing word: "Skipped levels" beats "Understanding the impact of skipped levels".
  • Keep the primary term in two or three H2s where it is natural, not in all of them. Repeating it in every heading reads as padding to a person and adds nothing for a crawler.
  • Two H2s is the practical minimum for a page with sections at all — it is what our own structure check looks for.
  • Aim for a section every 200-350 words in a how-to article. Long unbroken runs are the most common reason a section never gets quoted.
Weak H2Why it failsStronger version
IntroductionDescribes the position on the page, not the contentDelete it — the intro needs no heading
Best practicesCould sit on any page about anythingHeading levels: what to use where
Our approachSite-centred, not reader-centredHow the heading tree gets repaired on insert
Heading Structure SEO Tips 2026Keyword string, not a section titleWhat a skipped heading level costs
More informationAnnounces nothing extractableReferences and further reading

When to use an H3, and when not to

H3s exist to split a section whose parts a reader might want separately. If someone could plausibly land on a subsection and get value from it alone, it deserves an H3. If it only makes sense in sequence, it is a paragraph.

  1. Use an H3 for parallel itemsThree causes, four decisions, five patterns — anything where the items are siblings of equal weight and each needs more than a sentence.
  2. Use an H3 when the section exceeds roughly 400 wordsNot because of a length rule, but because at that size a reader skimming the page has lost the thread of the H2.
  3. Do not use an H3 for a single subsectionOne H3 under an H2 splits nothing. Either find its sibling or fold the content into the parent section.
  4. Do not use an H3 as a bold lead-inIf the text is really a labelled paragraph, use a <strong> lead-in or a definition list. Fake headings pollute the outline that assistive technology and extraction systems rely on.

Repairing a tree that is already broken

Repairs are mechanical. Work top-down, one level at a time, and do not rewrite copy while you are doing it — a structural pass and an editorial pass in the same edit is how sections go missing.

SymptomRepair
Two H1sDecide which one is the document title; demote the other to H2 or to styled text
H2 → H4 gapPromote the H4 to H3, then check its siblings so they all move together
A wall of H2s with no nestingGroup related H2s under a broader one and demote the members to H3
Headings chosen for sizeReset all levels from the outline, then restore appearance in CSS
One H3 alone in a sectionRemove the heading and merge, or write the missing sibling
Headings inside a hero or card componentMake the level a prop with a non-H1 default so reuse mid-page cannot break the tree

Keeping the tree intact when you add a section later

Most heading damage happens after publication, when a page gets extended. A new block arrives with its own H1 or a heading level chosen for the block in isolation, and gets appended at the end because the end is easy.

Two rules prevent almost all of it. First, the level of an inserted block is decided by where it lands, not by how it was written. Second, an insert that duplicates a heading already on the page is a merge, not an addition.

This is also how wordiqo handles article expansion: an added section is normalised to H2 or H3 based on the surrounding context, an H1 is never allowed inside body content, and near-duplicate headings are folded into the existing section instead of stacked next to it. The insertion point is chosen against the existing outline rather than defaulting to the end of the document.

  • Decide the parent first: a new part of an existing topic is an H3 under that H2, not a new H2.
  • Reject duplicate headings outright. Two sections named the same thing split the ranking signal and confuse the table of contents.
  • After inserting, re-read only the heading list. If the table of contents still reads well, the insert was placed correctly.

What heading structure does not do

Headings are not a ranking lever you can pull. Google has been consistent that headings help it understand a page, not that stuffing them changes position, and pages with mediocre trees outrank tidy ones every day on the strength of their content.

The honest framing is that a correct tree removes an obstacle. It makes the page skimmable, quotable and maintainable. It will not make a thin page rank, and no amount of nesting will fix a section that does not answer its own heading.

Questions people ask

Is skipping a heading level bad for SEO?

It is not a ranking penalty. The cost is comprehension: screen-reader users navigating by level hear a gap, and extraction systems lose a clean signal about where a passage starts and what it belongs to. Fix it because it is nearly free to fix, not because a position depends on it.

How many H2s should a page have?

Enough that the heading list reads like a table of contents — in practice a section every 200-350 words in a how-to article. Two is a sensible floor; our structure check flags pages with fewer.

Can I use an H3 without an H2 above it?

No. An H3 with no parent H2 implies a level that does not exist. Promote it to H2 or place it inside the section it belongs to.

Should every heading contain the target keyword?

No. Two or three natural occurrences across the heading tree are plenty. Repeating the exact phrase in every heading makes the page harder to skim and adds no measurable benefit.

Do headings inside <section> elements get re-ranked automatically?

No. The HTML5 outline algorithm that would have done that was never implemented by any browser or assistive technology and has been removed from the specification. The level you write is the level everyone reads.

References

Keep reading