H1 tag SEO: what the heading level decides, and where your h1 actually gets read
H1 tag seo is one decision per page: which single heading names the whole thing. Google has published that heading order does not affect Search and that no ideal number of headings exists — while listing heading elements among the nine sources it can build a result headline from. The audit command, a seven-row reading table, and three fixes.

H1 tag seo is one decision, made once per page: which single heading names the whole page. Google has published that heading order does not affect Search, and that no ideal number of headings exists. What your headings still do is feed the headline Google builds for the result, and tell a reader which part of the page answers them. Below: the audit command, a table for reading its output, three fixes.
Read this after structure a page for ai answers, which decides what sections a page has. This chapter is the layer under it — once the sections exist, the heading level is how you declare which one contains which.
What does h1 tag seo actually decide?
It decides depth, and nothing else. The HTML specification is blunt about the mapping: "These elements have a heading level given by the number in their name. The heading level corresponds to the levels of nested sections. The h1 element is for a top-level section, h2 for a subsection, h3 for a sub-subsection, and so on" (HTML Standard, section 4.3, read 2026-09-10).
Two consequences follow, and both surprise people. First, the number is not a size. An h3 is not "smaller text than an h2"; it is a claim that this block belongs inside the previous h2. Second, you do not need <section> elements to make that claim — the spec shows a flat run of h1/h2/h3 and a nested version wrapped in sections, and calls them semantically equivalent for outline purposes.
Set the heading level to the depth of the content, not to the size of the type you want.
Does Google care if you skip from h2 to h4?
No, and it says so in writing. From the SEO Starter Guide, under the section headed "Things we believe you shouldn't focus on": "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. The web in general is not valid HTML, so Google Search can rarely depend on semantic meanings hidden in the HTML specification" (SEO Starter Guide, read 2026-09-10).
The same passage closes the counting question too: "There's also no magical, ideal amount of headings a given page should have. However, if you think it's too much, then it probably is."
So the ranking argument for tidy heading levels is gone, and you should stop repeating it. Two other readers keep it alive. The first is named in Google's own sentence — screen readers, for whom the order is the navigation. The second is the extraction that decides which passage of your page gets quoted back to someone in an answer, which works on the block a heading introduces. Neither is a ranking factor. Both are reasons the level should match the depth.
Where does an h1 actually get read?
In the headline of your search result, as one candidate among nine. Google publishes the list of sources it may build a title link from, and two entries on it are headings: "Heading elements, such as <h1> elements" and "Main visual title shown on the page" (Title links, read 2026-09-10).
That is the whole mechanism, and it explains the two failure modes that matter. If your h1 says something different from your <title> element, you have handed Google two candidates and no way to say which you prefer; the seven situations where it swaps yours out are worked through in title tag seo. If the page has no h1 at all, one candidate is simply missing from the list.
How do you print a page's heading outline?
One command, five steps, no tooling to install. The point is to see the outline a parser gets rather than the one your eyes assemble from font sizes — those two disagree more often than you would guess.
- Fetch the raw HTML, not the rendered DOM. Anything injected later is a separate question, and you want the version that arrives first.
- Strip
<script>and<style>blocks before matching, or a heading written inside a JavaScript template string will be counted as a real one. - Match
<h1>through<h6>in document order, with a guard on the tag name. Without it, a custom element called<h1-banner>matches as an h1. - Indent each line by its level so the nesting is visible at a glance.
- Read the result next to the rendered page and find the lines that are in one and not the other.
curl -sL -A 'Mozilla/5.0 (Macintosh) Chrome/126.0' https://example.com/ \
| python3 -c "
import html, re, sys
doc = sys.stdin.read()
doc = re.sub(r'<(script|style)[^>]*>.*?</\1>', ' ', doc, flags=re.S|re.I)
for m in re.finditer(r'<h([1-6])(?![\w-])[^>]*>(.*?)</h\1>', doc, re.S|re.I):
text = re.sub(r'\s+', ' ', html.unescape(re.sub(r'<[^>]+>', '', m.group(2)))).strip()
print(' ' * (int(m.group(1)) - 1) + 'h' + m.group(1) + ' ' + text[:70])
"
Run against Google's own SEO Starter Guide on 2026-09-10, it returns 30 heading elements: one h1, 11 h2, 16 h3, two h4. Step 5 is where that page earns its place as an example. The three items under "Things we believe you shouldn't focus on" — including the sentence about heading order quoted above — are not in those 30. They are <dt> elements in a definition list, which is the right element for a term and its explanation and the wrong one for a section of the document. On the screen they look like headings. In the outline they do not exist. That is a small sample of one page, and it is enough to show the failure mode.
The reading table
Seven patterns cover almost everything the command turns up. The third column is the fix, and in four of the seven rows the fix is to leave it alone.
| In the outline | Usual cause | What to do |
|---|---|---|
| No heading at all | Headings render from JavaScript, or the text is styled <div> | Fix it — the page has no outline for anyone, and no h1 for the headline list |
| First heading is h2 or lower | A nav or utility block ships its own heading before the content | Fix it if the page has no h1 at all; leave it if the h1 comes later and names the page |
| Two h1s, different text | A site-name h1 in the header plus a page-title h1 | Demote the site name; the page needs one heading that names it |
| Two h1s, same text | A visible title and a screen-reader copy | Leave it. Duplicate text is not a second claim |
| A jump of two or more levels | The level was picked for type size | Reset to the depth. No ranking effect, but the block reads as belonging to the wrong parent |
| An empty heading | An icon or image with no alt inside the tag | Give it text or make it a <div> |
| h5 or h6 with no h4 above | Small type used as a label | Leave the words, change the element to <p> or <dt> |
Three ways the fix goes wrong
All three come from treating heading levels as a score to raise rather than a description to correct.
- Rewriting the h1 to hold a search term, and breaking its match with the title element. You now have two competing candidates for the same headline slot, which is the situation the title link documentation exists to describe. Change both or neither.
- Promoting styled text into headings so the outline looks complete. A page with 40 headings and 12 paragraphs has an outline nobody can navigate. Google's line applies here as written: if you think it's too much, then it probably is.
- Hiding an h1 off-screen to satisfy a checker. The tool goes green and no reader gains anything. If the page needs a name, the name should be visible; if it does not, the checker was wrong.
Where this stops helping
Two limits, and the second one is the honest answer to the question people actually ask. Heading structure will not move a page that is losing on relevance — reordering the outline of a thin page produces a tidier thin page. And we cannot tell you how much a heading weighs against the title element or against link text, because Google lists all of them among the sources for a result headline and has never published an order. Anyone selling h1 tag seo as a ranking service is selling something Google has said in writing it does not use that way. If the page is not being found at all, start from the gap diagnosis instead.
Common questions
How many h1 tags should a page have?
One, because one heading naming the page is what makes the outline readable. More than one is valid HTML and Google has not published a penalty for it. The reason to keep it at one is that the second h1 is usually the site name, which is not what the page is about.
Does the h1 have to match the title tag?
No, and often it should not — the title element competes in a search result and the h1 sits at the top of a page someone has already opened. Keep the same subject in both. Different wording is fine; a different subject is the problem.
Do heading levels affect rankings?
Google says the order does not, in the passage quoted above. Whether the words inside a heading carry weight is a separate matter it has not quantified, and we are not going to fill that in.
Should the logo be the h1 on the homepage?
Only if the homepage is genuinely about the company, which for most brand homepages it is. On a page about one product or article, the logo as h1 spends the page's one naming heading on something every other page also says.
What if the CMS will not let me change the h1?
Then leave it and spend the effort on the h2s, which almost every template does let you write. The measured shape of this problem across real sites is in h1 h2 h3 across 27 homepages, where 11 of the 27 homepages did not open with a level-one heading either.
Part of the QueryWin handbook · Level 2


