tomatophp/filament-seo

Manage and generate SEO tags and integrate your website with Google SEO services

Fund package maintenance!
3x1io

v1.0.3 2024-10-09 11:43 UTC

This package is auto-updated.

Last update: 2024-12-09 12:07:56 UTC


README

Screenshot

Filament SEO

Latest Stable Version License Downloads

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

Setting Indexing

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