Skip to main content

Introduzione

laravel/head è il pacchetto ufficiale Laravel che gestisce con un’API fluida il <head> del documento della tua applicazione. Supporta title, meta tag, Open Graph, canonical URL, direttive robots, performance hints e dati strutturati; funziona con Blade, Livewire e Inertia. La v0.1.0 è stata rilasciata il 28 luglio 2026.

Ordine di risoluzione

I dati di head della pagina vengono risolti secondo cinque livelli, dal più basso al più alto in priorità.
  1. Default della pagina
  2. Metadati del gruppo di route
  3. Metadati della route
  4. Metadati a runtime
  5. Metadati delle pagine di errore
I livelli superiori sovrascrivono i livelli inferiori campo per campo. Ad esempio, il title impostato a runtime sostituisce il title della route ma non ne sostituisce la description.

Registrazione dei default

I default a livello di sito si registrano in un service provider.
Il livello dei default è quello con priorità più bassa. Finché nessun livello superiore imposta il title verrà usato Acme così com’è; se un livello superiore imposta il title, verrà applicato il suffisso ereditato (Head::title('About') diventa About - Acme).

Metadati della route

Le pagine statiche possono associare i metadati direttamente alla definizione della route.
Puoi applicare metadati comuni a un intero gruppo.
withHead() salva un array semplice attraverso l’API standard dei metadati di route di Laravel (sotto la chiave head di ->metadata()), quindi mantiene la compatibilità con le route in cache.

Metadati a runtime

Per valori noti solo alla richiesta — come il titolo di un post — impostali a runtime con la facade Head.
I metadati condizionali si esprimono in modo fluido con when() / unless().

Pagine di errore

Puoi registrare metadati per singolo status code.
Quando viene renderizzato uno degli status di errore registrati, questi metadati hanno la precedenza su qualunque altro livello.

Open Graph e Twitter Card

Con og() imposti le proprietà Open Graph e con metodi come ogImage() aggiungi immagini, video o audio.
title e description del documento popolano automaticamente og:title / og:description se non impostati. Le Twitter Card, una volta registrate nei default, si renderizzano automaticamente usando gli stessi title, description e immagini di Open Graph.
Puoi anche sovrascrivere esplicitamente i valori Twitter sulla singola pagina.

PWA, performance e icone

L’helper pwa() imposta in blocco i tag <head> necessari per un’app web installabile.

Theme color

Il theme color può essere impostato a livello globale, di route o a runtime. Con l’enum Media puoi specificare theme color per media specifici.
Media include anche Portrait e Landscape.

Metadati e icone dell’app

Laravel Head include helper per i comuni metadati di browser e app.
favicon() è un alias di icon() e accetta gli stessi argomenti type, sizes e media.

Performance e discoverability

Laravel Head può renderizzare anche performance hints, link di paginazione, alternative di locale e tag per la scoperta dei feed.
preloadAsset() / prefetchAsset() risolvono l’URL con l’helper asset() e rilevano automaticamente l’attributo as dall’estensione.

Tag personalizzati

I tag senza un metodo dedicato si aggiungono con meta() / link().
meta() usa name= per i normali meta tag, ma per le chiavi che di norma usano property= (Open Graph og:, metadati di articolo article:) passa automaticamente all’attributo corretto.

Dati strutturati (JSON-LD)

Lo schema builder integrato copre i principali tipi JSON-LD.
I metodi factory integrati sono article, blogPosting, product, offer, brand, breadcrumbs, faq, organization, person, webPage e webSite. I factory sconosciuti ricadono su un oggetto schema generico, così puoi rappresentare anche tipi schema.org personalizzati. Gli elementi di una breadcrumb possono essere aggiunti uno per volta o in blocco. La posizione viene assegnata in automatico in base all’ordine.
Le domande delle FAQ seguono lo stesso pattern. Con question() aggiungi una domanda alla volta, con questions() più insieme.
I tipi di schema personalizzati vanno registrati esplicitamente.

Conclusioni

laravel/head è un pacchetto che ti permette di gestire in modo centralizzato i metadati necessari a SEO e condivisione sui social, attraversando Blade, Livewire e Inertia. La struttura a cinque livelli (default, gruppo di route, route, runtime, pagine di errore) preserva la coerenza dell’intero sito e allo stesso tempo lascia flessibilità di personalizzazione pagina per pagina.

Repository laravel/head

Codice sorgente e novità più recenti.
Ultima modifica il 2 agosto 2026