The H1 tag: one per page and what to put in it
·4 min read
The H1 tag is the main visible heading of a page, the line that tells a reader what they landed on. For SEO, use one H1 per page, make it name the page's topic in the words people search with, and put it at the top of the main content. Google does not penalize extra H1s, but a single clear one is the easiest signal to get right and the hardest to misread.
The H2 to H6 outline is covered in our guide to header tags.
Should a page have only one H1 tag?
Google says it does not have to. In an October 2019 episode of its Ask Google Webmasters series, John Mueller said Google's systems have no problem with multiple H1 headings on a page.
Google's SEO starter guide goes further. It says there is no ideal number of headings, and that heading order does not matter to Google Search, though semantic order helps screen readers.
So why keep one? Because of how Google picks the title it shows in results. Its title link documentation lists heading elements such as <h1> among the sources it draws from, and says that when a page has several large, prominent headings, Google may use the first one. It recommends making the main title stand out, for example by putting it in the first visible <h1>. Three competing H1s give Google three candidates. One gives it the answer.
In practice, extra H1s are rarely a deliberate choice. They come from a theme that wraps the logo in an H1 and a page builder that adds another for the hero text. Fix those because they are accidents, not because Google punishes them.
H1 tag vs title tag
The title tag is metadata in the <head>. It shows in the browser tab and is Google's first choice for the blue link in search results. The H1 is on the page, in the body, and it is what a visitor reads once they arrive.
| Title tag | H1 tag | |
|---|---|---|
| Where it lives | <title> in the <head> |
<h1> in the <body> |
| Who sees it | Searchers, in results and tabs | Visitors, on the page |
| Length | Cut to fit the result width | No limit, but keep it to one line |
| Can include the brand | Usually, at the end | Rarely needed |
They should agree on the topic without being identical, and the title can carry the brand while the H1 does not. If the two describe different things, Google has a reason to ignore your title and write its own. Our post on the title tag covers the other half.
What to put in your H1
Write the H1 as the plain answer to "what is this page?"
- Lead with the term people search for. "Running shoes for flat feet" beats "Find your perfect stride."
- Describe this page, not the site. The homepage H1 can name what the business does. A product page H1 is the product name.
- Keep it short enough to read at a glance. Ten words is plenty.
- Make it unique across the site. Twenty category pages all headed "Shop" tell nobody anything.
Common H1 problems
Most H1 issues come from templates and frameworks, not from writers.
Missing H1
The page has H2s, or no headings at all, and the main title is a styled <div> or <p>. Google can still find a title from large, prominent text, but screen reader users lose the jump-to-heading shortcut and you lose your clearest topic signal. Change the element to <h1>.
The logo as the H1
Many older themes wrap the site logo in an H1 on every page:
<h1><a href="/"><img src="/logo.svg" alt="Acme"></a></h1>
<h1>Running shoes for flat feet</h1>Now every page has an H1 that says "Acme", first in the source. Change the logo wrapper to a plain <a> or <div> and keep the page title as the only H1.
H1 hidden with CSS
Some sites keep an H1 for SEO but hide it with display: none or position it off-screen, and show a styled image instead. Google's spam policies list off-screen text and zero-size text as hidden text abuse when it is there only to manipulate search engines. Text meant for screen reader users is allowed. If the visible design already shows the title, make that the H1 and drop the hidden copy.
H1 injected by JavaScript
Single-page apps often render the H1 in the browser after load. Google renders JavaScript before indexing, so it usually sees the heading. Many AI crawlers fetch raw HTML and do not run scripts, so they see a page with no H1 at all. Server-render the main heading. Our JavaScript SEO guide shows how to check what a crawler gets.
Check your H1 tag with the On-Page SEO Checker
The On-Page SEO Checker fetches a page's HTML and lists every heading in order, H1 through H6. It warns when there is no H1, when there is more than one (and quotes the first), when a heading comes before the H1, and when headings are empty or skip a level. An H1 that wraps only a logo image is read by its alt text, so you see exactly what it says. It also checks the title tag and meta description on the same page.
Add a target query and it reports which of the query's words are missing from your H1, title, URL and body. Each run costs 8 credits. It reads the HTML the server sends and does not run JavaScript, so an H1 added in the browser after load shows up as missing, which is also what most AI crawlers see.