A missing h1 tag on 6 of 27 homepages, for two different reasons

A missing h1 tag leaves engines without the one element stating what a page is. Six of 27 homepages read on 2026-08-17 have none — and the fix is opposite depending on whether the HTML is 3 KB or 938 KB.

Rankings & Citations4 min read2518 views
A missing h1 tag on 6 of 27 homepages, for two different reasons

FIELD TEST · 2026-08-17 · 30 sites · single snapshot

Sample and method: the same 30 sites from our robots.txt and sitemap surveys. One homepage request each, browser user agent, 2026-08-17. Three refused us, so counts are out of 27. Same crawl as four other posts in this batch.

A missing h1 tag leaves an engine without the one element that says, in the page's own markup, what this page is. Six of 27 homepages have none. They are not small sites — The Verge, BBC, TechCrunch, Substack, Hacker News and Canva. Three more ship two h1s. The remaining eighteen have exactly one.

Who has none, and how big their HTML is

The size column is the interesting part, because it splits the six into two completely different problems.

Siteh1 countHTML delivered
theverge.com0938 KB
bbc.com0614 KB
techcrunch.com0464 KB
substack.com0217 KB
news.ycombinator.com035 KB
canva.com03 KB

How we measured it

Deliberately crude, and fixed before the crawl.

  1. Request the homepage once with a desktop browser user agent, following redirects.
  2. Count occurrences of <h1 followed by whitespace or > in the delivered HTML.
  3. Record the byte length of that HTML alongside it.

This counts tags, not visible headings. An h1 hidden by CSS still counts here, and a heading styled to look like one but marked up as a div does not.

Two different diseases, one symptom

Canva delivered 3 KB. That is not a page, it is a loader — no h1, no meta description, no canonical, no structured data, because none of it exists until JavaScript runs. Anything that does not execute the page sees an empty shell.

The Verge delivered 938 KB and still has no h1. The content is right there in the HTML; the markup simply never promotes any of it to a top-level heading. That is a template decision, not a rendering problem, and it is a one-line fix.

Hacker News sits in the middle at 35 KB of hand-written HTML that predates most of this debate. Its content is fully readable. It just does not use headings at all.

The distinction matters because the two need opposite fixes. One needs server-side rendering. The other needs someone to change a div to an h1.

Three sites ship two h1s, and that is not an error

Stripe, Webflow and Cloudflare each deliver two. The HTML5 spec permits multiple h1 elements inside sectioning content, so nothing is broken.

What it costs is specificity. If a page has one h1, an engine has one candidate answer to "what is this page about". With two, it has to pick, and the pick is not yours to make. On a homepage carrying both a product headline and a campaign banner, that choice is not obvious.

Why this matters more for AI answers than for rankings

Heading structure is how an extractive system finds the boundary of a quotable passage. An answer engine pulling a claim off your page needs to know which chunk of text belongs to which question, and headings are the cheapest available signal for that.

We are stating that as reasoning, not as a measured result. We did not test citation rates against heading structure, and we are not going to imply a number we do not have.

What we did not check

We only looked at homepages, which are the least representative page on most sites. Article pages almost certainly behave differently — The Verge's individual stories may well carry an h1 even though its front page does not, and this crawl cannot see that.

We also cannot tell whether any of these six render an h1 client-side. Canva almost certainly does. Whether an engine that executes JavaScript would then see it is a separate question we did not measure.

How to find a missing h1 tag on your own pages

One command answers it, and the answer is more reliable than looking at the rendered page — which is exactly where this problem hides.

  • Fetch your page with curl and count h1 tags. If curl shows zero and your browser shows a heading, it is being added after delivery.
  • Keep one h1 per page, and make it say what the page is rather than what the brand is.
  • Do not count on a crawler running your JavaScript to find the heading.
  • Do not style a div to look like a heading. It reads correctly to a person and not at all to a parser.

An earlier crawl of our own five sites found exactly one homepage without an h1 — that write-up is what AI crawlers actually see on your site, and this survey is the wider version of that one observation. What to do with the headings once they exist is covered in what makes content citable by AI. Running this check across every page instead of the homepage is what QueryWin is being built for.

Common questions

Is a missing h1 tag a ranking penalty?

No documented penalty exists, and we did not measure rankings. It removes a signal rather than triggering a punishment, which is a smaller and vaguer cost — and harder to notice.

Can I have two h1s?

The spec allows it and three sites here do it. The cost is that you stop having one obvious answer to what the page is about.

Does the h1 have to match the title tag?

They serve different readers — the title is for the results page, the h1 is for the page itself. Keeping them close avoids contradicting yourself; making them identical is not required.

What about h2 and below?

Those carve the page into sections, which is the part extraction actually leans on. An h1 without any h2s is a page with a name and no internal structure.

A missing h1 tag on 6 of 27 homepages, for two different reasons