H1 Tag

No Comments
H1 tag

The H1 tag is a page's main on-page headline, marked up as <h1>...</h1> — the one element that tells both a visitor and a crawler "this is what the page is about" in a single line. Get it wrong sitewide and you hand Google a weaker topical signal on every URL at once, which is why it shows up in every audit checklist ever written.

H1 vs. title tag, in one breath

The title tag lives in the SERP and the browser tab; the H1 lives on the page. They should agree on topic without being forced to match word-for-word — Google's John Mueller has said matching is not required, and the reasoning is covered in Google: should H1 and title tags match?. The title is compressed ad copy fighting for a click; the H1 can breathe, because its reader already arrived.

A real example: same page, two headlines

A pricing comparison page might carry:

<title>Standing Desk Prices 2026: 14 Models Compared</title>
<h1>What a Decent Standing Desk Actually Costs in 2026</h1>

Same topic, same intent, different jobs. The title packs the year and the count for the SERP scan; the H1 sets the tone for someone who is now reading. Both confirm the searcher landed in the right place, which is the real anti-bounce mechanism.

Where H1s actually break: your theme, not your writing

In practice, most H1 problems on real sites are not editorial — they are shipped by the theme or page builder. You wrote a perfectly good headline; the template wrapped something else in <h1> behind your back. This table is the stuff I find in almost every WordPress or builder-based crawl:

Pattern the theme producesHow it happensCostFix
Logo or site name wrapped in <h1> on every pageClassic theme convention: header.php uses H1 for the brand, everywhere, not just the homepageEvery page's "main heading" is your brand name; the real headline demotes to H2 or worseChange the logo wrapper to a <div> or <p> site-wide except (optionally) the homepage
Multiple H1s per pageHTML5 sectioning theory plus page builders that let every hero widget emit an H1Diluted topic signal, ambiguous outline for screen readers; legal HTML, sloppy practiceOne H1 for the page topic; demote the rest — see multiple H1 tags
No H1 at allDesigner styled a <div class="hero-title"> to look like a headline; markup says nothingCrawlers fall back to weaker signals; the strongest heading slot sits empty — details in H1 tag is missingSwap the styled div for a real <h1>; keep the CSS class
H1 present but emptyTemplate prints <h1></h1> when a field is blank, or the H1 wraps an image with no alt textWorse than missing — it announces a heading and delivers nothingPopulate the field or make the template skip the element when empty
Same H1 duplicated across hundreds of URLsTemplated category/product pages all inherit one static headingPages become indistinguishable at the heading level; pairs with duplicate-title problems — see URLs with duplicate H1sInject the page-specific variable (product name, category + qualifier) into the heading template
H1 injected or replaced by JavaScriptA/B testing tools and JS frameworks swap the headline after loadRaw HTML and rendered HTML disagree; what Google indexes depends on rendering timingServer-render the real headline; test variants without rewriting the H1 element

How to check it on your own site

  1. Crawl with Screaming Frog and open the H1 tab. The filters — Missing, Duplicate, Multiple, Over 70 Characters — map one-to-one onto the table above.
  2. On any single page, hit F12 and run document.querySelectorAll('h1') in the console. The count should be 1. If it is 0 or 3, view source to find what the theme is doing.
  3. Compare raw source (Ctrl+U) against the rendered DOM for your key templates. A mismatch means JavaScript is rewriting your headline after load.
  4. Check your homepage separately — it is usually the one page where the logo-as-H1 convention was deliberate, and the one page where it is defensible.
  5. Spot-check with a screen reader or the HeadingsMap browser extension to see the outline as assistive tech sees it.

Common audit mistakes

  • Reporting "multiple H1s" as a critical error. It is not a penalty and Google has said it handles multiple H1s fine. Flag it as a hygiene fix, prioritize it below real problems, and keep your credibility.
  • Fixing H1 copy page-by-page when the problem is one template. If 400 URLs share a broken H1 pattern, the fix is one line in header.php, not 400 content edits. Diagnose at the template level first.
  • Forcing H1 and title to be identical everywhere. You throw away the chance to write each for its own audience, and you gain nothing.
  • Keyword-stuffing the H1. "Standing Desks | Buy Standing Desk | Best Standing Desks 2026" as a visible page headline reads like spam to every human who lands there. One clear phrase wins.
  • Ignoring what sits under the H1. A perfect H1 over a broken H3→H2→H4 mess still leaves the page's outline useless. The H1 is only the top of the hierarchy — the rest is covered in heading structure.

FAQ

Is the H1 a ranking factor?

It is a signal Google uses to understand the page, and a weak one compared to content and links. Treat it as topical clarity, not a lever you crank.

Can a page rank without an H1?

Yes — Google can figure pages out from other signals. But you are making the crawler guess about the one thing you could state plainly, and there is no upside to that trade.

How long should an H1 be?

Long enough to state the topic specifically, short enough to read as a headline — most good ones land between 20 and 70 characters. Unlike the title tag, nothing truncates it, so precision matters more than length.

Are multiple H1s ever acceptable?

HTML5 permits them and Google tolerates them. But screen-reader users rely on a single H1 to anchor the page, and one clear H1 costs you nothing. Permitted and smart are different things.

Should the H1 contain my keyword?

If the H1 honestly describes the page, the primary keyword or a close variant ends up in it naturally. Write the headline first, then check — forcing it in the other direction produces stilted headlines.

Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.

About SEO ProCheck

Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.

Work With Me

Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.

Subscribe to our newsletter!

More from our blog