tomatophp / filament-seo
Manage and generate SEO tags and integrate your website with Google SEO services
Fund package maintenance!
3x1io
Requires
- php: ^8.1|^8.2
- filament/filament: ^3.2
- google/apiclient: ^2.0
- tomatophp/console-helpers: ^1.1
- tomatophp/filament-settings-hub: ^1.0
This package is auto-updated.
Last update: 2024-12-09 12:07:56 UTC
README
Filament SEO
Manage and generate SEO tags and integrate your website with Google SEO services
Installation
composer require tomatophp/filament-seo
after install your package please run this command
php artisan filament-seo:install
finally register the plugin on /app/Providers/Filament/AdminPanelProvider.php
->plugin( \TomatoPHP\FilamentSeo\FilamentSeoPlugin::make() )
on your .env
add GOOGLE_CREDENTIALS
to the path of your google admin service credentials file, please make sure that the account has access to Indexing API and Search Console API
GOOGLE_CREDENTIALS=
Screenshots
Features
- CMS builder auto indexing
- Generate SEO tags
- Generate Open Graph tags
- Generate Twitter tags
- Generate JSON-LD tags
- Integrate with Google Indexing API
- Integrate with Google Search Console API
- Integrate with Google Analytics
- Integrate with Google Tag Manager
- Integrate with Axeptio
- Integrate with Meta Pixel
- Integrate with X Business ads
Using
you can just add this blade directive to your head of your layout
@filamentSeo
and for Meta tags use
<x-filament-meta />
it will integrate everything for you and when you extend this layout you can use this sections
@section('title', 'PAGE TITLE') @section('description', 'PAGE DESCRIPTION') @section('keywords', 'PAGE KEYWORDS') @section('image', 'PAGE IMAGE') @section('author', 'PAGE AUTHOR') @section('type', 'PAGE TYPE') @section('category', 'PAGE CATEGORY') @section('date', 'PAGE PUBLISHING DATE')
Allow CMS Builder Auto Indexing
we are integrate with CMS Builder to allow auto indexing for your pages, to allow this feature make sure you install filament-cms
then allow this feature by use this method
->plugin( \TomatoPHP\FilamentSeo\FilamentSeoPlugin::make() ->allowAutoPostsIndexing() ->postUrl('/blog') // your post url ->postSlug('slug') // your post slug or id )
Use Google Indexing Jobs
we have a jobs to make it easy to integrate google indexing API on your Site like this
dispatch(new \TomatoPHP\FilamentSeo\Jobs\GoogleIndexURLJob([ 'url' => 'https://example.com' ])); dispatch(new \TomatoPHP\FilamentSeo\Jobs\GoogleRemoveIndexURLJob([ 'url' => 'https://example.com' ]));
Use Filament Shield
you can use the shield to protect your resource and allow user roles by install it first
composer require bezhansalleh/filament-shield
Add the Spatie\Permission\Traits\HasRoles trait to your User model(s):
use Illuminate\Foundation\Auth\User as Authenticatable; use Spatie\Permission\Traits\HasRoles; class User extends Authenticatable { use HasRoles; // ... }
Publish the config file then setup your configuration:
->plugin(\BezhanSalleh\FilamentShield\FilamentShieldPlugin::make())
Now run the following command to install shield:
php artisan shield:install
Now we can publish the package assets.
php artisan vendor:publish --tag="filament-users-config"
now you need to allow it on the plugin options
->plugin(\TomatoPHP\FilamentCms\FilamentCMSPlugin::make()->allowShield())
for more information check the Filament Shield
Publish Assets
you can publish config file by use this command
php artisan vendor:publish --tag="filament-seo-config"
you can publish views file by use this command
php artisan vendor:publish --tag="filament-seo-views"
you can publish languages file by use this command
php artisan vendor:publish --tag="filament-seo-lang"
you can publish migrations file by use this command
php artisan vendor:publish --tag="filament-seo-migrations"
Other Filament Packages
Checkout our Awesome TomatoPHP