Search code examples
htmllaravel-5laravel-5.1meta-tags

Add meta tags to laravel page


I'm trying to add description and keywords to my Laravel pages.

Is this way working? Or there is something wrong?

@section('title')
{{trans('strings.About')}}
@stop
@section('description', 'Share text and photos with your friends and have fun')
@section('keywords', 'sharing, sharing text, text, sharing photo, photo,')
@section('robots', 'index, follow')
@section('revisit-after', 'content="3 days')

Solution

  • Are you extending another template that uses all these sections? They won't work on their own, they need to populate a placeholder in another template.

    It should be something like:

    <!-- layouts.master -->
    <html>
        <head>
            <title>App Name - @yield('title')</title>
            <meta name="description" content="@yield('description')">
            <meta name="keywords" content="@yield('keywords')">
            <!-- etc -->
        </head>
        <body>
            ...
        </body>
    </html>
    

    And then your template should extend the other template.

    @extends('layouts.master')
    @section('title')
    {{trans('strings.About')}}
    @stop
    @section('description', 'Share text and photos with your friends and have fun')
    @section('keywords', 'sharing, sharing text, text, sharing photo, photo,')
    @section('robots', 'index, follow')
    @section('revisit-after', 'content="3 days')
    

    At least, that is how I read their documentation: https://laravel.com/docs/5.2/blade