August 8, 2026

What Are Heading Tags? H1, H2, H3 and Why They Matter for SEO

Heading tags are HTML elements (<h1> through <h6>) that mark up the structural hierarchy of your page content, telling browsers, search engines, and assistive technology which text serves as a title, which serves as a major section, and which serves as a sub-point. They are not styling tools. They are semantic signals, and treating them like font-size shortcuts is one of the fastest ways to undermine an otherwise solid page.

I see this almost every week with clients in Toronto and beyond: a beautifully designed page where the H1 is the logo, the H2 is a decorative tagline, and the actual article title is a styled <div>. The page reads fine to a human eye. To Google, and to a screen reader user, it’s structurally incoherent.

What Heading Tags Are (and Aren’t)

HTML defines six levels of heading tags, from H1 to H6. H1 is the most important, typically the title of the page or article. H2 introduces major sections. H3 introduces sub-sections within an H2. H4, H5, and H6 exist for deeper nesting, though most pages never need to go below H3.

The critical thing to understand is that heading tags are semantic, not stylistic. Their job is to describe what a piece of content is, not what it looks like. You can style an H3 to look bigger than an H1 with CSS, and the search engine will still treat the H1 as the primary heading.

The most common mistake I clean up on audits is people picking heading levels based on visual preference. “I used H2 because H1 looked too big.” That’s a CSS problem, not a heading problem. Adjust the styling. Don’t break the structure.

The One-H1-Per-Page Rule

You’ll hear conflicting advice on this. The HTML5 spec technically allows multiple H1s inside sectioning elements, but browsers and assistive tech never fully implemented the outline algorithm that would make this work. The spec itself now recommends sticking to a single H1 per document.

My recommendation: one H1 per page. It’s the cleanest signal of what the page is about, it matches how screen readers announce document structure, and it removes ambiguity for search engines. Google’s John Mueller has said multiple H1s won’t tank your rankings, but “won’t hurt you” isn’t the same as “is a good idea.”

Hierarchy Matters: Don’t Skip Levels

An H2 belongs under an H1. An H3 belongs under an H2. Jumping from H1 straight to H3 breaks the outline and confuses both screen readers and search engines trying to parse your content structure.

Think of your page as a table of contents. If your H1 is followed by an H3 with no H2 between them, it’s the equivalent of a book chapter that jumps from “Chapter 1” to “Section 1.1.A” with nothing in between.

Why Heading Tags Matter for SEO

  • Page structure clarity. Search engines use headings to understand the topical hierarchy of your content.
  • Featured snippet eligibility. Google pulls featured snippets and AI Overviews from content directly under a clear H2 or H3 that matches the query intent.
  • Scannability. Users skim. Strong headings let visitors jump to the section they care about.
  • Accessibility. Screen reader users navigate pages by heading. A logical structure makes your site usable for people with visual impairments.
  • Internal keyword relevance. Headings are a natural, non-spammy place to include topic-relevant terms.

Common Mistakes I See Constantly

MistakeWhy It Hurts
H1 wrapped around the logoEvery page ends up with the same H1 (your company name)
Multiple H1s on one pageDilutes the primary topic signal
Headings used for stylingBreaks semantic structure for a font size you could fix with CSS
Skipping levels (H1 to H4)Creates a broken outline
No H1 at allRemoves the strongest single signal of what the page is about
Stuffed, keyword-spam headingsReads like a robot wrote it

Setting Heading Tags in WordPress

In the Gutenberg block editor, add a Heading block and use the dropdown to select H1, H2, H3, etc. The default for a new Heading block is H2, which is correct, because in a typical WordPress setup, your post title is already rendered as the H1 by the theme.

That’s the catch worth flagging. Most WordPress themes automatically wrap the post or page title in an H1. If you also add an H1 inside the body, you now have two H1s. The fix: let the theme handle the H1 via the post title field, and start your in-body headings at H2.

To check, load any published post and inspect the title element in your browser’s dev tools. It should be an <h1>. If it’s a <div> or <h2>, the theme needs adjustment.

H1 vs. Title Tag: Similar but Distinct

The title tag (<title>) lives in the <head>. It’s what appears in the browser tab and as the clickable headline in search results.

The H1 lives in the body of the page and tells visitors who arrive what the page is about. They often say similar things, but they don’t have to be identical.

A Quick Self-Audit

Pick three of your most important pages and check:

  1. Does the page have exactly one H1?
  2. Does the H1 describe what the page is about, in plain language?
  3. Do the H2s and H3s follow a logical nested order?
  4. Are any headings being used purely for visual styling?
  5. Does the H1 work alongside the title tag, rather than duplicating it word-for-word?

Fix any “no” answers and you’ve already done more for your on-page SEO than most of your competitors. Heading tags aren’t glamorous, but they’re foundational, get them right, and every other optimization works harder.

Discover more from seobyzack.com

Subscribe now to keep reading and get access to the full archive.

Continue reading