HomeFix guides → Single H1; no skipped heading levels (H1->H2->H3)

aeo

How to fix: Single H1; no skipped heading levels (H1->H2->H3)

Why this matters

AI engines use heading structure to understand content hierarchy and pick the right section for extraction. A page with three H1s or an H1->H3 skip confuses the model — which usually defaults to extracting from a competitor's cleanly structured page instead.

Background

AI engines use heading structure to understand content hierarchy and pick the right section for extraction. A page with three H1s or an H1->H3 skip confuses the model — which usually defaults to extracting from a competitor's cleanly structured page instead. Also a WCAG accessibility issue.

References

WHATWG HTML Living Standard · Section 4.3 Sections · A11y WCAG 2.4.6

How to fix

Code snippet for each stack we cover. Pick the one matching your server / framework.

nginx
No server config.
apache
Same.
cloudflare
Same.
wordpress
Audit each post. Exactly one H1 (usually the post title). H2 for main sections, H3 nested under H2. Never skip H1->H3.
flask
Template audit — use the page heading as <h1> exactly once.
express
Same.
rails
Same.

Verify it's working

Browser devtools: count H1s on the page (should be 1). Walk H2/H3/H4 — no skipped levels.

Want to know if your site has this issue?

Run a free 53-check audit — security, GDPR, NIS2, and technical SEO.

Audit my site →