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à.- Default della pagina
- Metadati del gruppo di route
- Metadati della route
- Metadati a runtime
- Metadati delle pagine di errore
Registrazione dei default
I default a livello di sito si registrano in un service provider.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.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 facadeHead.
when() / unless().
Pagine di errore
Puoi registrare metadati per singolo status code.Open Graph e Twitter Card
Conog() 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.
PWA, performance e icone
L’helperpwa() 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’enumMedia 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 conmeta() / 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.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.
question() aggiungi una domanda alla volta, con questions() più insieme.
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.