Plugin SEO

Search Engine Optimisation Plugin

SEO est un plugin qui ajoute la possibilité d’insérer manuellement où vous le souhaitez ou de manière automatique dans la partie <head> de votre site web : meta tags, URL canonique, Google webmaster tools Meta Code et Google Analytics javascript.

Il est configurable dans la page de configuration de SPIP ainsi que dans chaque rubrique et article pour les meta tags.

Installation

Insertion manuelle

Les balises suivantes sont à votre disposition :

  • #SEO_META_TAGS : pour insérer les balises META configurées
  • #SEO_META_BRUTE{nom_de_la_meta} : pour insérer la valeur brute d’une META (keywords, copyright, etc.)
  • #SEO_GWT : pour insérer la META Google Webmaster Tools
  • #SEO_URL : pour insérer le des liens canoniques
  • #SEO_GA : pour insérer le JavaScript Google Analytics

Il est donc préférable d’insérer la balise #SEO_META_TAGS avant votre appel à INSERT_HEAD, suivie de la balise #SEO_GWT.

La balise #SEO_GA pourra être placée en pied de page.

La balise #SEO_META_BRUTE pourra quant à elle être placée n’importe où dans le flux HTML, ou utilisé pour générer une balise sur mesure dans le HEAD (cas d’un sitemap Google News et de sa balise <news:keywords> par exemple).

Insertion automatique

La balise #INSERT_HEAD doit être présente dans toutes vos pages du squelette (si possible avant le <INCLURE{fond=inc-head}> si présent dans vos squelettes).

ATTENTION : dans ce cas le plugin ne fonctionnera pas correctement si vous placez #INSERT_HEAD dans le fichier inc-head.html ou un autre fichier que vous incluez dans la partie <head> de vos squelettes. Par conséquence le plugin n’est pas compatible avec le « squelettes-dist » fournit de base.

Nota : Depuis la version 1.7.3, il est possible de forcer les metas pour tous squelettes, y compris ceux fournissant déjà par défaut ces balises. Pour activer ce mode, l’option s’active depuis la page de configuration. La constante _SEO_FORCER_SQUELETTE (apparue à partie de la version 1.7.0) est maintenant obsolète et n’est plus prise en charge.

Configuration

La configuration du plugin se fait dans « Configuration / Search Engine Optimisation » (voir la capture d’écran si-dessous).

Si « l’édition des meta tags dans les rubriques et les articles » est activé vous pourrez configurer les meta tags dans chaque rubrique ou article par le biais du formulaire qui est ajouté dans les pages d’éditions.

Page de Configuration

Fonctionnement

  • Insert Head (si activé) : Rajoute les configurations activées de manière automatique dans le HEAD grâce à la balise #INSERT_HEAD de SPIP.
  • Meta tags (si activé) : Les meta tags sont ajouté dans toutes les pages (sommaire, article ou rubrique) où #INSERT_HEAD est présent ou à l’aide de la balise #SEO_META_TAGS. Vous pouvez configurer le comportement par défaut dans la configuration du plugin mais si « l’édition des meta tags dans les rubriques et les articles » est activé ce sont ces meta tag qui sont prioritaire si ils sont renseigné.
  • Url Canonique (si activé) : Les URL canoniques sont ajoutées pour la page d’accueil du site et pour tous les articles et rubriques.
  • Google Webmaster Tools (si activé) : Le Meta Tag comprenant le code de vérification est ajouté uniquement sur la page d’accueil du site.
  • Google Analytics (si activé) : Le code javascript de Google Analytics est ajouté a touts les pages où #INSERT_HEAD est présent.

Discussion

91 discussions

  • 3

    Bonjour,

    Merci pour ce plugin.

    Une idée, n’y aurait il pas intérêt à intégrer l’utilisation d’un des plugins qui gère l’acceptation utilisateur des cookies, pour l’insertion des meta google.

    comme http://contrib.spip.net/CookieChoices

    ça simplifierait la mise en place...

    • Bonjour

      La question du cookie est une problématique différente, liée principalement à une obligation légale.
      Pour ma part, cela n’ayant pas un rapport avec le SEO ou les meta des pages. Je ne pense pas qu’il soit pertinent d’agir sur ce plugin SEO.

      Mais pour poursuivre l’idée on peut imaginer que le plugin cookiechoice agisse sur le plugin google analytics afin de rajouter la “sécurité” proposé dans l’article.

    • Hello,

      Scuz mais, je vois pas le rapport avec le plugin google analitic, vu que j’utilise SEO car il insère les tags webmaster tools et analitics ^^.

      Ma remarque portait sur le fait que vu que le plugin SEO insère des tags/scripts potentiellement amenés a utiliser les cookies, on se doit/devrais d’avertir l’utilisateur, si c’ette insertion est activé..

      Ce n’est en fait qu’une portion de js a intégrer si le plugin est utilisé/activé et que l’insertion par SEO des scripts Google est activé.

      je me fait cette remarque car je me retrouve a l’intégrer dans tout mes sites et squelettes , après je comprends parfaitement que l’on puisse préférer déléguer cette tache au squelette plutôt que de rajouter une couche au plugin.

      merci de ta réponse et du travail sur le plugin ;-)

    • Salut les amis :)

      Je pense que le code ne peut pas être intégré à SEO car la problématique est beaucoup plus large.

      La « cookie bar » doit permettre de retirer les codes Google Analytics, mais pas ceux de Piwik par exemple (tu n’es pas obligé de mentionner que tu utilises Piwik, donc pas de barre). Elle doit également supprimer (ou pas) les appels aux réseaux sociaux (comme AddThis par exemple).

      Elle n’est donc pas simplement limitée à SEO, mais à « tout » ce qui potentiellement peut tomber sous la reco de la CNIL.

      Du coup, il faut bien un plugin CookieBar (celui de SPIP ou fonction maison, comme nous utilisons perso), et c’est le test sur la valeur de cette fonction qui active ou pas le tracking et les différents services.

      Voilà ce que moi j’en pense en tout cas ;-)

    Répondre à ce message

  • 3
    Spipmalion

    Bonjour,

    Comment parlez-vous de la version SEO 2.0.3 alors que celle proposée en téléchargement est 1.8.1 ?
    Merci

    • Salut et désolé pour le retard de réponse. En réalité la version 2.1.2 devrait être zippée mais manifestement il y a un problème.

      Elle est toutefois disponible au téléchargement depuis SVN :

      svn co svn://zone.spip.org/spip-zone/_plugins_/seo/trunk seo_2_1_2

      en attendant le rétablissement du ZIP :)

    • Spipmalion

      Bonjour,

      C’est toujours la v1 en téléchargement dans cette page ?

    • Merci pour le rappel.
      C’est corrigé.

    Répondre à ce message

  • 1

    Bonjour,

    Est-ce que cela peut servir à compléter des données structurées demandées par Google type hentry , Champ manquant : author, updated ?

    • Salut.

      Je ne suis pas bien sûr de comprendre ta question, mais la réponse est sans aucun doute « non ».

      Si tu parles des h-entry en tant que microformats, non, ça ne le fera pas à ta place, c’est à toi dans ton HTML (donc dans ton squelette) de mettre en place le balise sémantique pertinent dont tu as besoin :
      -  http://microformats.org/wiki/h-entry-fr

      Aucun CMS ne peut « prédire » les endroits de ton code HTML qui contiennent des microdatas, ça ne peut être fait que par un humain ça !

    Répondre à ce message

  • 6

    Bug très pénalisant (surtout pour le référencement google).

    Les titres qui utilisent la balisent « multi » voient leur titre mal inteprété losque référencé et aussi tout en haut dans la barre windows.

    Exemple :

    "<multi>[fr]toto[en]tutu</multi>"
    
    au lieu d'afficher : "toto"
    
    cela affiche : "[fr]toto[en]tutu"
    • Des nouvelles de ce bug ?

    • Bug très pénalisant (surtout pour le référencement google).
      Les titres qui utilisent la balisent « multi » voient leur titre mal inteprété lorsque référencé et aussi tout en haut dans la barre windows.

      J’ai également eu ce problème pour le résoudre il faut légèrement modifier la méthode seo_calculer_meta_tags (l.222) du fichier seo_fonctions.php :

      function seo_calculer_meta_tags($contexte=null){
         include_spip('inc/config');
         include_spip('inc/filtres');  // [+]
      
          ...
      
         if (isset($row['titre']))
            $tag['title'] = couper(extraire_multi($row['titre'], 
            $contexte['lang']), 64); // [+]
            //$tag['title'] = couper($row['titre'], 64); [-]
            unset($row['titre']);
          
          ...
    • Salut Thomas ! :)

      Bah faut commiter ton correctif sur SPIP Zone alors !! ;-) Vous n’avez pas un accès avec Ben ou autre ?

      (sinon je commite pour vous, mais c’est dommage)

    • C’est corrigé pour la version 2.1.1 du plugin :
      -  http://zone.spip.org/trac/spip-zone/changeset/84804

    • Bonjour,
      J’utilise SEO 2.1.3 - test et les balises [fr] apparaissent dans les résultats Google.lorsque l’URL de la page se termine en ?lang=fr

      Est-ce que c’est lié à $GLOBALS[’forcer_lang’]=true ; qui est défini via le couteau kiss ?

      Merci

      dd

    • Bonjour

      C’est bien probable. Le fait d’utiliser $GLOBALS[’forcer_lang’] indique à SPIP, entre autre, d’intégrer le contexte de langue dans l’url.
      De ce fait les urls calculées et publiques auront cet argument par défaut, et donc les moteurs de recherche les prendront en compte.

    Répondre à ce message

  • 6

    Bonjour,

    J’utilise ce plugin systématiquement, je le trouve très pratique. Merci à ses concepteurs !

    Je remarque que sur les sites conçus en Spip 2.x, je pouvais régler la balise robots sur chaque page ou rubrique, au cas par cas. Sur mes sites en Spip 3.x, ce n’est plus le cas, le champ n’apparaît plus. Pourquoi ?

    • Bonjour,

      Je suis dans le même cas, la balise robot ne remonte plus lors de l’édition d’un article ou d’une rubrique.

      SPIP 3.0.16 + SEO 2.0.4
      ou
      SPIP 3.0.13 + SEO 1.8.1

    • crazyspip

      Bonjour,

      Je remonte cette question car je trouve que l’abandon du réglage possible de meta robots au niveau de l’édition des articles, comme c’était le cas dans des versions précédentes, est très dommage !

      Pour contourner le problème, j’ai abandonné le plugin SEO sur certains sites et utilise « Champs extra » mais c’est assez lourd. Et puis j’aimais bien ce plugin tout simple.

      Y a-t-il une raison pour cet abandon ? Ou un oubli ? Qqch de prévu à ce niveau ?
      Merci d’avance de votre réponse.

    • Ha bah c’est con oui.

      C’est rétabli dans la version 2.1.2 du plugin (qui sera zippée je pense cette nuit).

    • crazyspip

      Ah chouette ! Merci beaucoup xdjuj. Mais dors un peu quand même, hein ! :-)
      En tout cas, compte sur moi pour la dézipper dès que dispo. ;-)

    • Tu pourras même l’essayer sous SPIP 3.1 ! :)

    • crazyspip

      Mais... mais c’est Noël avant l’heure !!!

    Répondre à ce message

  • 3

    Bonjour,

    Je rencontre un souci de title et autres metas dupliqués sur les pages utilisant une pagination.
    Exemple : une page rubrique avec un pas de 5 sur la pagination et qui contient 8 articles aura les mêmes title et metas qu’on soit sur la page 1 ou la page 2.

    Sur des sites n’utilisant pas le plugin SEO et dont le title est généré par les squelettes, je récupère #ENVdebut_articles pour ajouter une pagination dans le title.
    Avec le plugin SEO, ça me semble plus ardu (je ne maîtrise pas PHP...)

    Quelqu’un s’est-il déjà penché sur le problème ?

    Merci d’avance pour vos réponses,

    Sandrine

    • Salut.

      C’est une très bonne remarque, et qui s’applique d’ailleurs aussi aux balises meta link prev/next qui ne sont pas encore prises en compte dans ce plugin (faudrait le mettre en Todo).

      Je pense que la solution pour toi serait simplement de ne pas faire d’insertion automatique, et de composer « toi même » tes meta dans tes squelettes avec un truc du genre

      #SEO_META_BRUTE{title}[ - (#ENV{debut_articles})]

      par exemple, comme ça, si tu as un début d’article, alors tu auras la pagination de rajoutée.

      Mais ça me fait penser qu’il me semble qu’un commit a peut être cassé SEO_META_BRUTE... à vérifier donc :)

    • Merci de ta réponse.

      Je viens de tester avec le plugin en version 1.8.1, puis en version 2.0.6 : SEO_META_BRUTE ne semble pas cassée :)
      J’ai donc ajouté la balise dans mes squelettes (avec le filtre supprimer_numero pour être tranquille s’il n’y a pas de title spécifique renseigné) :

      [(#SEO_META_BRUTE{title}|supprimer_numero)]

      Pour que la pagination soit cohérente dans mes titres, je fais un SET :

      [(#ENV{debut_articles}|oui)
      	[(#SET{numero-page, #ENV{debut_articles}|div{5}|plus{1}})]
      ]

      où ’5’ correspond à mon pas de pagination. ça me permet d’affiche ’Page 1’, ’Page 2’... et non ’Page 5’, ’Page 10’

      Je récupère le tout dans mes squelettes

      [(#SEO_META_BRUTE{title}|supprimer_numero)][ - Page (#GET{numero-page})]
    • Pour compléter ma remarque précédente : j’ajoute mon #GETnumero-page également dans mes h1 sur les différents squelettes.

      (mais ce n’est peut-être pas le bon endroit pour le mentionner, le plugin SEO ne gérant pas les balises dans le contenu)

    Répondre à ce message

  • 3
    germain

    Bonjour,

    Je fais appel à votre aide car je ne trouve pas de solutions,

    Pour résumé, j’ai besoin d’obtenir toutes les métas descriptions des articles d’une rubrique
    Exemple de ma boucle :

    <BOUCLE_articles(ARTICLES) {id_rubrique=1} >
    #SEO_META_BRUTE{description}
    </BOUCLE>
    • germain

      Et cela ne fonctionne pas.

      Quelqu’un aurait une idée pour pouvoir récupérer la meta desc ?

      (sorry pour le double poste, j’ai publier trop vite ma question)

      Merci !

    • C’est normal.

      Tu as une table spécifique qui est utilisée pour les valeurs SEO.

      Tu devrais donc faire une boucle du genre :

      <BOUCLE_articles(ARTICLES) {id_rubrique=1} >
      <BOUCLE_meta(SEO){objet=article}{id_objet=#ID_ARTICLE}{meta_name=description}>
              #META_CONTENT
      </BOUCLE_meta>
      </BOUCLE_articles>

      Pour afficher la description pour ton article.

      La table SEO comporte les champs suivants : id_objet / objet / meta_name / meta_content.

      • objet prend la valeur de l’objet (article, rubrique, etc.)
      • meta_name prend les valeurs genre (description, title, keywords)
    • germain

      Super Merci xdjuj, je débute dans spip et je comprends mieux certaines choses :) !

    Répondre à ce message

  • 1

    Bonjour !

    SPIP 3.0.11 + SEO 2.0.3

    Je pourrais enregistrer les valeurs pour les articles and rubriques, mais je ne pouvais pas fot mots-clés (MOTS).

    Quelle est la raison ?solution ?

    merci d’avance

    Serge

    • Apparemment seuls les articles et rubriques sont gérés dans le code

    Répondre à ce message

  • 19

    J’ai également un problème avec la version 2.0.3 du plugin avec SPIP 3.0.13

    Message ARRAY dans le head de la page.

    • Bonjour

      Est il possible de connaitre la version SPIP utilisée et les options du plugin activées ?

    • SPIP 3.0.13, aucun problème lorsque j’étais avec SPIP 3.0.11

      Uniquement Meta tags activé : article et rubriques

      #SEO_META_TAGS dans le head
      #SEO_GWT

      site : www.divan-production.com

      voir l’image : https://www.dropbox.com/s/ok0g4jp328mhacr/Untitled.jpg

    • Merci pour le retour.

      Je vais essayer de reproduire le comportement sur un site de test avec la même configuration.
      J’espère pouvoir identifier la cause et la résoudre.

    • J’ai le même soucis sur une 3.0.13 :( des nouvelles à propos de ce soucis ?

    • pas de news ? :(

    • Pas de news pour le moment. J’attend encore un peu. Sinon je ferais à la main

    • Yop

      Normalement j’ai un peu de disponibilité début de semaine prochaine :)

    •  :) :) :) clap clap clap :) croisons les doigts

    • problème confirmé, le debut de semaine est passé cam.lafit :) , je regarde

    • des news ?

    • Yop

      Je suis dessus :) Oui j’ai des semaines plutôt jupétérienne ....

    • Bonjour,
      j’utilise ce plugin très intéressant, et je rencontrais le même problème que vous avec Array qui apparaissait en haut de page.
      Après quelques recherches, je n’ai pas trouvé de où il pouvait provenir mais j’ai trouvé comment le masquer en attendant :
      Ajouter « $head = str_replace(’Array’,’’,$head) ; » à la ligne 153 du fichier seo_fonctions.php dans la fonction « seo_insere_remplace_metas » juqte avant le « return ».

      A défaut de vrai solution, c’est déjà ça en attendant.

    • Je débute sur spip donc c’est peut être évident pour vous mais je préfère préciser que pour que ça fonctionne n’oubliez pas de vider votre cache.
      A plus

    • merci ! est ce une bonne idée en attendant d’utiliser la méthode à Gery ?

    • Des nouvelles ? peut on utiliser la méthode à Gery en attendant ?

    • Bonsoir.

      Je viens de publier un correctif.

      Pour ma part je n’utilise pas l’insertion auto, mais la balise SEO_META_TAGS, qui était cassée. En la réparant je me suis rendu compte que je cassais en retour l’insertion automatique.

      Je pense que la dernière personne à avoir travaillé sur l’insertion auto avait justement cassé la balise SEO_META_TAGS.

      J’ai normalement corrigé ET gardé les spécificités de chacun à savoir :
      -  les contraintes pour la balise SEO_META_TAGS
      -  les contraintes pour l’insertion auto

      Merci d’avance à ceux qui l’utilisent de me confirmer que l’insertion auto est bien fonctionnelle.

      Merci à ceux qui avaient le bug de « Array » de me confirmer que c’est corrigé pour eux.

      Bonne soirée.

    • Alors ça fonctionne ! J’ai supprimé et réinstallé le plugin sans ça l’erreur était toujours là ! Merci !!!

    • Cool.

      En fait le bug provoquait également l’absence de meta_tag sur les pages... Ce qui n’était pas très cool :)

      Tant que tu n’as plus l’alerte et que tu as bien les META dans le code source, c’est que c’est bon !

    • c’est le cas, tout en ordre, trop cool ! Un grand merci !!!!

    Répondre à ce message

  • 1

    Bonjour,
    pour moi c’est la cata !
    j’ai du désactiver le plugins suite au passe sur la V2 car je me retrouvais avec une page blanche !
    d’où cela peut il bien provenir ?
    merci d’avance d’éclairer ma chandelle !

    • Bonjour

      Pour pouvoir répondre il faudrait plus d’informations comme :

      • quelles sont les options activées pour le module
      • que dit spip.log
      • que dit apache2/error.log

      Il peut être intéressant de rajouter le mode debogue de Apache/PHP pour afficher les erreurs.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom