SeoKit is a Laravel SEO toolkit for managing meta tags, Open Graph data, Twitter cards, and JSON-LD from one consistent API.
It is designed for applications that need a practical SEO layer without stitching together multiple packages or scattering metadata logic across controllers, models, and views.
- Complete SEO coverage for meta tags, Open Graph, Twitter cards, and JSON-LD structured data
- Clean Laravel integration through a facade, Blade directive, install command, and model traits
- Flexible data flow with support for computed SEO data and database-backed SEO records
- Polymorphic model SEO support for managing metadata separately from your domain models
- Built-in caching and sensible defaults to reduce repetitive setup and unnecessary queries
- Designed for modern Laravel applications, with automated test coverage for Laravel 11, 12, and 13
- PHP 8.3+
- Laravel 11+
Install the package with Composer:
composer require larament/seokitPublish the package assets with the installer command:
php artisan seokit:installIf you prefer to publish assets manually:
php artisan vendor:publish --tag="seokit-config"
php artisan vendor:publish --tag="seokit-migrations"
php artisan migrateSet page metadata in your controller:
use Larament\SeoKit\Facades\SeoKit;
public function show(Post $post)
{
SeoKit::title($post->title)
->description($post->excerpt)
->image($post->featured_image)
->canonical(route('posts.show', $post));
return view('posts.show', compact('post'));
}Render the tags in your layout:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
@seoKit
<!-- ... -->
</head>
<body>
<!-- ... -->
</body>
</html>For model-driven SEO, SeoKit also provides HasSeo and HasSeoData traits.
Visit the official documentation website for complete guides, architecture details, and cookbook examples:
- Introduction & Architecture
- Installation & Setup
- Configuration Reference
- Meta Tags & Titles
- Open Graph & Social Sharing
- Twitter Cards
- JSON-LD Structured Data
- Blade Directives
- Database-Backed SEO (
HasSeo) - Computed SEO Data (
HasSeoData) - Images & Storage Disks
- Macros & Extensions
- Caching & Performance
- Laravel Octane Safety
To run the documentation website locally:
npm run docs:dev
# or
bun run docs:devRun the test suite:
composer testRun static analysis:
composer analyseLint and format the codebase:
composer lintPlease see CHANGELOG for more information on what has changed recently.
Contributions are welcome. Please open an issue or submit a pull request if you want to improve the package.
Please review the security policy for reporting vulnerabilities.
SeoKit is open-sourced software licensed under the MIT license.