Add meta tags to laravel page

Oleg Grytsenko picture Oleg Grytsenko · Jan 8, 2016 · Viewed 33.6k times · Source

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')

Answer

Adam Taylor picture Adam Taylor · Jan 8, 2016

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