Open ten random blog posts and you’ll likely find at least three misusing heading tags in some way: an H1 buried mid-page, an H3 jumping straight to an H5 with nothing in between, or headings picked purely because they looked bold rather than because they marked a real section break. None of these mistakes are visible to a casual reader scrolling through. They’re very visible to a screen reader trying to navigate the page, and to a search engine trying to figure out what the content is actually about.
Heading tags aren’t a styling tool. They’re a structural map of your content, and getting that map right affects both accessibility and SEO, plus how easily a reader can scan your page for the part they actually care about.
What Heading Tags Are Actually For
HTML gives you six levels of heading, H1 through H6, each one meant to represent a level of the document’s outline, the same way a table of contents nests chapters under a book title and sections under chapters. H1 is the book title. H2s are the chapters. H3s are the sections inside those chapters. The hierarchy should reflect the actual logical structure of your content, not whatever font size looked good when you were formatting the post.
Search engines parse this structure to understand what a page covers and how its sections relate to each other. Screen readers use it even more directly: a visually impaired visitor can jump between headings to navigate a page the same way a sighted visitor skims with their eyes, but only if the heading structure is logical. A page with headings scattered out of order is genuinely difficult to navigate for someone relying on that structure to get around.
The Core Rules Worth Actually Following
One H1 Per Page, No Exceptions
The H1 is the main title of the page, and a page should have exactly one. Using multiple H1 tags confuses both search engines and assistive technology about what the page’s actual primary topic is. Most WordPress themes automatically assign the post title as the H1, which means you generally shouldn’t add a second one manually inside your content, even if a particular section feels important enough to deserve top billing.
Follow the Hierarchy in Order
Move through heading levels sequentially: H1, then H2 for main sections, then H3 for subsections within those, and so on. Skipping from an H2 straight to an H4 because it happened to look right visually breaks the logical outline a screen reader depends on. If a heading level doesn’t visually match what you want, that’s a styling problem to solve with CSS, not a reason to pick the wrong semantic tag.
Write Headings That Actually Describe What Follows
A heading exists to tell a scanning reader, or a screen reader user jumping between sections, what’s coming next. “More Details” or “Read On” fail at this job completely. “How to Configure SSL on Shared Hosting” tells someone exactly what they’re about to read and whether it’s the section they’re looking for. Specific, descriptive headings also tend to perform better in search results, since they often match the exact phrasing someone typed into a search box.
Don’t Use Headings Purely for Visual Styling
It’s tempting to reach for an H3 tag just because it renders at a font size that looks right in a specific spot, even when there’s no real structural section break there. Resist that instinct. If you want bold, larger text without creating a new structural section, use CSS text styling instead. Reserve heading tags for genuine section breaks in your content’s outline.
Keep Headings Reasonably Short
A heading that runs two full sentences long stops functioning as a quick-scan signpost and starts reading more like a paragraph. Aim for a phrase that communicates the section’s topic clearly without needing to wrap across three lines on a mobile screen, where space is already limited.
Work Relevant Keywords In Naturally
Search engines weight heading text somewhat more heavily than regular body text when determining what a page covers, so it’s worth incorporating relevant search terms into your headings where they fit naturally. The emphasis is on naturally: a heading stuffed with keywords to game search rankings reads awkwardly to an actual human and can hurt more than it helps once search algorithms flag the pattern.
How WordPress Handles Headings Behind the Scenes
The block editor makes adding a heading as simple as typing a slash command or picking the Heading block from the inserter, then choosing a level from a small dropdown, usually H2 through H6, since the H1 is typically reserved for the post title generated by the theme. That simplicity is exactly what makes mistakes easy: nothing in the interface stops you from picking H5 right after an H2 with no H3 or H4 in between, and nothing warns you when you do.
Some themes and some page builder plugins complicate this further by letting you override the theme’s automatic H1 assignment, which occasionally results in a page with two H1 tags, one from the theme template and one added manually inside the content. This is worth checking directly in your specific setup, since the failure mode is invisible in the visual editor and only shows up when you inspect the page’s actual HTML output.
Common Heading Mistakes and Why They Happen
Choosing a Heading Level Based on How It Looks
This is the single most common mistake, and it happens because visual editors make font size and semantic meaning look like the same choice when they’re not. Someone wants text to look bigger, sees that H2 renders bigger than H3, and picks H2 regardless of whether the content genuinely represents a top-level section. Over time, across dozens of edits, this produces a heading structure that bears no real relationship to the content’s actual logical outline.
Copy-Pasting Content From Another Source
Pasting formatted content from a Word document or another website frequently brings along heading tags that don’t match your page’s intended structure. WordPress sometimes preserves this formatting invisibly, resulting in a heading hierarchy that looks fine visually but is structurally inconsistent underneath. Always check pasted content’s heading structure explicitly rather than trusting that it carried over correctly.
Treating Every Bold Statement as Heading-Worthy
Not every important sentence needs to be a heading. A heading marks the start of a genuinely distinct section, not just a sentence you want to emphasize. Overusing headings for emphasis dilutes their actual navigational value; if every third paragraph starts with a heading, the document outline becomes too granular to be useful for either scanning or accessibility navigation.
Headings and Table of Contents Plugins
A well-structured heading hierarchy is what makes automatic table-of-contents plugins work correctly in the first place. These plugins scan a page’s headings and build a clickable outline from them, which means a broken or inconsistent heading structure produces a broken or confusing table of contents, regardless of how good the plugin itself is. If you’re using one of these plugins and the generated table of contents looks oddly nested or skips sections, the fix usually isn’t in the plugin’s settings. It’s in the underlying heading structure of the post itself.
This is a useful diagnostic in its own right: if a table-of-contents plugin’s output looks wrong, that’s often the fastest way to spot a heading hierarchy problem you might not have noticed just scrolling through the visual editor.
Mobile Considerations for Headings
On a small screen, long headings wrap across multiple lines far more often than they do on desktop, which can make a page feel cluttered even when the underlying structure is technically correct. Keep headings concise partly for this reason. A heading that reads cleanly on a wide desktop monitor can look cramped and awkward wrapped across three lines on a phone, undermining the very scannability headings are supposed to provide.
Test how your headings actually render on a phone screen periodically, especially for content written primarily on a desktop, where it’s easy to lose sight of how much horizontal space a mobile visitor actually has to work with.
How This Plays Out in a Real Post
Picture a blog post about setting up email marketing automation. The H1 is the post title itself, something like “Setting Up Email Marketing Automation: A Practical Guide.” The main sections get H2s: “Choosing an Email Platform,” “Building Your First Automated Sequence,” “Testing Before You Launch.” Within the “Building Your First Automated Sequence” section, if there’s a genuine need to break things down further, subsections like “Writing the Welcome Email” or “Setting Trigger Conditions” become H3s nested underneath.
Notice what didn’t happen: no second H1 got added because “Testing Before You Launch” felt important enough to headline. No H4 got skipped because an H3 looked too small for a particular callout. The structure stays logical from top to bottom, which is exactly what makes it usable for both search engines and assistive technology.
Checking Your Existing Headings for Problems
Most page builders and even the default WordPress block editor make it easy to accidentally break heading hierarchy, since changing a heading’s visual size is often just a dropdown click away from changing its actual semantic level. Periodically audit your published content: view a page’s source or use a free browser extension that outlines heading structure, and check whether the levels actually nest logically or jump around.
Older content is a common source of these issues, especially posts written before a redesign changed the site’s visual styling. A heading that used to look right at H3 might have been bumped to H2 during a template change without anyone checking whether that shift made structural sense, or a plugin update silently changed how the theme assigns heading levels to older content without triggering any obvious visual difference.
Accessibility Consequences Worth Taking Seriously
Screen reader users frequently navigate a page by jumping directly between headings rather than reading through linearly from the top, using a dedicated keyboard shortcut built into the screen reader software specifically for this purpose. If your heading structure skips levels or uses headings inconsistently, that navigation becomes confusing or actively misleading, effectively locking part of your audience out of using your content the way it was designed to be used. This isn’t an edge case affecting a handful of visitors. Proper heading structure is one of the more foundational, low-effort accessibility improvements available on any website, and it costs nothing beyond a bit of care during content creation.
Auditing an Entire Site, Not Just One Post
Fixing heading structure on a single post is straightforward once you know what to look for. Auditing an entire site’s worth of historical content is a bigger project, and it’s worth approaching it in priority order rather than trying to fix everything at once. Start with your highest-traffic pages, since those are where accessibility and SEO issues affect the most visitors and carry the most weight with search engines. Work through the rest gradually rather than treating it as a single overwhelming task that never gets started because it feels too large.
A simple browser extension that visualizes heading structure makes this audit much faster than manually inspecting page source for every post. Load each page, check the outline it generates, and fix anything that skips levels or duplicates an H1. This is tedious but mechanical work, exactly the kind of task that’s easy to batch through in short sessions rather than needing deep focus.
Headings in Page Builders Versus the Block Editor
Third-party page builder plugins sometimes handle heading semantics differently than WordPress’s native block editor, and it’s worth understanding your specific tool’s behavior rather than assuming it works identically. Some page builders default every text element to a generic div rather than a proper heading tag unless you explicitly set it, which means a visually prominent section title might not actually be marked up as a heading at all unless you deliberately configure it that way.
This matters because it’s an easy problem to miss entirely: the section looks exactly like a heading on the rendered page, but a screen reader or a search engine crawler sees nothing structurally significant there. If you’re using a page builder, check its documentation specifically for how it handles heading tags, and verify the actual output rather than trusting the visual preview alone.
Why This Matters More Than It Might Seem
None of this is complicated once explained, which is exactly why it’s easy to underestimate how much it matters. A site with clean, logical heading structure across every page compounds into something noticeably more usable and more discoverable than one where headings were applied inconsistently post by post over years of casual publishing. Search engines reward that consistency with better understanding of your content’s structure. Screen reader users experience it directly as a site that’s actually navigable rather than one they have to fight through linearly from the top every time.
It’s also one of the rare technical best practices that costs essentially nothing to implement correctly from the start. Retrofitting years of inconsistent headings after the fact is real work. Getting it right as you write, checking that each new heading follows logically from the last one before you publish, costs almost no extra time at all.
Frequently Asked Questions
Can I have more than one H2 on a page? Yes, and you should if the content has multiple main sections. The one-per-page rule applies specifically to H1, not to the lower heading levels.
What if my theme’s default H2 styling looks too small for a section I want to emphasize? Change the visual styling through CSS rather than picking a different heading level. The semantic structure and the visual appearance are separate concerns, and conflating them is exactly what leads to broken hierarchies.
Do heading tags actually affect SEO rankings, or is that overstated? They contribute, though they’re one factor among many rather than a magic lever. Search engines use heading structure to understand content organization and relevance, which supports rankings indirectly, but heading tags alone won’t overcome thin or low-quality content underneath them.
Is it fine to skip heading levels on a very short post? Even a short post benefits from consistent structure. If the post only has one section, a single H2 under the H1 is fine. What to avoid is jumping straight to H4 because it happened to look right, regardless of post length.
Will fixing old heading structure actually move the needle on rankings? Usually a modest, incremental one rather than a dramatic single-page jump. The bigger, more reliable payoff is accessibility and usability, which compound over time as more visitors can actually navigate and understand your content correctly.
The Bottom Line
Correct heading structure is one of those details that costs almost nothing to get right and quietly helps everything else about a page: how search engines understand it, how screen readers navigate it, and how a rushed human scanning for one specific answer finds it quickly instead of giving up and leaving.
Next time you publish a post, take thirty seconds before hitting publish to scroll through just the headings, ignoring the body text entirely. Read them top to bottom as if they were a table of contents. If that outline makes logical sense on its own, the structure underneath is almost certainly sound too. Treat headings as an outline, not a font-size shortcut, and the rest tends to fall into place.