Blog
Wild & Free Tools

WordPress Heading Structure: Common Errors and How to Fix Them

Last updated: February 2026 6 min read
Quick Answer

Table of Contents

  1. The Duplicate H1 Problem in WordPress Themes
  2. Block Editor (Gutenberg) Heading Pitfalls
  3. Page Builder Heading Issues (Elementor, Divi)
  4. How to Check Your WordPress Heading Structure
  5. WordPress Heading Checklist
  6. Frequently Asked Questions
WordPress heading structure errors are among the most common SEO and accessibility issues on the web — not because WordPress is uniquely bad at headings, but because it is the most widely used CMS and its theme ecosystem introduces heading problems in predictable, repeatable patterns. A theme that wraps the site name in an H1, a block editor that defaults to H2, a page builder that uses heading tags for visual formatting — these patterns appear on thousands of sites. This guide covers the most common WordPress heading errors, what causes them, and exactly how to fix each one.

The Duplicate H1 Problem in WordPress Themes

The most widespread WordPress heading error: two H1 tags on every page of the site. The cause is almost always a theme that wraps the site name or logo in an H1 element inside the global header. The WordPress theme header typically outputs something like: `

Site Name

` At the same time, WordPress renders the post or page title as an H1 inside the content area: `

Post Title Here

` Every page on the site now has two H1 tags. Search engines receive a conflicting primary topic signal. Screen readers announce two competing page-level headings. **How to fix it:** In most themes, the site title H1 only needs to appear on the homepage. Everywhere else, it should be a styled link, not a heading. The correct fix is in the theme template: - Change the `h1` wrapping the site title to a `p` or `span` on non-homepage templates - Use WordPress conditional tags: `if ( is_front_page() )` to output an H1 only on the homepage - If you cannot edit theme files, use the Additional CSS panel to hide the duplicate or install a plugin that corrects heading output Always validate after the fix. Run the page source through the heading validator to confirm exactly one H1 remains.

Block Editor (Gutenberg) Heading Pitfalls

The WordPress block editor defaults to H2 when you insert a Heading block. This is correct behavior — H2 is the right level for the first major section below the post title H1. But it creates two common problems: **Problem 1 — Using H2 for subsections instead of H3.** Writers often add a new Heading block for every subpoint in a section. Since the default is H2, they end up with a flat list of H2 headings instead of a proper H1 > H2 > H3 hierarchy. The page structure looks like: H1 (post title), H2, H2, H2, H2 — no nesting, no hierarchy. It is technically not a skip error, but it misses the opportunity to create a richer content outline. **Fix:** Use H3 blocks for subsections within an H2 section. In the Heading block, click the "H2" dropdown in the block toolbar and change it to H3. **Problem 2 — H1 blocks added manually in the editor.** If a writer inserts an H1 Heading block anywhere in the content, the page ends up with multiple H1 tags. WordPress does not prevent this. The H1 block level is available in the dropdown. **Fix:** Treat the H1 Heading block as off-limits in post content. The post title is the H1. Never insert an H1 block inside the editor. Document this in your editorial guidelines. Sell Custom Apparel — We Handle Printing & Free Shipping

Page Builder Heading Issues in Elementor and Divi

Page builders introduce a specific category of heading problems: using heading widgets for visual formatting rather than document structure. **Elementor:** The Heading widget defaults to H2 but lets you freely change to any level. Designers often set section titles to H3 or H4 because of size preferences, even when the content is a top-level section that should be H2. The result is a page where the first heading after the H1 is an H3 — a skip from H1 to H3. Elementor also places heading tags inside widget sections that may not be visible in the primary content flow. A decorative heading in a hero widget can appear as the first H2 on the page, above more semantically important headings in the content. **Divi:** Divi's module system similarly lets designers choose heading levels freely. The "Blurb" and "Text" modules can wrap their titles in any heading level. On complex Divi pages, the heading output is often: H1 (page title), H3 (hero subtitle, visually large), H2 (first content section) — structurally inverted. **Fix for both:** Run the page source through the heading validator before publishing any page-builder page. The visual outline reveals mismatches between visual intent and structural reality. Adjust heading levels in the builder settings to match the correct hierarchy — then apply CSS classes to achieve the desired visual size independently of the heading level.

How to Check Your WordPress Heading Structure

You do not need a WordPress plugin to check heading structure. The browser method works for any WordPress site: **Step 1 — View the published page source.** Open the page in a browser (logged out, or in an incognito window to see what visitors see). Right-click anywhere and select "View Page Source." **Step 2 — Copy all HTML.** Press Ctrl+A (or Cmd+A on Mac) to select all, then Ctrl+C to copy. **Step 3 — Paste into the heading validator.** Go to wildandfreetools.com/accessibility-tools/heading-validator/ and paste the HTML. **Step 4 — Read the output.** The visual outline shows exactly what your heading structure looks like to a crawler or screen reader. Look for: - Two H1 entries (duplicate H1 issue) - An H1 appearing in the header section before the content H1 - Level jumps (H1 to H3, H2 to H4) - Heading text from navigation or footer elements appearing in the outline **Step 5 — Fix, republish, re-validate.** Make corrections in your theme, page builder, or block editor. Re-validate by viewing the updated source. Check all your key page types: homepage, post template, page template, category archive. Theme and builder heading errors are usually systemic — fixing the template fixes all pages at once.

WordPress Heading Checklist Before Publishing

Apply this to every WordPress page and post before publishing: **Theme-level checks (do once, fix for all pages):** - [ ] Site name in the header uses a `p`, `span`, or styled link — not an H1 (except on the homepage) - [ ] Theme's H1 output for post/page titles is in the content body, not the global header - [ ] No heading tags used in navigation menus or footer widgets **Content-level checks (per page/post):** - [ ] The page has exactly one H1 (the post/page title — set automatically by WordPress) - [ ] No H1 Heading blocks inside the editor content - [ ] H2 blocks are used for major sections - [ ] H3 blocks are used for subsections within an H2 — not for visual size preference - [ ] No level skips (H2 not followed immediately by H4 without an H3) - [ ] Page builder heading levels match their structural role, not just their visual size **Validate:** - [ ] Paste published page source into the heading validator - [ ] Zero errors reported before the page is considered done

Check Your WordPress Heading Structure Now

View source on your WordPress page, paste the HTML into the free heading validator, and get a full hierarchy report — duplicate H1s, skipped levels, empty headings.

Open Free Heading Validator

Frequently Asked Questions

Should I change my WordPress site title heading to fix the duplicate H1?

Yes, but carefully. On the homepage, the site title can legitimately be an H1 if there is no other H1 on the page. On all other pages, the site title should not be an H1 since the post or page title is already the H1. The correct fix is conditional: H1 on the homepage, a non-heading element everywhere else. Edit the theme's header.php or use a child theme to make this change.

Does Yoast SEO or Rank Math fix heading structure automatically?

Neither Yoast nor Rank Math automatically fix heading structure. They can report heading issues (Yoast highlights multiple H1s in its page analysis), but the fix requires manual changes to the theme or content. The plugins provide the diagnosis; you provide the fix.

My Elementor page looks fine visually — do I still need to check the heading structure?

Yes. Visual appearance and heading structure are independent. A page can look perfectly designed with headings at visually appropriate sizes while having completely broken heading hierarchy in the HTML. Run the source through the validator regardless of how the page looks.

Is it bad for SEO to have H3 before H2 on a WordPress page?

An H3 appearing before its parent H2 is a structural error. Search engines use heading hierarchy to build a topical outline of your page. An H3 without a parent H2 appears as an orphaned subsection — it has unclear topical context. Fix by either adding the parent H2 above it or promoting the H3 to an H2 if the content warrants it.

Daniel Foster
Daniel Foster Accessibility & UX Writer

Daniel has spent six years as an independent accessibility consultant auditing websites for WCAG compliance.

More articles by Daniel →
Launch Your Own Clothing Brand — No Inventory, No Risk