Skip to main content

Introducción

laravel/head es el paquete oficial de Laravel que gestiona el <head> del documento de la aplicación mediante una API fluida. Soporta title y etiquetas meta, Open Graph, URL canónica, directivas de robots, hints de rendimiento y datos estructurados, y funciona con Blade, Livewire o Inertia. La v0.1.0 se lanzó el 28 de julio de 2026.

Orden de resolución

Los datos del head de una página se resuelven en las cinco capas siguientes, de menor a mayor prioridad.
  1. Valores por defecto de la página
  2. Metadatos del grupo de rutas
  3. Metadatos de la ruta
  4. Metadatos en runtime
  5. Metadatos de la página de error
Las capas superiores sobrescriben las inferiores campo por campo. Por ejemplo, un title definido en runtime reemplaza al title de la ruta, pero no reemplaza también a la description.

Registrar valores por defecto

Registra los valores por defecto de todo el sitio en un service provider.
La capa de valores por defecto es la de menor prioridad. Mientras las capas superiores no definan un title, se muestra Acme tal cual; cuando una capa superior define un title, se aplica el sufijo heredado (Head::title('About') se convierte en About - Acme).

Metadatos de ruta

Las páginas estáticas pueden asociar metadatos directamente a la definición de la ruta.
También puedes aplicar metadatos comunes a todo un grupo.
withHead() guarda un array plano a través de la API estándar de metadatos de ruta de Laravel (bajo la clave head de ->metadata()), así que se mantiene la compatibilidad con las rutas cacheadas.

Metadatos en runtime

Los valores que solo se conocen al llegar la petición, como el título de una entrada, se establecen en tiempo de ejecución con la fachada Head.
Los metadatos condicionales pueden escribirse de forma fluida con when() / unless().

Páginas de error

También puedes registrar metadatos por código de estado.
Cuando se renderiza un estado de error registrado, estos metadatos tienen prioridad sobre cualquier otra capa.

Open Graph y Twitter Card

Con og() defines las propiedades de Open Graph y con métodos como ogImage() añades imágenes, vídeos y audio.
El title y la description del documento completan automáticamente los og:title / og:description que no estén definidos. Basta con registrar Twitter Card en los valores por defecto para que se renderice automáticamente a partir del mismo title, description e imagen de Open Graph.
También puedes sobrescribir los valores de Twitter explícitamente en una página concreta.

PWA, rendimiento e iconos

El helper pwa() configura de una vez las etiquetas del <head> necesarias para una web app instalable.

Color del tema

El color del tema puede definirse a nivel global, de ruta o en runtime. Con el enum Media puedes indicar colores de tema específicos por tipo de medio.
Media también incluye Portrait y Landscape.

Metadatos de la aplicación e iconos

Laravel Head incluye helpers para los metadatos habituales del navegador y de la aplicación.
favicon() es un alias de icon() y acepta los mismos argumentos type, sizes y media.

Rendimiento y descubribilidad

Laravel Head también puede renderizar hints de rendimiento, enlaces de paginación, alternativas de locale y etiquetas de descubrimiento de feeds.
preloadAsset() / prefetchAsset() resuelven la URL con el helper asset() y detectan automáticamente el atributo as a partir de la extensión.

Etiquetas personalizadas

Las etiquetas que no tienen un método dedicado pueden añadirse con meta() / link().
meta() usa name= para las metaetiquetas normales, pero cambia automáticamente cuando la clave usa por convención property=, como Open Graph (og:) o los metadatos de artículo (article:).

Datos estructurados (JSON-LD)

El constructor de esquemas integrado cubre los principales tipos de JSON-LD.
Los métodos factory integrados son article, blogPosting, product, offer, brand, breadcrumbs, faq, organization, person, webPage y webSite. Los métodos factory desconocidos hacen fallback a un objeto de esquema genérico, con lo que también puedes expresar tipos personalizados de schema.org. Los elementos de una lista de breadcrumbs pueden añadirse uno a uno o en bloque. La posición se asigna automáticamente por orden de inserción.
Las preguntas de FAQ siguen el mismo patrón. Puedes añadirlas de una en una con question() o en bloque con questions().
Los tipos de esquema personalizados pueden registrarse explícitamente.

Resumen

laravel/head es un paquete que permite gestionar de forma unificada, y transversal entre Blade, Livewire e Inertia, los metadatos necesarios para SEO y para compartir en redes sociales. Su estructura de 5 capas (defaults, ruta, grupo, runtime y páginas de error) permite mantener la coherencia de todo el sitio y, al mismo tiempo, personalizar cada página con flexibilidad.

Repositorio de laravel/head

El código fuente y la información más reciente están aquí.
Última modificación el 2 de agosto de 2026