The <h1> tag is a page's main heading - second only to <title> in SEO importance. A homepage without one looks topic-less to Google's algorithm, and screen-reader users lose their primary navigation anchor.
Why this matters
Google uses H1 as a strong topic signal. A page with H1 "SEO Services for Small Business" gets a ranking boost on queries containing that phrase - the H1 reinforces what title and meta description already declare. A page without an H1 looks unfocused; Google has to guess the topic from body text, often inaccurately.
The Helpful Content system, active since 2022, evaluates the semantic hierarchy of every page - whether there is a logical H1 to H2 to H3 sequence. A page that opens with H2 instead of H1 looks structurally messy, and the algorithm scores it lower. Chrome's Lighthouse and most automated accessibility scanners flag a missing H1 as an error.
For accessibility, international accessibility guidelines requires an H1 on every page. Screen-reader users (NVDA, JAWS, VoiceOver) start navigation at the H1 - a missing one slows down comprehension and sometimes causes them to skip the page entirely. It is also a common citation in ADA accessibility lawsuits.
How to detect
Open the homepage in a browser, press F12 to open DevTools, and in the Elements panel press Ctrl+F to search for <h1. Zero matches means no H1. If found, inspect the content and parent element - an H1 inside the logo or inside a global header is not a content H1.
Complementary check: in DevTools Console paste document.querySelectorAll('h1').length - 0 means missing. Then paste document.querySelectorAll('h1, h2, h3, h4, h5, h6').forEach(h => console.log(h.tagName, h.textContent)) to inspect the entire heading hierarchy.
Third check: use the browser extension HeadingsMap, or run the page through https://wave.webaim.org/. Both visualize the heading structure and flag missing H1s.
How to fix
The approach depends on how the homepage is configured. If the homepage is a Static Page (Settings > Reading > "A static page"), open that page for editing. Add a Heading block at the top, set the level to H1, and write the main headline of the site.
If the homepage is the latest-posts feed ("Posts page"), you must edit the template. Open home.php or front-page.php in the active theme (Appearance > Theme File Editor). Add <h1>Your main blog headline</h1> at the top of the template, above the loop.
For Block themes (FSE) on WordPress 6.0+, go to Appearance > Editor > Templates > Front Page or Home. Insert a Heading block at the top with level H1.
H1 content rules: 3-8 words, contains the primary keyword of the site, and does not duplicate the <title> verbatim (looks suspicious). Good examples: "SEO Services for Growing Businesses", "Specialty Coffee Beans and Subscriptions".
Common mistakes
First mistake: marking the logo as H1. Many themes wrap the site logo in an H1 across every page - that is wrong. The logo should be a <div> or <span> styled with CSS, and the H1 reserved for the main content headline of each page.
Second mistake: ending up with multiple H1s. If you add a new H1 but the theme already emits a logo H1, you now have two - not better than missing one. Recount after adding.
Third mistake: targeting an overly generic phrase. "Welcome" or "Home" make terrible H1s. Use the H1 to capture the strongest keyword you want to rank for.
Fourth mistake: page-builder hero blocks defaulting heading to H1 - creating an H1 you do not control. In Elementor, Divi, or Beaver Builder, edit the section and change the HTML Tag of the Heading widget explicitly.
Verifying the fix
Reload DevTools and check document.querySelectorAll('h1').length - expect exactly 1. Run a Lighthouse audit (DevTools > Lighthouse > SEO + Accessibility) - both should pass. Run the page through https://wave.webaim.org/ and confirm no "Missing first level heading" error. Re-run the RankPlus audit - the issue should clear.
display: contents or insert a visually hidden H1 via position: absolute; left: -9999px - not ideal but a quick mitigation until you can replace the theme.