---
title: "Heading levels skip (h2 → h4) or headings are empty (seo/heading-skip)"
description: "seo/heading-skip: The heading outline is how crawlers, screen readers and AI section parsers split the page; skips and empty headings break the structure."
canonical: https://void-design.vercel.app/rules/seo/heading-skip
lastModified: 2026-09-16
---

# Heading levels skip (h2 → h4) or headings are empty

`seo/heading-skip` · severity **warn** · category SEO · detected by `void seo` and `void audit`

## Why it matters

The heading outline is how crawlers, screen readers and AI section parsers split the page; skips and empty headings break the structure.

## How to fix it

Nest headings sequentially and give each one descriptive text.

## References

- https://www.w3.org/WAI/tutorials/page-structure/headings/

## More seo rules

`void seo` reports 60 rules in this category. What search engines need from the raw response: status codes, titles and descriptions in <head>, self-referencing canonicals, one h1, crawlable links, Open Graph, icons, robots.txt and a sitemap with real dates.

- `canonical-not-self` Canonical points to a different URL — [seo/canonical-not-self](https://void-design.vercel.app/rules/seo/canonical-not-self)
- `head-js-mutation` JavaScript changes canonical, robots, title or description after load — [seo/head-js-mutation](https://void-design.vercel.app/rules/seo/head-js-mutation)
- `h1-count` Page doesn't have exactly one visible <h1> in the server HTML — [seo/h1-count](https://void-design.vercel.app/rules/seo/h1-count)
- `h1-title-mismatch` <h1> and <title> share little wording — [seo/h1-title-mismatch](https://void-design.vercel.app/rules/seo/h1-title-mismatch)
- `img-alt-missing` <img> without an alt attribute — [seo/img-alt-missing](https://void-design.vercel.app/rules/seo/img-alt-missing)
- `img-alt-quality` Alt text is a filename, a generic word, or overly long — [seo/img-alt-quality](https://void-design.vercel.app/rules/seo/img-alt-quality)
- `links-not-crawlable` Navigation uses elements crawlers can't follow — [seo/links-not-crawlable](https://void-design.vercel.app/rules/seo/links-not-crawlable)
- `link-text` Links with generic or empty text — [seo/link-text](https://void-design.vercel.app/rules/seo/link-text)

Detected by `void seo` and `void audit`. Explain it in a terminal: `void rules seo/heading-skip`
