Tag H1 di WordPress: Risolvere i problemi di gerarchia delle intestazioni

Pubblicato il | Da Siteskyline
14 min di lettura

Hai passato ore a creare la pagina WordPress perfetta. Il contenuto è solido. Le parole chiave sono posizionate. Il tuo plugin SEO mostra un segno di spunta verde.

But open your browser’s developer tools and inspect the heading structure, and you’ll see something that can quietly kill your organic traffic: a broken heading hierarchy. Two H1s. A site title wrapped in `<h1>`. Sections jumping from H2 straight to H4. Or worse — no H1 at all.

This isn’t a errore da principiante. It’s a problema strutturale baked into how WordPress, themes, page builders, and the Gutenberg editor interact — and most site owners never know it’s happening.

This guide exists to fix that. Whether you’re a WordPress site owner managing your own content, or an agency building sites for dozens of clients, you’ll leave here knowing exactly how to controllare, diagnosticare e risolvere permanentemente il problema dell'ordine delle intestazioni in WordPress.


Cos'è un tag H1 e perché è importante in WordPress?

An H1 tag (<h1>) is the top-level HTML heading element. In semantic HTML, it signals to browsers, search engines, and assistive technologies: “This is the primary topic of this page.”

Pensa ai tag di intestazione come a una struttura del documento:

H1 – Main page title (only one per page)
 ├── H2 – First major section
 │    ├── H3 – Subsection
 │    └── H3 – Another subsection
 ├── H2 – Second major section
 │    ├── H3 – Subsection
 │    │    └── H4 – Detail within subsection
 └── H2 – Third major section

Skip a level — jumping from H2 to H4 — and you break the outline. Use two H1s and you create structural ambiguity. Use H3 tags for visual styling and you introduce ghost headings that confuse crawlers.

In WordPress specifically, this gets complicated fast. Unlike a static HTML page where you write every tag manually, WordPress generates heading markup from at least four different sources simultaneously: the theme’s header template, the post title, the editor content, and any widgets or page builder modules you’ve added.

Cosa dice realmente Google sui tag H1

Let’s settle the dibattito sul ranking subito.

In July 2026, Google’s Gary Illyes addressed this directly during the SEO Office Hours podcast: arranging headings in semantic order is genuinely helpful for accessibility (especially screen reader users), but it doesn’t significantly impact Google’s ranking algorithms. John Mueller has also stated that multiple H1 tags on a page don’t confuse crawlers and have zero direct SEO impact.

Quindi, tutto questo ha importanza?

Yes — but not for the reason most SEO guides say.

I veri motivi per cui preoccuparsi della struttura delle intestazioni in WordPress sono:

  1. Conformità all'accessibilità — WCAG 2.1 success criterion 1.3.1 requires information and relationships to be programmatically determinable. Broken heading hierarchies fail this.
  2. Indicizzabilità e segnali di contenuto — While Google can parse messy markup, a clean H1 gives the clearest possible signal about page topic, which matters in ambiguous cases.
  3. Esperienza utente e tempo di permanenza — Readers scan headings. A logical hierarchy helps them navigate and stay longer — both indirect ranking signals.
  4. Pulizia dell'audit tecnico — For agencies, heading issues surface in every audit tool (Screaming Frog, Ahrefs, SEMrush, Rank Math, Yoast). Client-facing reports look bad even if the direct ranking impact is debated.

Come WordPress genera i tag di intestazione: le quattro fonti di conflitto

Capire perché la struttura delle intestazioni di WordPress si rompe richiede di comprendere i quattro punti da cui genera le intestazioni.

Source 1: The Theme’s Header Template

Most WordPress themes output the site title in the header area. Older and poorly coded themes wrap this in an <h1> tag — on every single page. This means every page on your site starts with the same H1: your brand name.

Quindi, quando viene visualizzato il titolo della pagina o del post (che dovrebbe essere l'H1), diventa un secondo H1 o viene declassato a H2.

Here’s what this looks like in a broken theme’s header.php:

php

// Broken — site title as H1 on every page
<h1><?php bloginfo('name'); ?></h1>
<h2><?php the_title(); ?></h2>  // Post title wrongly demoted

Come dovrebbe apparire:

php

// Correct — site title is a link or span, post title is H1
<p class="site-title"><a href="<?php echo home_url(); ?>"><?php bloginfo('name'); ?></a></p>
<h1><?php the_title(); ?></h1>

This is one of the most common WordPress H1 issues and it’s entirely invisible unless you inspect the page source. You can have an SEO plugin, a green readability score, and contenuti perfetti — and still be outputting duplicate H1s on every page.

Fonte 2: L'editor a blocchi Gutenberg

The WordPress block editor introduced deliberate changes to H1 behavior. By default, Gutenberg de-emphasizes the H1 option in the Heading block — the assumption is that the post title is already rendering as H1, so content-area headings should start at H2.

In pratica, questo crea due problemi:

Problema A: Alcuni temi non output the post title as H1. If your theme renders the title in a <div> or <h2> for stylistic reasons, and Gutenberg has hidden H1 from the heading block options, you end up with zero H1 tags on the page.

This is exactly the situation flagged in a long-running GitHub issue in the Gutenberg repository — users requesting the ability to remove the H1 option entirely for enterprise and agency setups where the H1 is controlled at the template level. The issue highlights real confusion: the editor’s default behavior and the theme’s template need to be explicitly coordinated, but WordPress provides no automated check for this.

Problema B: Content editors can still select H1 in the block editor by changing the heading level. If your theme already outputs the post title as H1, an editor adding another H1 block inside the content area creates a duplicate — and no warning appears.

Fonte 3: Page Builder (Elementor, Divi, Beaver Builder)

I page builder sono la principale fonte di caos nella gerarchia delle intestazioni in WordPress.

Here’s why: page builders give you granular visual control. You can drag a text element anywhere, style it any way, and assign any heading level. This is powerful for design. It’s disastrous for structure.

Il tipico problema di intestazione dei page builder appare così:

  • Sezione Hero: H1 (corretto) ✓
  • Feature section title: H3 (skipped H2, chosen because it “looks better”) ✗
  • Titolo dell'area widget: H2 (sembra un'intestazione di sezione, ma è solo un titolo di widget della barra laterale) ✗
  • Intestazione della testimonianza: H4 (nessun H3 sopra di essa) ✗
  • Intestazione CTA: H2 (ritorno a un livello superiore, ora la struttura è completamente non lineare) ✗

The result is a heading structure that’s visually coherent but semantically meaningless. Screen readers and crawlers parsing this get a content outline that jumps around like a broken table of contents.

InspectWP’s documentation identifies this pattern explicitly: authors and page builder users choose heading levels based on how they appaiono rather than their logical meaning — if H3 is the right visual size, they select H3, even with no H2 above it.

Fonte 4: Widget e componenti del tema

WordPress widget areas — sidebars, footers, header modules — often output their own headings. A “Recent Posts” widget might render as H2. A promotional banner built into the theme might use H3. None of these are part of the content outline, but they appear in the page’s heading structure.

This creates heading “noise” that inflates the apparent complexity of the outline and can push content headings out of their correct hierarchical position.


I 5 problemi più comuni di H1 e gerarchia delle intestazioni in WordPress

Problema 1: Il titolo del sito è racchiuso in un H1 su ogni pagina

Come appare: Every page on your site has two H1s — your site name and your post title.

Chi colpisce: Sites using older themes, poorly built premium themes, or any theme where the developer used <h1> for the site branding.

Come rilevarlo: Right-click any page → Inspect → search for <h1 in the Elements panel. If you see your site name wrapped in H1 in the <header> section, you have this problem.

Come risolvere:

Opzione 1: Modifica del tema child (approccio per sviluppatori) In your child theme’s header.php, find the site title output and change it from <h1> to <p> or <span> with appropriate classes:

php

<p class="site-title">
  <a href="<?php echo esc_url(home_url('/')); ?>" rel="home">
    <?php bloginfo('name'); ?>
  </a>
</p>

Opzione 2: CSS + aria-label (soluzione senza codice) If you can’t edit theme files, use CSS to reset the H1 styling on the site title:

css

.site-header h1.site-title {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

Nota: questo nasconde il problema visivo H1 problem but doesn’t fix the structural issue. The H1 tag remains in the markup.

Opzione 3: Passa a un tema ben strutturato Themes following WordPress coding standards (Twenty Twenty-Four, Kadence, GeneratePress, Astra) handle this correctly out of the box. If your current theme has this issue and you’re not a developer, switching is often the most reliable fix.


Problema 2: H1 mancante nella homepage

Come appare: Your homepage has zero H1 tags. SEO plugins report “No H1 found.”

Chi colpisce: Sites that use a logo image for branding (hiding the site title), sites using a static front page with no title visible, or sites where the theme’s homepage template doesn’t call the_title().

This is a real and recurring issue in the WordPress support forums. The cause is typically this sequence: the site title is set to display in the header, but the user hides it (or replaces it with a logo), removing the only H1 from the page. Since the homepage often doesn’t have a “post title” in the way a blog post does, there’s no automatic H1 generated.

Come risolvere:

Specificamente per la homepage: Aggiungi un H1 alla tua sezione hero o al modello di pagina. Questo può essere:

  • A visible heading (“Your Business Name | Service Category”) that also functions as the H1
  • Un H1 visivamente nascosto aggiunto tramite CSS (position: absolute; clip: rect(0 0 0 0);) che fornisce il marcatore semantico senza disturbare il design visivo

In Gutenberg: Aggiungi un blocco Intestazione all'inizio del contenuto della tua homepage, impostalo su H1 e rendilo parte del tuo messaggio hero.


Problema 3: Livelli di intestazione saltati nel contenuto

Come appare: La struttura del contenuto salta da H2 direttamente a H4, o da H1 direttamente a H3.

Chi colpisce: Chiunque scriva contenuti lunghi e utilizzi le intestazioni per lo stile visivo piuttosto che per la struttura semantica.

Perché è importante: As InspectWP notes, skipping heading levels happens when authors choose levels based on appearance — the H3 looks right, so they use H3, regardless of whether an H2 precedes it.

Come rilevarlo in Gutenberg: Fai clic sull'icona delle informazioni (ⓘ) nella barra degli strumenti superiore dell'editor a blocchi. Il pannello Struttura documento mostra ogni intestazione in ordine e segnala i livelli saltati con un avviso.

Come risolvere:

  1. Controlla la struttura delle tue intestazioni usando la Struttura documento prima di pubblicare
  2. Set a content style guide for your team: H2 for major sections, H3 for subsections, H4 for sub-subsections — never skip levels
  3. Use Yoast SEO or Rank Math’s content analysis — both flag heading structure issues

Problema 4: Tag H1 multipli dai page builder

Come appare: A page built with Elementor or Divi has three or four H1 tags because each major section has its own hero-style “H1” headline.

Come risolvere:

In Elementor: Edit each heading widget → check the HTML Tag setting → set only the primary page title to H1, and change all others to H2 or H3 as appropriate.

In Divi: Edit heading modules → under Advanced → HTML Tag → change to the correct semantic level.

In Beaver Builder: Each heading module has a “Heading Tag” setting in the Style tab. Audit each one.


Problema 5: Il problema di visibilità dell'H1 in Gutenberg

Come appare: Your theme doesn’t output the post title as H1, and Gutenberg has hidden the H1 option in the Heading block. Your pages have no H1.

Come risolvere:

For developers managing a site where the H1 must be placed inside the content area, you can restore the H1 option using a filter in your theme’s functions.php:

php

// Allow H1 in the Heading block
add_filter( 'allowed_block_types_all', function( $allowed_blocks ) {
    return $allowed_blocks;
});

Alternatively, switch to the “Edit as HTML” view for the Heading block and manually set <h1> in the markup.

Per le configurazioni dell'agenzia dove desideri impedire gli editor dall'aggiunta di H1 (perché il modello lo controlla), utilizzare il file block_editor_settings_all filtro per limitare i livelli di intestazione nell'editor.


Come controllare la struttura delle intestazioni di WordPress (passo dopo passo)

Metodo 1: Plugin gratuito SkySEOManager

Usa Plug-in SkySEOManager incorpora SEO Analyser per trovare tutti i problemi relativi ai titoli.

Leggi la guida completa: come controllare il tuo sito WordPress utilizzando SkySEOManager per tutti i problemi SEO

Metodo 2: utilizza il SEO Analzyer gratuito di Siteskyline

Visita fuori Analizzatore SEO gratuito e inserisci il tuo URL e fai clic su Analzye now.

It’ll Show you all issue with your headline tags.

headline broken structure

Gerarchia H1 di WordPress: la lista di controllo dell'agenzia

If you’re building or maintaining WordPress sites for clients, heading structure needs to be part of your pre-launch and ongoing audit process. Here’s a repeatable checklist:

A livello tematico:

  • Site title in header is NOT wrapped in <h1> (use <p>, <span>, or <div>)
  • Post/page title renders as <h1> in <article> or <main> on all post types
  • Homepage has exactly one <h1> — either from the site title or the hero section
  • Archive pages (category, tag, author) have a descriptive <h1>
  • 404 page has an <h1>

A livello di contenuto:

  • Each page has exactly one <h1> in the content area (or zero if the theme handles it via the title)
  • Major sections use <h2>
  • Subsections use <h3> nested within <h2> sections
  • Nessun livello di intestazione viene saltato
  • I titoli non vengono utilizzati solo per lo stile visivo

A livello di plugin/costruttore:

  • Gli elementi di intestazione Elementor/Divi/Beaver Builder hanno le impostazioni corrette dei tag HTML
  • Widget areas don’t output accidental H1 or H2 tags
  • Gli avvisi H1 del plugin SEO vengono risolti su tutte le pagine chiave

The Correct WordPress Heading Hierarchy — By Page Type

One pattern doesn’t fit every WordPress page type. Here’s the correct structure for each:

Post del blog/Pagina di post singolo

H1: Post Title (output by theme automatically)
  H2: First major section
    H3: Subsection
    H3: Another subsection
  H2: Second major section
    H3: Subsection
      H4: Detail
  H2: Third major section

Home page (prima pagina statica)

H1: Primary value proposition or page headline
  H2: Service category or feature group
    H3: Individual service or feature
  H2: Testimonials or social proof section
  H2: Call to action section

Pagina del prodotto WooCommerce

H1: Product name (output by WooCommerce template)
  H2: Product description heading
  H2: Reviews
  H2: Related products

Categoria/Pagina archivio

H1: Category name (e.g., "WordPress SEO Articles")
  H2: Post title within loop (if posts are displayed with headings)

Errori comuni che rompono la struttura H1 di WordPress

Errore 1: utilizzare i tag di intestazione per definire lo stile del testo If you want large bold text that isn’t a section heading, don’t use H2. Add a CSS class to a <p> or <div> and style it visually. Using heading tags for aesthetics pollutes your structural outline.

Errore 2: lasciare che gli editori scelgano i livelli di intestazione a vista Senza una guida allo stile dei contenuti, gli editori graviteranno naturalmente verso livelli di intestazione che appaiono right. A brief internal guide — “H2 for sections, H3 for subsections, never use H1 in content” — prevents most issues.

Errore 3: installare un tema WordPress senza controllare la struttura delle intestazioni Non tutti i temi WordPress premium restituiscono il markup dell'intestazione corretto. Prima di impegnarsi in un tema, ispeziona un post demo: il titolo del post viene visualizzato come H1? Il titolo del sito evita di essere H1 nelle pagine interne?

Errore 4: dare per scontato che il tuo plugin SEO copra tutto Yoast and Rank Math check the post you’re editing. They don’t catch heading issues introduced by your theme’s header template, footer widgets, or archive page templates. A manual audit or Screaming Frog crawl is still necessary.

Errore 5: correggere l'aspetto visivo anziché la struttura HTML The most common “fix” for the site title H1 problem is adding CSS to make it look smaller. That hides the problem visually but leaves the broken markup in place. Fix the HTML tag, not just the style.

Condividi questo post

Siteskyline

Siteskyline

Siteskyline is a premium WordPress plugin and SEO management platform dedicated to providing the best speed, security, and optimization tools.