Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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')
like image 923
Oleg Grytsenko Avatar asked Jan 08 '16 12:01

Oleg Grytsenko


People also ask

Where can you insert the meta elements?

<meta> tags always go inside the <head> element, and are typically used to specify character set, page description, keywords, author of the document, and viewport settings.

What is meta data in laravel?

Description. Metadata for your Models. "Laravel Meta allows you to store information about each of your models and easily access them without having to create new columns for this information in your database."

How do I add meta to Shopify?

From your Shopify admin, go to Online Store > Preferences. Enter a title and meta description for your store, following SEO best practices. Click Save.


2 Answers

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

like image 81
Adam Taylor Avatar answered Oct 08 '22 17:10

Adam Taylor


You can create only one section with all these important tags that I have mentioned below. And @yield this section in app layout <head> section of HTML code.

@section('meta_tags')
    @if($obj)
        <title>{{$obj->title}} - {{env('SITE_URL', 'Site Name')}}</title>
        <meta name='description' itemprop='description' content='{{$obj->description}}' />
        <?php $tags = implode(',', $obj->tags); ?>
        <meta name='keywords' content='{{$tags}}' />
        <meta property='article:published_time' content='{{$obj->created_at}}' />
        <meta property='article:section' content='event' />

        <meta property="og:description" content="{{$obj->description}}" />
        <meta property="og:title" content="{{$obj->title}}" />
        <meta property="og:url" content="{{url()->current()}}" />
        <meta property="og:type" content="article" />
        <meta property="og:locale" content="en-us" />
        <meta property="og:locale:alternate" content="en-us" />
        <meta property="og:site_name" content="{{env('SITE_URL', 'Site Name')}}" />
        @foreach($obj->images as $image)
            <meta property="og:image" content="{{$image->url}}" />
        @endforeach
        <meta property="og:image:url" content="{{obj->image}}" />
        <meta property="og:image:size" content="300" />

        <meta name="twitter:card" content="summary" />
        <meta name="twitter:title" content="{{$obj->title}}" />
        <meta name="twitter:site" content="@BrnBhaskar" />
    @endif
@endsection
like image 24
Brn.Rajoriya Avatar answered Oct 08 '22 16:10

Brn.Rajoriya