A heading's visual size and its actual level in the page's outline are not the same thing, and when they drift apart, usually because a smaller heading "looked right" in a design, the page ends up skipping a level that assistive technology depends on.
What this finding means
Crawl Cove's heading-order check walks every indexable HTML page's heading outline in document order and flags the first place a level jumps by more than one, for example an H2 followed directly by an H4 with no H3 between them. Non-HTML resources (a sitemap, robots.txt, a feed) have no heading outline and are never flagged.
A real finding looks like this:
heading level jumps from H2 to H4 ("Pricing FAQ") — skips H3
One finding per page: the first skip found, naming both levels involved and the heading text at the point of the jump.
Why it matters
Screen reader and keyboard users commonly navigate a page by jumping between heading levels rather than reading top to bottom, using the heading outline as a table of contents. A skipped level breaks that outline: a user jumping from H2 to H3 to explore a section can land past content they expected to see structured underneath, or a screen reader's landmark list simply shows the jump without a smooth level to move through. This is a real navigation problem for real users, distinct from the heading-h1 check's topical-signal concern, which is why it is Low severity rather than High: it is a readability and accessibility issue on its own terms, not a ranking one.
How to fix it
- Find the point in the page where the level jumps (the finding's evidence names it directly).
- Insert the missing level, or renumber the section so each heading steps down one level at a time (H1 -> H2 -> H3 -> H4), rather than skipping straight to a smaller one.
- If a heading was set to a smaller level purely for its visual size, keep it at the correct level in the outline and restyle it with CSS instead. The level and the size are independent; treating them as the same thing is the most common cause of this finding.
- Re-crawl the page to confirm the outline steps down one level at a time and the finding clears.
False positives and edge cases
- Non-HTML resources are never flagged. A sitemap,
robots.txtfile or RSS feed has no heading outline, so this check does not run against them. - Only the first skip is reported per page. A page with several skipped levels still gets one finding rather than one per instance; fixing the first named jump and re-crawling may surface a second one further down the same page.
- A skip in the other direction (a level going up, like H4 back to H2) is not what this check flags. Heading levels are allowed to step back up by any amount when starting a new section; only a downward jump larger than one level counts as a skip.
Related reading
For the related check that flags a missing or multiple H1, a topical-signal problem rather than a readability one, see Missing or Multiple H1 Tags: Why It Matters.
Frequently asked questions
- Is a skipped heading level actually an SEO ranking problem?
- Not directly, no. This is a readability and accessibility issue, not a topical-signal one, which is why it is Low severity while the related heading-h1 check (missing or multiple H1s) is High. A skipped level makes a page's outline harder to follow, but it does not by itself confuse what a page is about the way an H1 problem can.
- Why does this matter if the page looks fine visually?
- Because the visual size of a heading and its actual HTML level are two different things. A screen reader user or keyboard user navigates by jumping between heading levels, not by how large text appears, so a skipped level in the markup breaks that navigation even when the page reads perfectly well to a sighted visitor scrolling through it.
- I skipped a level on purpose because the smaller heading looked better there. What should I do?
- Keep the heading at its correct level in the outline (so H3 follows H2, not H4), and use CSS to make it visually smaller if that is the look you want. The heading level and its visual size do not have to match; conflating them is usually why this happens in the first place.
- Does one skipped level anywhere on a long page count the same as many?
- This check reports the first skip it finds per page as one finding, not a running count of every instance. A page with one skip and a page with several both get a single finding; the evidence names the specific levels and heading text where the first jump happens.