Skip to content

rudak/seo_bundle

Repository files navigation

seo_bundle

Manage your meta tags easily

Installation

composer require rudak/seo_bundle

Enable the Bundle

#AppKernel.php
$bundles = [
            //...
            new Rudak\SeoBundle\RudakSeoBundle(),
        ];

Configuration

Some parameters are required and some optional

#config.yml
rudak_seo:
    title: title you want
    description: Description you want
    author: RudaK
    og_title: My Website - Blog                          #optional
    og_description: My website is blue                   #optional
    og_image: relative/path/article.jpg                  #optional
    og_type: article                                     #optional
    og_locale: fr_FR                                     #optional
    fb_app_id: abcdefghijklmnopqrstuvwxyz0123456789      #optional

Usage

The Meta Object is auto configured with de default values from config.yml. You just have to call twig functions in your view for print the hydrated meta tag.

Basic example:

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    
    {{ seo_title() }}
    {{ seo_description() }}    
    {{ seo_author() }}
</head>

Will become

<html lang="fr">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    
    <title>your default title</title>
    <meta name="description" content="your default description">    
    <meta name="author" content="your default author">
</head>

Update the values in your controller

public function blogAction($id)
    {
        $em      = $this->getDoctrine()->getManager();
        $article = $em->getRepository('AppBundle:Blog')->find($id);

        $metaValues  = [
            'title'       => $article->getName(),
            'description' => 'what an article ! it\'s so good',
            'author'      => $article->getAuthor(),
            'og_type'     => 'article',
        ];
        $metaBuilder = $this->get('rudak_seo.builder');
        $metaBuilder->updateMetaObject($metaValues);

        return $this->render('default/article.html.twig', [
            'article' => $article,
        ]);
    }

The values will be updated in your template. That's all ;)

About

Manage your meta tags easily

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages