valkos / laravel-seo
SEO management for Laravel: entries, custom tokens, frontend modal, change log, Filament admin.
v1.0.1
2026-08-21 16:31 UTC
Requires
- php: ^8.2
- illuminate/contracts: >=11.0
- illuminate/database: >=11.0
- illuminate/http: >=11.0
- illuminate/routing: >=11.0
- illuminate/support: >=11.0
- illuminate/validation: >=11.0
- illuminate/view: >=11.0
Requires (Dev)
- filament/filament: ^5.0
- laravel/pint: ^1.0
- orchestra/testbench: ^10.0
- phpunit/phpunit: ^11.0
Suggests
- filament/filament: Admin panel resources (SEO entries, tokens, changelog).
README
SEO module for Laravel 11/12 — entries, :token variables, frontend modal, full HTML (Twitter, OG, JSON-LD), Filament admin panel.
Live Demo • Quick Start • Documentation
Features
| Component | Description |
|---|---|
| SEO Entries | Title, H1, Description, Keywords, OG, Canonical, Robots |
| Variables | System :site_name + custom static/composite tokens in DB |
| Modal | Edit SEO directly on the page (for SEO specialists) |
| Change Log | Audit trail with diff of template and resolved text |
| Filament | Admin resources for entries, tokens, changelog |
| Extensibility | TokenProvider, EntitySeoSynchronizer, config bindings |
Documentation
| Section | Link |
|---|---|
| Installation & Quick Start | docs/01-installation.md |
| Configuration | docs/02-configuration.md |
| Publishing SEO in Controllers | docs/03-publishing-seo.md |
| Frontend: Blade, JS, CSS | docs/04-frontend-modal.md |
| Filament Admin Panel | docs/05-filament-admin.md |
Variables :token |
docs/06-tokens-variables.md |
| Troubleshooting | docs/07-troubleshooting.md |
| Git & Packagist | docs/08-git-and-packagist.md |
| Extended Meta (Twitter, OG, JSON-LD) | docs/09-social-meta.md |
Русская версия: README.ru.md
Quick Start
composer require valkos/laravel-seo php artisan vendor:publish --tag=laravel-seo-config php artisan vendor:publish --tag=laravel-seo-assets php artisan migrate
In config/seo.php set authorization and bindings, then in your layout:
@include(config('seo.views.present')) @include(config('seo.views.modal'))
In your controller:
$seo->publish(SeoPageTarget::forRoute('home', 'Homepage'), [ 'h1' => 'Heading', 'title' => 'Title — :site_name', ]);
For details see docs/01-installation.md.
Requirements
- PHP 8.2+
- Laravel 11 or 12
- MySQL / PostgreSQL / SQLite
- Bootstrap 5 (for the modal)
- Filament 5 (optional, for admin panel)
Package Structure
src/ PHP: service, models, HTTP, Filament
config/seo.php Configuration
database/migrations/ seo_entries, seo_tokens, seo_change_logs
resources/views/ Blade partials
resources/js/ seo-modal.js, seo-modal-tokens.js
resources/css/ seo-modal.css
stubs/ Example adapters for your project
docs/ Full documentation
tests/ PHPUnit + Orchestra Testbench
License
MIT © valkos.by
