Missing H1 tag: what it means and how to fix it
The page has no H1 with any text in it. Add one heading element that states the page's main topic, close to the title tag in wording, and fix it in the template so every page of that type gets one.
Updated 28 September 2026
- Severity
- Warning
- Issue type
missing-h1- How the audit flags it
- An HTML page returning 2xx is flagged when it has no
<h1>containing text. An<h1>that is empty, or holds only an image, counts as missing, because the crawler reads the heading's text and an image's alt attribute is not text inside the element. - How to check
- One URL at a time in the free SEO checker, or every page in a site audit.
Why a missing H1 matters
The H1 is the visible headline of the page. Screen reader users jump to it to find where the content starts, and search engines read it as one of the plainest statements of what the page is about. Google uses the page's main visible heading as one of the sources when it writes a title link for a result.
A missing H1 is rarely a ranking disaster on its own. It is a cheap fix that removes ambiguity, and when one page lacks an H1 the whole template usually does, so the fix tends to cover dozens of pages at once.
The usual causes
- The headline is styled text, not a heading. A
divorpwith a large font class looks like an H1 in the browser but carries no heading semantics. - The H1 lives in one template only. Homepages and landing pages get a hero with an H1, while blog posts, product pages or docs render the title as an H2 or plain text.
- The H1 wraps a logo.
<h1><img src="logo.svg" alt="Acme"></h1>has no text inside the element, so it reads as empty. It also marks the logo, not the page topic, as the main heading. - The heading only exists after JavaScript runs. If the page is rendered in the browser, the server HTML may have no headings at all.
How to check a page
Open the page, view the source (not the inspector, which shows the DOM after scripts run), and search for <h1. If nothing comes back, or the element has no text between its tags, the page has no usable H1.
The free SEO checker runs the same rule as the site audit against one URL and reports the H1 count. To find every affected page, run a site audit and filter the issues to missing-h1.
How to fix it
Find the template or layout that renders the affected pages and make the page title an <h1>. Keep one per page. Style it however the design needs; the element and the look are separate choices.
Match the wording to the title tag without copying it verbatim. The title tag often carries the brand name and a qualifier for the results page, and the H1 can be the plainer version a reader sees on arrival.
If the logo is currently the H1, change the logo's wrapper to a div or a and give the page title the H1. If the heading is rendered client-side, render it on the server or prerender the page so it is in the HTML the crawler receives.
Re-check one page with the SEO checker after deploying, then re-run the audit to confirm the group is gone.
Fix it with a coding agent
Connect Claude Code, Cursor or Codex to IndexZero's MCP server, open your site's repo, and paste:
Run a site audit of example.com and wait until it completes. Read the missing-h1 issues, group the URLs by the template that renders them, and find each template in this repo. Make the page title an h1 in each one, with one h1 per page. Show me the diff before committing. After I deploy, re-run the audit and confirm there are no missing-h1 issues left.
Behind that prompt the agent calls run_site_audit, polls get_audit_status until the crawl completes, and reads get_audit_issues with issueType: "missing-h1". Your repo is where the fix happens: IndexZero reads your site and never changes it.
Frequently asked questions
- Does a missing H1 hurt rankings?
- Not much on its own. A good title and clear body text do most of the work. It is still worth fixing because it is quick, it helps screen reader users, and it removes one source of ambiguity about the page's topic.
- Should the H1 be the same as the title tag?
- Close, but it does not have to be identical. Both should describe the same topic. The title tag is written for the results page, and the H1 is written for someone already on the page.
- Does an H1 hidden with CSS count?
- The audit counts it, because it reads the HTML and not the rendered styles. For readers it is better to show the heading. Hidden text that differs from what visitors see is a pattern search engines are wary of.
Audit the whole site
Find every page with this issue
An agent connected to IndexZero's MCP server can crawl the whole site, read the issues of one type, find the templates in your repo and fix them, then re-crawl to confirm. The crawl itself spends no credits; only the optional Lighthouse sample does. The free plan includes the MCP server, audits of up to 50 pages, and 2,000 credits a month.
Related issues
- Multiple H1 tags: when it matters and how to fix itWhat Google says about more than one H1, why the audit still flags it, and the template mistakes that usually cause it.
- Thin content: how to find and fix itWhat a low word count does and does not tell you, the client-side rendering trap, and whether to expand, merge or noindex a thin page.
- SEO issues and how to fix themEvery check the site audit runs, grouped by severity.