All fix guides
WarningAI & Answer Engines

Fix "Content Needs More Headings" (H2/H3)

This page runs long stretches of body text with too few subheadings (H2/H3) for its length. A logical heading structure breaks the content into scannable, self-contained sections that both readers and machines can navigate.

What this means

The audit flagged insufficient_structure: your page has a meaningful amount of body content but too few subheadings to organize it. In practice this usually means large blocks of paragraphs with no H2 or H3 breaking them up, or a page that has an H1 and then no further headings at all.

Headings are not styling. They are a structural outline. Every H2 starts a major section, and each H3 nests a subsection under it. When 1,500 words sit under a single heading, both people and crawlers have to read the whole thing linearly to find any one point. The same article with 6 to 10 descriptive H2/H3 headings lets a reader (or a machine) jump straight to the part they need.

This is different from a missing-H1 or broken-hierarchy issue. Here the problem is density: not enough headings for the volume of content. The fix is to add real, descriptive subheadings at natural topic boundaries using proper heading tags, not bold text or larger font sizes.

Why it matters

For classic Google ranking, headings help in two concrete ways. Google uses the heading outline to understand what a page covers and how its subtopics relate, which supports relevance across a broader set of queries. Descriptive H2/H3 text is also a common source for on-page jump links and improves engagement, because readers can find what they came for instead of bouncing.

For AI answer engines the effect is stronger, which is why this issue sits in the "AI & Answer Engines" category. ChatGPT, Perplexity, Google AI Overviews, and similar systems chunk pages into passages before retrieval. A heading acts as a clean boundary and a label for each chunk. When a section is headed "How much does X cost?", the model can isolate that passage and cite it. A wall of text gets chunked arbitrarily, so your best sentence may land mid-chunk with no clear topic and never surface as an answer.

Headings also give answer engines the question-and-answer shape they favor: a heading phrased as the query a user would type, followed by a direct two- to three-sentence answer, is close to an ideal extractable passage. Accessibility is the third payoff. Screen-reader users navigate by heading, and a page with almost none is genuinely hard to move through.

How to fix it

  1. 1

    Map the content into an outline first

    Before touching markup, read the page and note where each new subtopic begins. Every distinct idea a reader might scan for or link to should become a heading. As a rough guide, aim for a subheading every 200 to 300 words, but let the topic shifts drive placement rather than a strict word count. The finished outline should read like a table of contents that makes sense on its own.

  2. 2

    Use real heading tags in the correct order

    Insert an <h2> for each major section and an <h3> for subsections nested inside it. Keep one <h1> for the page title, then <h2> under it, then <h3> under an <h2>. Do not jump from <h2> straight to <h4>. Do not fake headings with bold text (<strong>) or a larger font, since those carry no structural meaning for crawlers or screen readers. If you also have a level-skipping problem, fix both at once.

  3. 3

    Write descriptive, query-shaped heading text

    Replace vague labels like "Overview" or "More info" with headings that state the section's actual point: "How long does onboarding take?" or "Pricing for teams of 10+". Phrasing a heading the way a user would search it makes the section a stronger candidate for featured snippets and AI Overview citations. Put the key term or question near the start of the heading, and keep each one concise.

  4. 4

    Add a direct answer under each question heading

    For answer-engine visibility, follow any question-style heading with a self-contained two- to three-sentence answer before you elaborate. This gives ChatGPT, Perplexity, and Google AI Overviews a clean, extractable passage tied to a clear label. It also improves featured-snippet odds, since Google frequently pulls the text immediately following a heading that matches the query.

  5. 5

    Apply it in your CMS, not just the theme

    In WordPress, select a block and set it to Heading 2 or Heading 3 from the block toolbar, not the font-size control. In Shopify, Wix, and Squarespace rich-text editors, pick Heading 2 or Heading 3 from the paragraph-style dropdown instead of enlarging the font. For raw HTML or a Next.js component, edit the markup directly. Confirm the change by viewing the rendered source and checking that real <h2> and <h3> tags are present.

  6. 6

    Re-run the audit to confirm density

    After publishing, re-crawl the page. The insufficient_structure flag clears once the heading-to-content ratio is healthy. Spot-check with a heading-outline browser extension or your browser's accessibility panel to see the outline the way a machine does, and confirm it reads as a coherent hierarchy top to bottom.

Example

<!-- Before: wall of content, no structure -->
<h1>Remote Onboarding Guide</h1>
<p>Onboarding remote hires involves setup, training, and check-ins...</p>
<p>...another 1,400 words with no subheadings...</p>

<!-- After: descriptive headings + extractable answers -->
<h1>Remote Onboarding Guide</h1>

<h2>How long does remote onboarding take?</h2>
<p>Most teams complete core remote onboarding in two to four weeks.
The first week covers accounts and tooling; the rest focuses on role
training and shadowing.</p>

<h2>What to prepare before day one</h2>
<h3>Accounts and hardware</h3>
<p>Provision email, SSO, and equipment at least three days early...</p>
<h3>A written onboarding plan</h3>
<p>Share a day-by-day plan so the hire knows what to expect...</p>

<h2>How to run the first-week check-ins</h2>
<p>Schedule a short daily sync for the first five days...</p>

Before: a long section under one heading. After: the same content split with descriptive, query-shaped H2/H3 tags and a direct answer beneath each.

Platform-specific steps

WordPress (Gutenberg)

Select a paragraph block and use the block-type switcher (or type /heading) to convert it to Heading 2 or Heading 3, then set the level from the block toolbar. Avoid the font-size control, which changes appearance but not structure.

WordPress + Yoast / Rank Math

Both plugins run a readability analysis that flags long text without subheadings and rewards proper distribution. Add H2/H3 headings until the subheading-distribution check turns green. These checks read the heading tags, so styled bold text will not satisfy them.

Shopify

In the product or page rich-text editor, highlight the line and choose Heading 2 or Heading 3 from the formatting dropdown, not the font-size option. For theme templates or blog sections coded in Liquid, add <h2>/<h3> tags directly in the template.

Wix / Squarespace

In the text editor, select the text and pick Heading 2 or Heading 3 from the paragraph-style dropdown rather than enlarging the font manually. Both builders map these styles to real heading tags in the output HTML.

Raw HTML / Next.js / React

Emit <h2>/<h3> at each section boundary in correct nesting order. If content is rendered from Markdown or MDX, use ## and ###, which compile to H2 and H3. Verify the rendered DOM contains the heading tags, since some component libraries wrap text in styled divs.

Free tool
Check this with the Heading Checker

Frequently asked

How many headings should a page have?

There is no fixed number, but a practical target is a subheading (H2 or H3) roughly every 200 to 300 words, placed at genuine topic boundaries. A 1,500-word article typically lands around 6 to 10 headings. The real test is whether someone scanning the outline understands the page without reading the body. Add headings to hit that, not to satisfy a quota.

Do headings actually affect SEO rankings?

Headings are not a direct ranking factor the way a title tag is, but they help indirectly and consistently. Google uses your heading outline to understand subtopics and relevance, descriptive headings can win featured snippets and jump-to links, and clearer structure improves engagement. For AI answer engines the effect is stronger, because headings define the passage boundaries these systems retrieve and cite.

Can I just make text bold or bigger instead of using headings?

No. Bold text (<strong> or <b>) and larger font sizes are visual only. Crawlers, screen readers, and AI systems see no structural meaning in them. You need actual <h2> and <h3> tags. You can style those tags to look however you want with CSS, but the underlying element has to be a real heading.

Why do AI tools like ChatGPT and Perplexity care about my headings?

These systems split pages into passages before deciding what to retrieve and cite. A heading gives each passage a clean start and a topic label, so a section headed with the user's likely question is easy to match and quote. Without headings, your content gets chunked arbitrarily and your best answer may be buried mid-chunk where the model cannot isolate it.

What's the difference between this and a broken heading hierarchy?

This issue (insufficient_structure) is about not having enough headings for the amount of content. A broken hierarchy is about the order being wrong, such as jumping from H2 straight to H4 or using multiple H1s. You can have both at once, so add the missing subheadings and make sure they nest in the correct H1 to H2 to H3 order.

Does your site have this issue?

Run a free, AI-powered audit and we’ll flag this and 150+ other checks in about a minute. No signup.

No signup needed. Results in under 60 seconds.

Related fixes