Aller au contenu principal
loading

Symfony2 et SEO : tutorial

POSTÉ DANS Symfony TAGS Symfony AUTEUR herve COMMENTAIRES 2

Voici un petit tutorial pour mettre en place le SEO dans Symfony 2 via le bundle SeoBundle.

INSTALLATION


# installer seo-bundle via Composer

php composer.phar require sonata-project/seo-bundle



La version va être demandée. A l'heure actuelle, c'est la version 1.1.1
Pour connaitre la dernière version : https://github.com/sonata-project/SonataSeoBundle/tags

# ajouter le bundle SeoBundle au kernel (fichier AppKernel.php)

public function registerbundles()
 {
     return array(
         ...
         new Sonata\SeoBundle\SonataSeoBundle(),
     );
 }

 

CONFIGURATION


# pour utiliser SeoBundle, ajouter ceci à votre fichier de configuration app/config/config.yml

sonata_seo:
     default:          sonata.seo.page.default
     encoding:         UTF-8
     page:
         title:            Sonata Project
         metas:
             name:
                 keywords:             foo bar
                 description:          The description
                 robots:               index, follow
 
             property:
                 # Facebook application settings
                 #'fb:app_id':          XXXXXX
                 #'fb:admins':          admin1, admin2
 
                 # Open Graph information
                 # see http://developers.facebook.com/docs/opengraphprotocol/#types or http://ogp.me/
                 'og:site_name':       Sonata Project Sandbox
                 'og:description':     A demo of the some rich bundles for your Symfony2 projects
 
             http-equiv:
                 'Content-Type':         text/html; charset=utf-8
                 #'X-Ua-Compatible':      IE=EmulateIE7
 
         head:
             'xmlns':              http://www.w3.org/1999/xhtml
             'xmlns:og':           http://opengraphprotocol.org/schema/
             #'xmlns:fb':           "http://www.facebook.com/2008/fbml"





# Si vous souhaitez modifier ces valeurs dans votre controller, voici la démarche à suivre

<?php
 public function testAction()
 {
   $seoPage = $this->container->get('sonata.seo.page');
   $seoPage
     ->setTitle("Editeur")
     ->addMeta('name', 'description', "my new description")
     ->addMeta('property', 'og:title', "my new title")
     ->addMeta('property', 'og:type', 'blog')
     ->addMeta('property', 'og:url',  $this->generateUrl('my_route',array(),true))
     ->addMeta('property', 'og:description', "my new og description")
   ;
  ...

 

UTILISATION DANS TWIG


# Titre de la page (attention, ne pas mettre entre les balises <title>

{{ sonata_seo_title() }}



# Metadatas

{{ sonata_seo_metadatas() }}



# Attributs HTML

{{ sonata_seo_html_attributes() }}




# EXEMPLE

<!DOCTYPE html>
 <html {{ sonata_seo_html_attributes() }}>
     <head>
         {{ sonata_seo_title() }}
         {{ sonata_seo_metadatas() }}
     </head>
     ...

 



2 commentaire