laravel/head
Laravel Head offers a fluent API for managing your app's document head—titles, meta tags, Open Graph, canonical URLs, robots directives, performance hints, and structured data. Works with Blade, Livewire, and Inertia.
<title>, meta descriptions, canonical URLs, and robots directives behind a fluent API, which turns "we should fix our meta tags" from a scattered refactor into a scoped, estimable story. It makes SEO work reviewable in code rather than buried in Blade partials.hreflang, per-tenant or per-locale metadata, CMS-driven meta fields, and programmatic SEO (thousands of generated landing pages) all become extensions of one abstraction rather than parallel implementations. The growing set of supported schema types (now including Event) means new page types can often ship with rich-result eligibility out of the box rather than as a follow-up ticket.Consider it when:
<head>.Look elsewhere — or scope carefully — when:
hreflang matrices or per-market metadata on day one and the package's coverage is unproven — validate against a spike before committing a roadmap item.Adoption risks to price in: the package is early — modest star count, zero recorded dependents, and a single-maintainer governance model despite the Laravel brand. v0.2.2 is a small additive release (Event schema, no breaking changes), but it's a useful signal: active maintenance and a steady cadence of schema-type additions, which is the kind of velocity you want to see in the first months of a dependency. Treat it as a version-pinned dependency, require a short spike against our highest-traffic templates, and keep a thin internal wrapper so swapping implementations is a contained change. The upside is that first-party Laravel packages tend to stabilize quickly and come with official docs and a published changelog, which lowers long-term documentation risk. Note that 0.x semver still permits breaking changes on minor bumps — read release notes before upgrading.
For executives (one paragraph): Search and social are already our largest unpaid acquisition channels, but the metadata that drives both is currently maintained by hand inside page templates — inconsistent across page types and invisible in planning. laravel/head is a small, free, officially maintained Laravel package that gives us one reviewed, testable place to manage titles, descriptions, canonical URLs, social previews, structured data, and no-index rules. It replaces roughly one to two weeks of custom plumbing with a dependency we can adopt incrementally, starting with the highest-traffic templates. The expected return is better click-through on shared links and search results, fewer duplicate-content and staging-indexation incidents, and eligibility for rich results — including event listings, which the latest release added support for. The main caveat is that the package is young, so we adopt it behind a thin internal wrapper and a version pin.
For engineering (summary): A fluent API for the document <head> — title, meta, Open Graph, canonical, robots, performance hints, JSON-LD — with support for Blade, Livewire, and Inertia. v0.2.2 adds Event schema to the JSON-LD helpers; additive, no breaking changes, so no migration work if we're already on 0.2.x. MIT licensed, first-party, official docs and changelog. It removes bespoke layout partials and per-renderer conventions in favor of one abstraction with testable output. Ask: (1) a one-day spike on our three highest-traffic templates to confirm output and caching behavior, (2) all metadata set through a thin project wrapper so the underlying package is replaceable and schema-type gaps are ours to fill, (3) automated assertions on the rendered head in our feature tests, so this doesn't silently regress — including one assertion per JSON-LD type we depend on. Note the package is early (minimal ecosystem adoption) and still on 0.x — pin the version, read release notes on every bump, and don't block a launch on it.
How can I help you explore Laravel packages today?