34ml/filament-seo
Filament SEO adds SEO fields and management to Filament resources, letting you edit meta titles, descriptions, Open Graph data, and canonical URLs directly from the admin panel. Laravel-friendly and configurable, it keeps SEO tasks close to your content workflow.
Package: 34ml/filament-seo — a Filament panel plugin that surfaces SEO metadata management (meta title, description, canonical, Open Graph, Twitter cards, robots directives) for Eloquent models, delegating the underlying storage/rendering to a Laravel SEO core package.
Architecture fit: The plugin is an admin-surface concern, not a runtime dependency of the request path. It composes on top of Filament's plugin contract (registration in a PanelProvider) and a model trait/relationship supplied by the Laravel SEO core. This is a favourable shape for a TPM: blast radius is confined to the admin panel and the SEO field persistence layer, with no middleware, service provider overrides, or route interception expected. However, it is a two-layer dependency — plugin plus laravel-seo core — and v3.0 moves both layers simultaneously, which doubles the version-coupling surface.
Integration feasibility: Straightforward in a greenfield Filament v5 panel: composer require, register the plugin on the target panel, add the SEO trait and form component to each resource that needs it. The feasibility question is not "can we integrate" but "are we already on the right major versions." v3.0's changelog consists of exactly two items — a Filament v5 compatibility update and a laravel-seo version bump — which is the signature of a coordinated major-version alignment release, not a feature release. Treat v3.0 as a hard gate: it is only installable in a Filament v5 / current-laravel-seo environment.
Technical risk:
laravel-seo bump means SEO record schema/accessors may have moved; any custom Blade templates or API serializers reading SEO attributes are at risk even though the plugin's own surface is small.Key questions:
^4.0|^5.0 constraint allowing a staged upgrade?laravel-seo version floor, and does that version carry its own migration or attribute-renaming changes?^5.0) or narrow?Stack fit: Appropriate only for applications on Filament v5 with PHP 8.2+ and a current Laravel. For teams on Filament v3/v4, v3.0 is not installable — the correct action is to pin ^2.3 and defer. This is a clean fork in the road and should be decided per-application, not org-wide.
Migration path: Treat as a coordinated two-package upgrade, not a plugin bump. Sequence:
laravel-seo core, run its migrations, and verify SEO records read back correctly on a data snapshot.filament-seo ^3.0, re-register the plugin, then restore SEO form components resource by resource.Compatibility: Confirm the plugin's composer.json constraints against our actual Filament and laravel-seo versions before promising a date; the release notes alone don't establish the floor. Also verify no transitive conflict with other Filament plugins in the panel — Filament plugin ecosystems are the most common source of constraint deadlocks, and a plugin that hard-pins v5 can force the whole panel forward.
Sequencing: Do not bundle this with unrelated feature work. The upgrade should land as an isolated, revertable change behind a short-lived branch, with the Filament v5 upgrade and the SEO plugin v3 upgrade as two separate commits so a rollback can be partial. If the org has multiple panels on different Filament majors, migrate the lowest-traffic panel first as a canary.
Maintenance: Low ongoing code footprint — the plugin is a thin admin-layer adapter, so we own little glue code and most of it will be re-expressed once during the v5 migration. The recurring cost is version treadmill: our upgrade cadence for this package is now governed by Filament's, not ours. Budget a review each Filament major and periodic patch-level verification.
Support: Single-agency, effectively single-contributor project. Assume no SLA. Mitigation: keep the integration thin enough that we can vendor/fork the plugin or, in the worst case, replace it with hand-rolled Filament form components calling laravel-seo directly — the abstraction is shallow enough that this is a realistic exit, which materially de-risks adoption.
Scaling: Negligible runtime scaling concern. SEO metadata is a per-record read/write on admin pages; volume is bounded by editor concurrency, not end users. Watch only for N+1s if SEO relations are eager-loaded across large resource tables, and for public-side rendering cost if the core package's accessors are hit on high-traffic templates — that cost belongs to laravel-seo, not this plugin.
Failure modes:
laravel-seo bump: fields render but persist to the wrong place, or public templates read stale attributes. Detect with a round-trip test (write in admin, assert on rendered page).composer why-not in CI.Ramp-up: Low for developers familiar with Filament — registration plus a form component is under an hour of ramp. The non-obvious cost is editorial change management: content teams need to be told if SEO field labels, defaults, or validation have shifted, and whether existing metadata appears unchanged. Pair the technical rollout with a short editor-facing note and a review of the first few records saved post-upgrade. Because there is no prior assessment on file, this evaluation is based solely on the v3.0 changelog; the open questions above should be closed out against the repo's composer.json, upgrade guide, and CI matrix before committing to a delivery date.
How can I help you explore Laravel packages today?