As the title says, this package config the Search Engine Optimization in your laravel models, even save the SEO in your database if you wanted to
You can install the package via composer:
composer require claudiusnascimento/seo:0.1.1
ClaudiusNascimento\Seo\SeoServiceProvider::class
'Seo' => ClaudiusNascimento\Seo\SeoFacade::class
use ClaudiusNascimento\Seo\Traits\SeoTrait;
class Page
{
use SeoTrait;
}
php artisan vendor:publish --provider="ClaudiusNascimento\Seo\SeoServiceProvider" --tag="config"
Now, you can set the SEO in your controllers, like so
public function homePage()
{
$page = Page::find(1);
\Seo::setTitle('Home Page');
}
Add the following, in the appropriate location, to generate the meta tags
{!! \Seo::generate() !!}
This line will generate the SEO HTML meta tags.
If you want, and I higly recomend, you can save the SEO in the database.
php artisan migrate --path=vendor/claudiusnascimento/seo/database/migrations
{{ $model->generateSeo() }}
This line will display the form do store the seo in your database. You can put this in other location, BUT, will need the $model instance.
To generate the forms to store SEO, the package need the model id and model relation, the ID will get from $model->id, and the seo relation will get automatically from class_basename. Is higly recomended you change this behaviour.
In your model you can add the property:
public $seo_relation = 'pages'; // for example
Or, you can add a method:
public function getSeoRelation()
{
return 'pages';
}
Now, the way you set the SEO in your controllers will change
public function homePage()
{
$page = Page::find(1);
\Seo::setModel($page);
}
And the code will get the SEO store in your edit views
*** you can put the seo form to store the SEO in any location. Just the model object is necessary ***
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email cau@claudiusnascimento.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.
This package was generated using the Laravel Package Boilerplate.