Setting Open Graph for Laravel.
Via Composer install:
composer require ezitisitis/laravel-open-graph
Include Open Graph meta view into your layout <head>
:
@include('open-graph::meta')
Set Open Graph metadata into Controller (this example page title default is Laravel app name):
HomeController
<?php
namespace App\Http\Controllers;
use Ezitisitis\LaravelOpenGraph\Facades\OpenGraph;
class HomeController extends Controller
{
public function index()
{
OpenGraph::start()
->setTitle()
->setDescription('The site description...')
->setImage(asset('images/og-image.png'));
return view('home');
}
}
Set the article's Open Graph metadata Controller (this example article title like Article name - App name
):
ArticleController
<?php
namespace App\Http\Controllers;
use App\Article;
use Ezitisitis\LaravelOpenGraph\Facades\OpenGraph;
class ArticleController extends Controller
{
public function show(Article $article)
{
OpenGraph::start()
->setType('article')
->setTitle($article->title)
->setDescription($article->description)
->setImage($article->thumbnail)
->setData([
'article:published_time' => $article->created_at->toIso8601String(),
]);
return view('home');
}
}