siberfx/lara-meta

A package to manage Header Meta Tags for Laravel 12+
1,380 4
Install
composer require siberfx/lara-meta
Latest Version:7.2.0
PHP:^8.4
License:MIT
Last Updated:Jun 17, 2026
Links: GitHub  ·  Packagist
Maintainer: siberfx

Laravel Meta Tags

Latest Stable Version Total Downloads Latest Unstable Version License

With this package you can manage header Meta Tags from Laravel controllers.


Installation

From the command line run

$ composer require siberfx/lara-meta

The service provider and the MetaTag facade are auto-discovered, so no manual registration is required on Laravel 12 / 13. The package configuration is merged automatically, so the package works out of the box without publishing anything.

Publish the configurations

Publishing is only needed if you want to customise the defaults. Run this on the command line from the root of your project:

$ php artisan vendor:publish --tag=meta-tags-config

or, equivalently:

$ php artisan vendor:publish --provider="Siberfx\LaraMeta\MetaTagsServiceProvider"

A configuration file will be published to config/meta-tags.php.

Twitter Cards and OpenGraph

Various settings for these options can be found in the config/meta-tags.php file.

Twitter Cards

{!! MetaTag::twitterCard() !!}

OpenGraph

{!! MetaTag::openGraph() !!}

Examples

app/Http/Controllers/Controller.php

<?php 

namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesCommands;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;

use MetaTag;

abstract class Controller extends BaseController 
{
    use DispatchesCommands, ValidatesRequests;

    public function __construct()
    {
        // Defaults
        MetaTag::set('description', 'description of the page or content you desire to be visible on google searches');
        MetaTag::set('image', asset('images/default-share-image.png'));
    }
}

app/Http/Controllers/HomeController.php

<?php 

namespace App\Http\Controllers;

use MetaTag;

class HomeController extends Controller 
{
    public function index()
    {
        // Section description
        MetaTag::set('title', 'You are at home');
        MetaTag::set('description', 'This is my home. Enjoy!');
        MetaTag::set('keywords', 'This is my home. Enjoy!');
        MetaTag::set('image', asset('images/detail-logo.png'));
        MetaTag::set('canonical', 'http://example.com');

        MetaTag::set('robots', 'index,follow');

   return view('index');
    }

    public function detail()
    {
        // Section description
        MetaTag::set('title', 'This is a detail page');
        MetaTag::set('description', 'All about this detail page');
        MetaTag::set('image', asset('images/detail-logo.png'));

        return view('detail');
    }

    public function private()
    {
        // Section description
        MetaTag::set('title', 'Private Area');
        MetaTag::set('description', 'You shall not pass!');
        MetaTag::set('image', asset('images/locked-logo.png'));

        return view('private');
    }
}

resources/views/layouts/app.blade.php

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="content-type" content="text/html; charset=utf-8">

        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <title>{{ MetaTag::get('title') . ' :: '. config('app.name')  }}</title>

        {!! MetaTag::tag('description') !!}
        {!! MetaTag::tag('keywords') !!}
        {!! MetaTag::tag('image') !!}
        {!! MetaTag::tag('image') !!}
        {!! MetaTag::tag('canonical') !!}
        {!! MetaTag::tag('robots') !!}
        
        {!! MetaTag::openGraph() !!}
        
        {!! MetaTag::twitterCard() !!}

        {{--Set default share picture after custom section pictures--}}
        {!! MetaTag::tag('image', asset('images/default-logo.png')) !!}
    </head>

    <body>
        @yield('content')
    </body>
</html>

Related Packages

dieterholvoet/laravel-meta-tags

A package to manage Header Meta Tags

14 0
provision/meta-tags

A package to manage Header Meta Tags

2,710 3
kekoapp/laravel-meta-tags

Easily set meta and OG tags from your Laravel 5.4 controllers

500 3
torann/laravel-meta-tags

A package to manage Header Meta Tags

287,852 66
grave2000/laravel-meta-tags

A package to manage Header Meta Tags

11 0