HTML headings (H1 through H6) create a hierarchical outline of your page content. Search engines use this hierarchy to understand topic relationships and content structure. Screen readers use headings as navigation landmarks, making proper structure an accessibility requirement as well.
The Heading Hierarchy
<h1>Page Title - One Per Page</h1>
<h2>Major Section</h2>
<h3>Subsection</h3>
<h3>Subsection</h3>
<h2>Another Major Section</h2>
<h3>Subsection</h3>
<h4>Detail</h4>
Think of headings as a document outline. Each level represents a nesting depth. You should not skip levels (e.g., jumping from H2 to H4 without an H3 in between).
H1 Tag Best Practices
The H1 is the most important heading on the page. It tells both users and search engines what the page is primarily about.
Rules for H1 Tags
- One H1 per page. While HTML5 technically allows multiple H1 tags, using a single H1 is the strongest SEO signal and avoids confusing the content hierarchy.
- Include the primary keyword. The H1 should contain or closely match the page's target keyword.
- Make it unique. No two pages on your site should share the same H1.
- Keep it under 70 characters. Long H1 tags dilute keyword relevance and display poorly.
- Match the title tag intent. The H1 and meta title should target the same topic, though they do not need to be identical.
H2-H6 Tags
H2 tags define the major sections of your page. These are where you include secondary keywords and related topic variations. Most pages need only H2 and H3 levels. H4-H6 are for deeply structured technical documentation or long-form content.
Keyword Placement in Subheadings
Use H2 and H3 tags to naturally include related keywords and long-tail variations:
<h1>WordPress Security Guide</h1>
<h2>How to Secure Your WordPress Login Page</h2>
<h2>Essential WordPress Security Plugins</h2>
<h3>Wordfence vs Sucuri Comparison</h3>
<h2>WordPress Backup and Recovery Strategy</h2>
Each H2 targets a subtopic that supports the main H1 keyword.
Common Mistakes
Using Headings for Styling
Headings exist to define document structure, not to make text bigger or bolder. If you need large styled text that is not part of the content hierarchy, use CSS classes instead:
<!-- Wrong: using H2 for visual emphasis -->
<h2>Free Shipping on All Orders!</h2>
<!-- Right: use a styled span or div -->
<p class="promo-banner">Free Shipping on All Orders!</p>
Missing H1 Tag
Every indexable page must have an H1. Pages without an H1 force Google to guess the page topic from other signals, reducing ranking precision.
Multiple H1 Tags
Common in themes that use H1 for the site logo, article title, and widget headers. Audit your templates to ensure only the main content heading uses H1.
Skipped Heading Levels
Jumping from H2 to H4 breaks the logical hierarchy and confuses screen readers. Always nest headings sequentially.
Empty Headings
Heading tags that contain no text or only whitespace create invisible accessibility barriers and add noise to the document outline.
Audit Process
- Crawl your site with Screaming Frog and export the H1 and H2 columns. Sort to find missing, duplicate, or empty headings.
- Check for multiple H1s per page. Filter the crawl report for pages with H1 count greater than 1.
- Validate heading order using browser dev tools or the HeadingsMap browser extension, which visualizes the heading hierarchy of any page.
- Cross-reference H1s with title tags to ensure they target the same primary keyword.
- Test with a screen reader (VoiceOver on Mac, NVDA on Windows) to experience how heading navigation works for assistive technology users.
Impact on Featured Snippets
Google frequently pulls H2 and H3 text into featured snippet answers, particularly for "how to" and list-format queries. Well-structured headings that directly answer a question increase your chances of winning position zero.
<!-- This structure is snippet-friendly -->
<h2>How to Reset a WordPress Password</h2>
<p>Navigate to the login page, click "Lost your password," enter your email address, and follow the reset link sent to your inbox.</p>