- How do I install Filament SEO Pro in a Laravel app?
- Install it with composer require nomanur/filament-seo-pro, then run php artisan filament:assets to publish the front-end assets. Publish and run the migrations with php artisan vendor:publish --tag=filament-seo-pro-migrations followed by php artisan migrate, and optionally publish the config with the filament-seo-pro-config tag. Finally register SeoPlugin::make() in your panel provider's plugins array. There are no routing, auth, or queue changes required.
- Does Filament SEO Pro output meta tags, Open Graph tags, or JSON-LD on my frontend?
- No. The package is an editorial UX layer inside the Filament panel: it provides live analysis, previews, Schema.org type selection, a dashboard widget, and a bulk management page. It does not emit meta tags, canonical URLs, Open Graph tags, or JSON-LD to your public site. You still need to build the rendering layer yourself, typically a Blade layout edit plus a schema component that reads the stored SEO values.
- Which Laravel and Filament versions does this package support?
- It targets Filament v4 panels specifically, and the current releases are v1.0.x of the package. The README does not document a Laravel version matrix, so check the composer.json constraints in the repo before installing. Because Filament v4 is still evolving, pin Filament's minor version alongside this package to avoid a schema component breaking on an upgrade.
- How does the live SEO analysis work, and why are all my scores red?
- The plugin runs 13 SEO checks plus a readability score in the browser as you type, watching specific field names for title, description, content, and keywords. If those field names do not match what the plugin expects, you get all-red scores and zero content length instead of an error. This failure is silent and shows up as confusing results for editors. Check your field mappings and configuration first when scores look wrong.
- How do I add the SEO fields to an existing Filament resource?
- Add the package's HasSeo trait to your content model (Post, Page, Article) after publishing and running the migration. Then append the provided SeoTab or SeoSection form component to the resource's schema, usually inside the main form. That gives editors the analysis panel, Google preview, social previews, and schema type selector on the edit screen. Review the migration first, since the storage shape determines your casts and query strategy.
- Is the SEO score persisted in the database, and can I recompute it server-side?
- Scores are persisted, but whether you get a server-side entry point such as a method, action, or artisan command needs verification in the source. If scoring is client-side only, records written by imports, seeders, or API paths will drift from the stored score. In that case plan a backfill or recompute job, or fork the package to expose a server-side scorer. Confirm this before committing, because it affects bulk page performance and reporting accuracy.
- Can I add my own custom SEO or readability checks?
- The README does not document a rule registry or extension point for the 13 SEO checks or the readability rules. If the rule set is hard-coded, brand-specific requirements would mean forking the package. Since it is MIT licensed, forking is permitted, but it adds maintenance cost. Verify extensibility in the source before assuming custom checks are cheap.
- What do the dashboard widget and bulk management page give me?
- The dashboard widget shows average SEO scores and counts of missing meta tags across your content at a glance. The bulk management page lets you view, filter, analyze, and export the SEO status of all content from one screen. Both are optional panel surfaces registered through SeoPlugin::make(), so you can enable only what you need. They are read/triage tools and do not change how SEO is rendered on the frontend.
- Does it support multiple languages or per-locale SEO metadata?
- This depends on the storage shape in the published migration, which is not documented in the README. If SEO data is a JSON column on the host table, it is likely per-record rather than per-locale. A separate seo_meta table with a locale key would allow translations. Inspect the migration before committing to a multi-locale content model.
- Is Filament SEO Pro safe to use in production, and what are the alternatives?
- It is MIT licensed and v1.0.x with a single maintainer, low download counts, and sparse release notes, so treat it as a young package rather than a mature one. The realistic risk is not breakage but slow fixes, so keep the fork-and-abandon path open and pin versions in composer. Budget for the frontend meta and JSON-LD renderer you must build yourself. Alternatives are hand-rolled Filament SEO fields or other Filament SEO plugins, but evaluate whether any of them actually render frontend metadata before switching.