SEO Small

Fix skipped heading levels

Headings form the document outline that both search engines and screen readers rely on to understand a page. That outline only holds together when levels descend one step at a time: an h1 followed directly by an h3, with no h2 between them, is a skipped level that breaks the structure. This check complements seo.single-h1, which counts the top-level heading but says nothing about how the levels beneath it nest.

Find out whether your site has this problem, and every other check, in one free scan.

Check your site free

Why it matters

A heading that jumps from h1 to h3 with no h2 leaves search engines and screen readers with a broken document outline, weakening topical structure and making the page harder to navigate non-visually.

How to fix

  1. 1 Audit the heading hierarchy in document order and find where a level is skipped.
  2. 2 Demote or promote headings so each step down moves by exactly one level.
  3. 3 Choose heading levels for structure, not for font size; style the visual size with CSS instead.

Common mistakes

  • Choosing a heading level for its default font size rather than its place in the outline, then skipping a level to get the look wanted.
  • Dropping in a component or template partial whose headings start at the wrong level for where it is embedded, jumping past an intermediate level.
  • Fixing a missing h1 by promoting a deep heading without also renumbering the headings in between, leaving a gap further down.

How to verify

  1. 1 Use a heading-outline browser extension or the accessibility tree and confirm no level is skipped on the way down.
  2. 2 Read the headings in document order and check each step down moves by exactly one level.
  3. 3 Confirm heading levels reflect structure and that any purely visual sizing is done with CSS rather than the level.

Related checks

Ready to see where you stand?

Scan your site and get your Engineering Score with a prioritized roadmap in under a minute, no signup required.

Scan your site

Session expired

Your session has expired for security. Please log in again to continue.