H1 Heading Missing or Duplicated

78% of advanced screen reader users navigate pages by headings (WebAIM Survey #10, 2024), so a missing or duplicated H1 directly impacts accessibility. For SEO, the H1 tells Google what the page is about. Without it, crawlers have to guess from surrounding content, which weakens your keyword relevance signals and dilutes page focus.

Start here

Before You Fix It: What This Check Means

The H1 usually defines the main page topic for both users and crawlers. In plain terms, this checks whether the page has one clear main heading for people and search engines. Scavo inspects live HTML for `<h1>` elements and evaluates count + first H1 text length.

Why this matters in practice: incorrect signals here can dilute indexing clarity and search traffic quality.

How to use this result: treat this as directional evidence, not final truth. Search indexing outcomes depend on crawler recrawl cadence and ranking systems outside your direct control. First, confirm the issue in live output: verify raw HTML output and crawler-facing validators Then ship one controlled change: Keep one H1 in the main content region. Finally, re-scan the same URL to confirm the result improves.

TL;DR: Pages are missing their primary heading or have multiple H1 tags, confusing both search engines and assistive technology.

78% of advanced screen reader users navigate pages by headings (WebAIM Survey #10, 2024), so a missing or duplicated H1 directly impacts accessibility. For SEO, the H1 tells Google what the page is about. Without it, crawlers have to guess from surrounding content, which weakens your keyword relevance signals and dilutes page focus.

What Scavo checks (plain English)

Scavo inspects live HTML for <h1> elements and evaluates count + first H1 text length.

Exact logic:

  • Fail: no H1 exists.
  • Warning: more than one H1 exists.
  • Fail: first H1 exists but is empty.
  • Warning: first H1 is shorter than 10 characters.
  • Pass: one non-empty H1 with 10+ characters.

Scavo stores h1_count, first H1 text, and first H1 length in details.

How Scavo scores this check

Scavo assigns one result state for this check on the tested page:

  • Pass: baseline signals for this check were found.
  • Warning: partial coverage or risk signals were found and should be reviewed.
  • Fail: required signals were missing or risky behavior was confirmed.
  • Info: Scavo could not gather enough reliable evidence on this run to score pass/fail confidently.

In your scan report, this appears under What failed / What needs attention / What is working for h1_tag, followed by Recommended next steps and Technical evidence (for developers) when needed.

  • Scan key: h1_tag
  • Category: SEO

Why fixing this matters

Clear H1s improve page comprehension for users, assistive tools, and search systems. A missing or weak H1 often correlates with unclear page intent and weaker content structure.

Common reasons this check fails

  • Template renders H1 in one layout but not another.
  • Component library inserts extra H1s in cards or modals.
  • CMS title field is blank.
  • H1 uses decorative text only (for example Home).

If you are not technical

  1. Ask for one clearly worded page heading per template.
  2. Request proof from page source, not just visual screenshot.
  3. Confirm the heading describes the page purpose in plain language.
  4. Re-run scan after fix.

Technical handoff message

Copy and share this with your developer.

Scavo flagged H1 heading (h1_tag). Please ensure this URL renders one non-empty <h1> with meaningful text (10+ characters). Remove duplicate H1s from layout/components and re-run the scan.

If you are technical

  1. Keep one H1 in the main content region.
  2. Demote secondary headings to H2/H3.
  3. Ensure CMS/page-title mapping cannot output empty H1.
  4. Avoid using heading levels for styling only.

Example

<main>
  <h1>Website Monitoring for Revenue-Critical SaaS Pages</h1>
</main>

How to verify

  • View source and count H1 tags.
  • Confirm first H1 has meaningful text and is not empty.
  • Test representative templates (landing, article, archive, product).
  • Re-run Scavo and confirm expected status.

What this scan cannot confirm

  • It does not judge copy quality beyond basic length.
  • It does not evaluate full heading hierarchy (that is a separate check).
  • It does not compare H1 uniqueness across the entire site.

Owner checklist

  • [ ] Assign one owner for heading structure standards.
  • [ ] Document H1 rules in your component/content guidelines.
  • [ ] Add publish QA for empty heading fields.
  • [ ] Re-test H1 output after layout/component refactors.

FAQ

Is multiple H1 technically invalid HTML?

Not strictly in modern HTML parsing models, but many teams still use a single-H1 convention for clarity and consistency. This check warns when multiple H1s appear.

Why does Scavo warn on very short H1 text?

Very short headings are often vague and reduce clarity. The check uses a pragmatic threshold of 10 characters.

Should H1 exactly match the title tag?

Not mandatory. They should align in topic, but exact string duplication is optional.

Can hidden H1 text cause issues?

Yes. Hidden or visually collapsed headings can create accessibility and maintenance problems if not intentional.

Sources


Need help standardizing H1 output across templates and CMS blocks? Send support your main layout files and page types.

More checks in this area

indexability_conflicts

Indexability Signals Conflicting — Canonical vs Noindex vs Hreflang

Learn how Scavo checks for contradictions between meta robots, X-Robots-Tag, canonical tags, and hreflang so one URL does not send search engines mixed instructions.

Open guide
meta_robots

Meta Robots or X-Robots-Tag Blocking Indexing by Accident

Learn how Scavo checks both the robots meta tag and X-Robots-Tag headers so hidden noindex directives do not quietly keep important pages out of search.

Open guide
canonical_tag

Canonical Tag Missing — Duplicate Content Splitting SEO Authority

When multiple URLs serve the same content (with and without trailing slashes, query parameters, HTTP vs HTTPS), search engines either index all versions — wasting crawl budget and diluting rankings — or pick the wrong one as canonical. A single rel=canonical tag consolidates all link equity to the version you choose and prevents indexing bloat.

Open guide