PHPackages                             nomanur/filament-seo-pro - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. nomanur/filament-seo-pro

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

nomanur/filament-seo-pro
========================

The definitive SEO toolkit for Filament — live analysis, Google preview, social cards, schema markup, and bulk management.

v1.0.0(1mo ago)11494↑108.3%11MITPHPPHP ^8.2 || ^8.3 || ^8.4CI passing

Since Jun 11Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/nomanur/filament-seo-pro)[ Packagist](https://packagist.org/packages/nomanur/filament-seo-pro)[ Docs](https://github.com/nomanur/filament-seo-pro)[ RSS](/packages/nomanur-filament-seo-pro/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (24)Versions (13)Used By (1)

Filament SEO Pro
================

[](#filament-seo-pro)

[![Latest Version on Packagist](https://camo.githubusercontent.com/cb36caab29e35e21cea0c3a92760723850bb19082c52788f5e13c912929e0742/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e6f6d616e75722f66696c616d656e742d73656f2d70726f2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nomanur/filament-seo-pro)[![Total Downloads](https://camo.githubusercontent.com/34ca4bd6885c75cf3a49be6bcf1f49c7a9ad2f229872b26c19f3916e61c16c4e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6e6f6d616e75722f66696c616d656e742d73656f2d70726f2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nomanur/filament-seo-pro)[![GitHub Actions](https://github.com/nomanur/filament-seo-pro/actions/workflows/main.yml/badge.svg)](https://github.com/nomanur/filament-seo-pro/actions)

The definitive SEO toolkit for Filament v4.

For full developer documentation, guides, and interactive configurations, visit [nomanur.github.io/filament-seo-pro](https://nomanur.github.io/filament-seo-pro/).

Filament SEO Pro brings a complete Yoast-like SEO experience directly into your Filament panels. It provides live analysis of your content as you type, Google and social media preview cards, Schema.org type selection, a dashboard widget, and a bulk SEO management page.

Features
--------

[](#features)

- 🟢 **Live SEO Analysis** — 13 comprehensive checks for titles, descriptions, content length, keywords, headings, and links.
- 📖 **Readability Analysis** — Scores your content based on sentence length, paragraph structure, passive voice, and transition words.
- 🔍 **Google Search Preview** — See exactly how your content will look in Google search results, updated in real-time.
- 🔗 **Social Media Previews** — Live preview cards for Open Graph (Facebook) and Twitter.
- 🎯 **Dashboard Widget** — Overview of your site's SEO health with average scores and missing meta tags.
- 📊 **Bulk Management Page** — View, filter, analyze, and export the SEO status of all your content from one place.

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require nomanur/filament-seo-pro
```

Publish the assets:

```
php artisan filament:assets
```

Publish and run the migrations:

```
php artisan vendor:publish --tag="filament-seo-pro-migrations"
php artisan migrate
```

You can optionally publish the config file:

```
php artisan vendor:publish --tag="filament-seo-pro-config"
```

Setup
-----

[](#setup)

### 1. Register the Plugin

[](#1-register-the-plugin)

Add `SeoPlugin::make()` to your panel provider (e.g., `app/Providers/Filament/AdminPanelProvider.php`):

```
use Nomanur\FilamentSeoPro\SeoPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugins([
            SeoPlugin::make(),
        ]);
}
```

### 2. Prepare your Models

[](#2-prepare-your-models)

Add the `HasSeo` trait to any models that require SEO metadata:

```
use Illuminate\Database\Eloquent\Model;
use Nomanur\FilamentSeoPro\Traits\HasSeo;

class Post extends Model
{
    use HasSeo;
    // ...
}
```

### 3. Add to your Resources

[](#3-add-to-your-resources)

Add `SeoTab::make()` to your resource's form schema. For example, within a `Tabs` component:

```
use Filament\Forms\Components\Tabs;
use Nomanur\FilamentSeoPro\Forms\SeoTab;

public static function form(Form $form): Form
{
    return $form
        ->schema([
            Tabs::make('Post')
                ->tabs([
                    Tabs\Tab::make('Content')
                        ->schema([
                            // Your content fields
                        ]),
                    SeoTab::make(), // Automatically injects the full SEO interface
                ])
        ]);
}
```

If you aren't using tabs, you can use `SeoSection::make()` instead:

```
use Nomanur\FilamentSeoPro\Forms\SeoSection;

public static function form(Form $form): Form
{
    return $form
        ->schema([
            // Your content fields...
            SeoSection::make(),
        ]);
}
```

Configuration
-------------

[](#configuration)

### Plugin Configuration

[](#plugin-configuration)

You can configure the plugin directly when registering it in your panel provider:

```
SeoPlugin::make()
    ->defaultContentField('body') // Field used for content analysis (default: 'content')
    ->defaultTitleField('name')   // Field used as fallback title (default: 'title')
    ->defaultSlugField('permalink') // Field used for URL preview (default: 'slug')
    ->enableDashboardWidget(true) // Show SEO Overview widget on dashboard
    ->enableManagementPage(true)  // Show SEO Management page in navigation
    ->models([                    // Models to include in the SEO Management page
        \App\Models\Post::class,
        \App\Models\Page::class,
    ]);
```

### Tab Configuration

[](#tab-configuration)

You can override the default fields on a per-resource basis:

```
SeoTab::make()
    ->contentField('post_body')
    ->titleField('post_title')
    ->slugField('post_slug')
```

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Nomanur Rahman](https://github.com/nomanur)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance91

Actively maintained with recent releases

Popularity26

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

11

Last Release

46d ago

Major Versions

v0.1.0 → v1.0.02026-06-11

PHP version history (2 changes)v0.0.1PHP ^8.3

v0.0.4PHP ^8.2 || ^8.3 || ^8.4

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/29956256?v=4)[Nomanur Rahman](/maintainers/nomanur)[@nomanur](https://github.com/nomanur)

---

Top Contributors

[![nomanur](https://avatars.githubusercontent.com/u/29956256?v=4)](https://github.com/nomanur "nomanur (13 commits)")

---

Tags

laravelseofilamentfilament-pluginopen-graphmeta-tagsyoasttwitter cardsschema markupseo-analyzer

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/nomanur-filament-seo-pro/health.svg)

```
[![Health](https://phpackages.com/badges/nomanur-filament-seo-pro/health.svg)](https://phpackages.com/packages/nomanur-filament-seo-pro)
```

###  Alternatives

[filament/filament

A collection of full-stack components for accelerated Laravel app development.

3929.6M3.9k](/packages/filament-filament)[codewithdennis/filament-select-tree

The multi-level select field enables you to make single selections from a predefined list of options that are organized into multiple levels or depths.

330530.5k30](/packages/codewithdennis-filament-select-tree)[promethys/revive

A 'RecycleBin' page where users can restore or delete permanently soft-deleted models.

163.1k1](/packages/promethys-revive)[schmeits/filament-character-counter

This is a Filament character counter TextField and Textarea form field for Filament v4 and v5

34226.4k14](/packages/schmeits-filament-character-counter)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.8k](/packages/rawilk-profile-filament-plugin)[biostate/filament-menu-builder

An Elegant Menu Builder for FilamentPHP

6528.1k2](/packages/biostate-filament-menu-builder)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
