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>
...
Articles en lien
- Tutoriel Symfony2 et OVH : installation et configuration sur serveur mutualisé
- Symfony2 : accéder aux routes dans vos fichiers Javascript
- Symfony2 : traduire vos fichiers Javascript / translate Javascript files
- Symfony 2 : listing des lignes de commandes de base
2 commentaire