H1 h2 h3 SEO: 991 headings on 27 homepages, and four times more h6 than h5

H1 h2 h3 SEO advice is usually a rule about order, and Google says that order does not matter to Search. Across 991 headings on 27 homepages read on 2026-09-08, h6 appears 38 times against 10 for h5, and eleven homepages open with something other than an h1.

Rankings & Citations8 min read2128 views
H1 h2 h3 SEO: 991 headings on 27 homepages, and four times more h6 than h5

FIELD TEST · 2026-09-08 · 27 homepages · one request each · heading levels in the served HTML

Sample and method: 30 homepages fetched once each on 2026-09-08 with a desktop Chrome user agent, redirects followed, no JavaScript executed, exit node in Japan. Three dropped out — stackoverflow.com and medium.com each returned 403, and www.reddit.com answered with an 8 KB block page — leaving 27. Every heading element was read from the served HTML in document order, after HTML comments were stripped.

H1 h2 h3 SEO advice almost always arrives as a rule about order. These 27 homepages do not follow it. Across 991 headings, 26 are h1, and h6 appears 38 times against 10 for h5 — an outline cannot contain more h6 than h5 unless levels are being skipped. Eleven homepages open with something other than an h1, and one opens with an h5. Google says the order does not matter for Search.

How we measured this

One GET per site, homepage only, desktop Chrome user agent rather than Googlebot. The served HTML was written to disk and every <h1> through <h6> element was collected in source order, so a "first heading" here means the first one in the byte stream, not the first one a visitor sees on screen.

# Count heading levels in the HTML your server actually sends
curl -s https://example.com/ \
  | grep -oE '<h[1-6][ >]' | tr -d '<>' | sort | uniq -c

# More h6 than h5 in that output means levels are being skipped

Comments were removed before counting. That step mattered: several sites keep commented-out markup in the head, and an uncorrected count would have credited them with headings no parser will ever see. Numbers were computed twice, once with comments and once without, and the two runs agreed at 991 — so on this panel the correction changed nothing, which is worth saying out loud rather than presenting the clean number as if it needed no checking.

Three limits. We read the served HTML and executed no JavaScript, so a site that builds its headings in the browser would look emptier here than it is to a rendering crawler. We measured one address per site, so this describes 27 homepages and not 27 sites. And we cannot connect any of it to an outcome: nothing here shows that a skipped level cost a ranking or a citation, and we did not test for that.

What Google actually says about heading order

It says the order does not matter to Search. The wording in the SEO Starter Guide is direct: "Having your headings in semantic order is fantastic for screen readers, but from Google Search perspective, it doesn't matter if you're using them out of order" (SEO Starter Guide, read 2026-09-08). On heading counts the same page declines to give a number: "there's no magical, ideal amount of headings a given page should have. However, if you think it's too much, then it probably is."

Heading levels are not a ranking instruction. They are a record of how the page was assembled.

That reframes the whole measurement. Nothing below is a scorecard, and a site that skips from h4 to h6 is not breaking a Google rule. What the levels reveal is the decision each team made when they picked a tag: some picked by position in an outline, and some picked by how big the text needed to look.

Where the levels land: 991 headings, 26 of them h1

The distribution is lopsided in a way that only makes sense if the middle levels are being used as styling. Two levels carry 86.1% of everything, and the bottom of the range inverts.

LevelCountShare of 991Sites using it
h1262.6%22 of 27
h247347.7%25 of 27
h338038.3%22 of 27
h4646.5%11 of 27
h5101.0%2 of 27
h6383.8%4 of 27

Thirty-eight h6 against ten h5 is the finding. In a nested outline every h6 needs an h5 above it, so a panel with nearly four times more h6 than h5 is a panel where h6 was chosen for something other than depth. Cloudflare accounts for 24 of the 38, and its h6 elements are the large statistics on the homepage — "4.5x faster" and "310B" are both marked as sixth-level headings, directly after an h2 reading "Region: Earth". Framer holds another 7.

Two sites use h5 at all. One of them is Vercel, and that is where the pattern is easiest to see, because Vercel's first four headings in the source are h5: "Agent Stack", "Core Platform", "Tools", "Learn". Those are navigation menu group labels. The page does have an h1, further down.

Eleven homepages do not open with an h1

Eleven of 27 begin with something else, and the substitutes are spread across four levels. This is the most common deviation on the panel, more common than skipping.

First heading in sourceSitesWhich ones
h116the rest of the panel
h26figma, webflow, netlify, bbc, theverge, github
h33techcrunch, substack, about.gitlab
h51vercel
no heading at all1news.ycombinator

Hacker News has zero headings on the entire page. Its layout is a nested table from an era that predates the argument, and it ranks anyway — a useful thing to keep in view before treating any of this as a defect.

TechCrunch is the odd one for a different reason. Its first heading in the source is an h3 that reads "Something went wrong. Disable your adblocker on TechCrunch". That is an error message in a hidden container, and it is the first structural label anything parsing the document will meet. Counting h1 elements alone would never have surfaced it. That specific case is separate from the broader question of a missing h1 tag, which 5 of these 27 homepages have.

Two sites ship duplicate headings with identical text: Stripe sends the same h1 sentence twice, and Framer sends "Design with an agent" as an h3 twice. Four headings across three sites are empty — an opening tag, a closing tag and nothing between them.

Nine sites skip a level, and the jumps cluster at the bottom

Fifteen jumps across nine sites, and ten of the fifteen land on h6. The concentration is the point: skipping is not evenly distributed, it happens when a team reaches for the smallest heading tag to get small text.

SiteJumpsThe jump
www.cloudflare.com5h2 to h6 once, h4 to h6 four times
www.framer.com3h3 to h6, three times
supabase.com1h2 to h6
www.wired.com1h3 to h6
linear.app1h1 to h3
arstechnica.com1h1 to h4
react.dev1h2 to h4
www.theverge.com1h2 to h4
techcrunch.com1h3 to h5

Eighteen of 27 homepages have no jump at all. Twenty-one sites never use h5 or h6 at any point, which is one way to be safe from the whole problem: an outline that stops at h4 cannot skip into a level it does not use.

What h1 h2 h3 SEO advice gets right, and where it overreaches

The advice is right that levels should describe depth, and wrong when it promises a ranking effect. Google has answered the ranking half in writing, and the answer is that out-of-order headings do not matter to Search. So the reason to fix a jump is not traffic.

  • Fix it for screen readers — Google's own sentence names them as the beneficiary, and that is a real user, not a proxy for one
  • Fix it when the level is standing in for a font size, because the next redesign will move the text and leave the tag behind
  • Do not renumber a page expecting a ranking change, and do not let anyone sell you one
  • Do not add an h1 to a page that already states its subject clearly in a heading of another level — eleven homepages here open with another level, and nothing on this panel separates them from the rest

There is one more reason, and it is the one this site cares about most. An extractor deciding where a passage begins and ends has very little to work with: the heading above the text, and the next heading of the same or higher level. When "310B" is an h6 sitting under an h2, the boundary logic has nothing sensible to draw. That argument is about being quoted, not about being ranked, and it is set out in how to structure content for AI answers. We have no measurement showing it changes citation rates. We are stating the mechanism, not a result.

The five-minute version: run the command above on your own homepage, and read only two things. Is the first heading in the source the one you would name if somebody asked what the page is about? And is your h6 count higher than your h5 count? If you also want to know what a crawler can reach before it ever parses a heading, the gap diagnosis starts one layer earlier.

Common questions

How did you measure this?

One request per homepage on 2026-09-08, desktop Chrome user agent, no JavaScript, comments stripped, headings collected in source order. Twenty-seven sites after three exclusions. The command in the method section reproduces the level counts on any single page.

Does skipping heading levels hurt SEO?

Google says it does not affect Search. The published sentence is that out-of-order headings are a screen reader concern and do not matter from a Search perspective. We did not run an experiment, and on a live site you could not isolate it anyway.

Should every page have exactly one h1?

On this panel, 18 have exactly one, 4 have two, and 5 have none. Stripe has two identical h1 elements and Cloudflare has two different ones. Nothing here separates those groups by outcome, so we cannot answer the "should" — we can only report that the largest sites on the panel are not agreeing with each other.

Why count h5 against h6 rather than looking at each page's outline?

Because the ratio survives being taken out of context. An outline has to be read page by page, but a panel with 38 h6 and 10 h5 has already told you that some of those h6 elements have no h5 above them, without opening a single page.

H1 h2 h3 SEO: 991 headings on 27 homepages, and four times more h6 than h5