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

  • 4

    Je viens de mettre à jour quelques plugins dont SEO (1.6.0) et j’ai l’erreur :
    « Erreur SQL 1054
    Unknown column ’id_objet’ in ’where clause’
    SELECT * FROM spip_seo WHERE id_objet =772 AND objet =’article’ »

    Je suppose que c’est id_object et pas id_objet

    • Bonsoir :)

      Non méfie toi, id_objet (SPIP est franco français dans le code :p) est certainement lié à SPIP3. Le plugin SEO est entrain d’être porté pour SPIP3 et il se peut que justement tu écopes d’un dommage collatéral :)

      Essaye de revenir sur une révision inférieure du plugin, ou attend un petit correctif. Merci d’avoir remonté le bug :)

    • J’ai l’impression que le plugin a été updaté sur le site sans passer par la case de la page des plugins pour mettre à jour la base...

      Si c’est le cas, il devrait y avoir une mise à jour qui change les champs de la base en id_objet / objet et non plus id_object / type_object...

      Si ce n’est pas le cas... Je vais investiguer demain... as tu d’autres erreurs dans tmp/mysql.log ?

    • J’ai réinstallé SEO plus de soucis.
      Ca ne sait déclenché qu’en zone privé sur toutes les pages edition d’article à partir du moment où j’ai créé un nouvel article.

      A par l’erreur signaler :
      SELECT * FROM dbXXX.spip_seo WHERE id_objet = 771 AND objet = ’article’

      j’ai juste plein d’erreurs bizarres (avec juste le pid qui change) :
      pr 25 23:33:44 86.70.XX.XX (pid 6750) Table ’dbXXX.Rubriques’ doesn’t exist - SHOW CREATE TABLE Rubriques

    • Qu’est ce que réinstaller ? il aurait juste fallu normalement passer par la page ?exec=admin_plugins et la base devrait avoir été mise à jour...

      Sinon c’est qu’il y a bien un bug...

      Les autres erreurs ne concernent pas le plugin SEO

    Répondre à ce message

  • 1
    Christophe

    bonsoir,
    petit bug repéré sur la v1.5.2 / Rév. 55021 au niveau de la balise meta robots : celle-ci prends la valeur de la meta copyright

    Pour corriger, il suffit de remplacer dans le code du fichier ’formulaires/configurer_seo_metas.php’ à la ligne 47

    $config['meta_tags']['tag']['robots'] = _request('copyright');

    par

    $config['meta_tags']['tag']['robots'] = _request('robots');

    Et merci pour ce plugin fort utile !

    Répondre à ce message

  • 1

    Bonjour,

    Je suis sur Mac et quel que soit le navigateur que j’utilise, impossible d’enregistrer la valeur de la meta robots dans la configuration générale du plugin (valeurs du sommaire)... je sélectionne « index, follow », je fais valider, tous les champs s’enregistrent, mais la meta robots reste vide...
    Quelqu’un d’autre a ce problème ?

    • Hello,

      Je constate la même chose. Je suis sous SPIP 2.1.12 SVN [19116] avec le plugin SEO en version 1.5.2 (base 1.0.1). Même en changeant la valeur de la balise « robots » directement dans l’enregistrement « seo » de la table spip_metas, celle-ci n’est pas conservée.

      Le plugin SEO insère bien une balise « robots » mais celle-ci prend la valeur de la balise « copyright » (dans mon cas).

      Je vais tâcher de jeter un oeil ce soir.

    Répondre à ce message

  • Petit bug avec le plugin cumulé avec celui « Champs extras », un message d’erreur mais rien qui fasse planter le site. Il ne semble pas non plus apprécier le fait que l’on restreigne les champs extras à une rubrique ou un secteur par exemple.

    Répondre à ce message

  • 1

    Bonjour,
    je cherche à passer le titre SEO (celui du plugin SEO, pas celui de base de l’article ou la rubrique) en URL de la page, sans succès.
    Est-ce possible ?
    Le cas échéant j’avais pensé transformer ce titre SEO en URL canonique afin que celle-ci soit référencée. Quelqu’un a-t-il déjà essayé l’une ou l’autre de ces deux manip’.
    Merci d’avance,
    cordialement

    • De mon côté j’utilise l’outil intégré dans le couteau suisse pour modifier le titre des urls une fois crées !
      Autrement avant l’utilisation de ce plugin j’avais créé un champs extra qui lui était le Titre h1 de chaque page et le titre spip lui devenait le titre de la page.

    Répondre à ce message

  • 1
    Nicolas Kempf

    Pourriez-vous préciser à quoi sert l’option « activer Alexa » ?

    • Exactement la même chose que Google Webmaster tools ou autres trucs du genre ... alexa.com permet de dire « ce site est à moi » à partir d’un code à mettre dans l’entête du site ...

    Répondre à ce message

  • 1

    Bonjour à tous et merci pour ce plugin bien pratique

    Evidemment, j’ai un petit soucis sinon je ne viendrai pas poster.
    Version Spip : 2.1.8 / Version SEO 1.3.1

    Tout fonctionne bien sauf avec cette balise : #SEO_META_BRUTE(description) (j’ai remplacé les accolades par des parenthèses sinon cela disparaissait lors du post, donc ce n’est pas du à une erreur de syntaxe ou pas celle là) qui fait systématiquement planter le compilateur de SPIP (erreur de compilation boucle / ligne 0)

    Je précise que j’utilise cette balise à l’intérieur du corps de la page mais j’ai utilisé la balise #SEO_META_BRUTE(title) la ligne du dessus sans soucis. J’utilise le bon vieux #SEO_META_TAGS dans le head de la page et tout marche bien si je ne mets pas #SEO_META_BRUTE(description).

    PS : au passage, vous devriez préciser dans la doc que quand on utilise #SEO_META_BRUTE(__balise__),
    la variable balise est en anglais ...

    Merci à tous de votre participation

    Arioch

    • J’arrive sûrement après la bataille mais quelle « valeur » de description essayais-tu de renvoyer ? C’est peut être un problème avec des caractères spéciaux, car j’utilise cette balise sans soucis.

    Répondre à ce message

  • 1

    Je viens d’installer la 1.3.3 (en test) et dans l’admin, l’installation ne signale aucun problème, puis la page de config/SEO affiche

    Fatal error : Can’t use function return value in write context in /home***/***/www/**monsite**/plugins/auto/seo/exec/seo_config.php on line 32

    quelqu’un aurait-il une piste ?
    Merci d’avance…

    JS

    • En toute logique ce bug qui avait été introduit pas une coquille dans une mise à jour a été réglé peu de jours après.

    Répondre à ce message

  • 23

    Une petite question : je viens d’installer ce plugin et je constate que la balise title ne change pas lorsque je passe d’un article à l’autre, cela fonctionne pour la page d’accueil, pour les articles, il faut cliquez sur « recalculez cette page » pour voir la balise être mis à jour sinon en mode test cela ne fonctionne pas. J’ai déjà essayé les modifications données sur cette page. J’utilise SPIP 2.1.0 et la dernière version de ce plugin SEO.

    • je pense qu’il faut que vous vidiez le cache de SPIP.

    • Bonjour,

      Je confirme le problème. Après avoir vidé totalement le cache, le titre de l’article ne se met pas à jour. Pour tous mes articles, je me retrouve avec le tag title du dernier article actualisé.

      SPIP 2.1.1
      Plugin SEO 1.3.0 [38891

    • La dernière version du plugin est la 1.3.1.

      Je viens de tester et ne constate pas ce bug pour ma part sur aucun de mes sites. Est-ce que tout est bien à jour de votre côté ? Est-ce qu’un vilain autre plugin ne viendrait pas interférer ? Est-ce que vous utilisez ZPIP ?

    • Oui j’utilise le plugin ZPIP, je l’ai désactivé pour repasser sur la dist et là SEO fonctionne parfaitement. Il y a donc bien incompatibilité des deux plugins. J’ ai passé les meta tags directement dans le squelette ZPIP en attendant de trouver une meilleure solution.
      Merci

    • ZPIP fait son propre travail sur les META. Pour une raison que j’ignore (et je n’ai pas cherché), il ne prend pas en compte la surcharge du plugin SEO.

      Si j’ai bien compris, le plugin ZPIP considère que le plugin SEO devrait d’abord « effacer » les meta mises par ZPIP avant d’écrire les siennes. Je ne suis pas sûr de comprendre pourquoi, mais je n’ai pas d’opinion sur la question, je laisse les autres trancher :)

    • Heu, je voulais regarder si un <utilise /> ou autre chose pouvait permettre à Zpip de prendre en compte , j’ai donc testé.

      Par contre avec spip 2.1.2 , j’ai 2 balises title , avec que le plugin SEO et après avoir supprimer le contenu de tmp/

       ?

    • Une de ZPIP, et une de SEO. ZPIP semble écrire tout seul les balises META sans qu’elles soient dans le squelette, mais je ne suis encore une fois sûr de rien, je ne l’utilise pas :)

    • ZPIP ne fait rien « tout seul ». C’est juste un squelette avec des inclusions. Donc je pense que le plugin n’est simplement pas conçu pour fonctionner avec n’importe quel squelette... (d’ailleurs je lis dans la doc qu’il ne fonctionne déjà pas avec squelettes-dist :p )

    • Alors je n’ai pas d’idée :) Mais là comme ça je ne vois pas pourquoi ça « marche pas » alors qu’à titre perso j’utilise les balises #SEO_TRUC que je fou moi même où je veux dans mes squelettes. Je vois pas comment la balise peut créer seule une double occurence :)
      J’ai pas testé sous ZPIP néanmoins, c’est ce que j’avais cru comprendre :)

    • Justement, le défaut du concept c’est qu’il faut *modifier* le squelette pour que ça marche. Si tu as un squelette fonctionnel sans le plugin (ie qui contient déjà les balises title etc), alors l’activation du plugin doublonne ces balises. Donc on est obligé de modifier le squelette, qui ne peut alors plus marcher sans le plugin (enfin il est incomplet).

    • Ok je viens de comprendre.

      Déjà pour les doubles occurrences, il faut dans un premier temps vérifier de ne PAS activer l’insertion automatique si on utilise soit même les balises.

      Ensuite je crois comprendre que ZPIP a lui même dans ses gabarits par défaut une insertion de title+meta description, ce qui forcerait qui souhaite utiliser les balises SEO (ou l’insertion automatique) à surcharger TOUTES les zpip/head/page-truc qui sont là par défaut.

      C’est ce que j’ai l’impression de comprendre du ZPIP que je viens de regarder. C’est donc pas « automatique » mais c’est « pensé par défaut » et ça ne semble pas « surchargeable en une fois ». Est-ce que ZPIP sinon ne pourrait pas avoir une « option » "ne pas utiliser les head/ ? Enfin j’en sais rien, il y a sûrement une bonne raison pour que chaque page ait un head par défaut dans ZPIP :)

    • La bonne raison pour avoir un head par defaut dans un squelette est juste de le rendre utilisable :p
      Entre nous, je ne connais pas de squelette qui ne prévoit pas les balises title et description ...

    • Il faudrait alors oui une balise #INSERT_TRUC qui comporte un « défaut » surchageable :)

      (les squelettes qui par exemple :p mais oui il faut toujours un défaut)

    • Petite précision concernant mon problème de mise à jour du meta tag title. J’avais placé la balise #SEO_META_TAGS dans le fichier /inclure/head.html du squelette ZPIP. Je pense qu’il aurait été plus judicieux de la mettre dans /head/article.html et /head/rubrique.html (en supprimant aussi les tags existants). Je n’ai pas encore testé mais cela semble plus logique.

      Au niveau de Google cela fait vraiment bizarre, une description et un titre qui ne correspondent pas du tout à l’article. J’espère que cela va se régulariser rapidement.

      Désolé pour le dérangement.

      Christophe

    • Bonjour et merci pour ce plugin,

      J’ai le même souci que NicoModo et chris28. Quand on navigue sur le site, la balise Title affichée est toujours celle de la page précédente, et il faut Recalculer la page pour que le vrai title apparaisse.

      Est-il possible de voir un exemple de structure de squelette pour lequel ca fonctionne bien ?

      Spip 2.1.0
      Plugin SEO 1.3.1

    • Est-ce que tu as bien un #CACHE0 avec ton inclusion ? Parce que sinon tu gardes en mémoire la dernière fois qu’il a été calculé !

      Par exemple tu peux te faire :

      <html>
      <inclure{fond=inc-seo} />

      Avec le fichier inc-seo.html qui contient

      #CACHE{0}
      #SEO_META_TAGS

      Ou quelque chose du genre

    • Ca marche !

      Voilà ce que j’ai fait :
      1. Créer le fichier inc-seo.html et y coller :

      #CACHE{0}
      #SEO_META_TAGS

      2. dans mon inc-head.html je place l’inclure juste après la balise head :

      <HEAD>
      <INCLURE{fond=inc-seo}>

      3. dans l’interface admin du plugin, je décoche « activer l’insertion automatique »

      Merci xdjuj !

    • Mathieu

      Merci beaucoup pour cette réponse qui m’a bien aidée !
      ++

    • Nicolas Kempf

      Pour en revenir à cette histoire de balises meta en double, j’ai pour ma part placé dans inc_header.html le

      #SEO_META_TAGS

      avant la suite de lignes annoncées par

      Il semblerait que la balise « title » prise en compte soit bien celle qui vient en premier, c’est à dire celle que j’ai remplie avec le plugin SEO.
      (ici : http://ecriture-livres.fr/)

      Est-ce que je fais bien ? Est-ce que Google prendra bien cette première balise « title » pour la bonne ?

    • Bonjour :)

      Google verra 2 balises TITLE, ce qui n’est pas bon.

      Tu utilises SarkaSPIP et je n’ai aucune idée de comment sont fait ses squelettes. Si ses squelettes incluent directement le TITLE de ta page, il faut voir comment les désactiver.

      Je remarque également que ton hébergement est toujours en PHP4 ce qui te posera certainement des problèmes sur d’autres plugins.

    • Nicolas Kempf

      Merci pour les infos ; je me prendrai par la main et je verrai pour migrer en php5. C’est vrai que certains plugins plantent chez moi...

      Pour la balise title, c’est noté. j’ai simplement désactivé la ligne dans le fichier concerné ; j’ai vérifié, le plugin SEO intervient bien dans toutes les pages.
      Cela dit, c’est un peu dommage qu’il ne permette d’intervenir que sur sommaire, articles et rubriques. Mes pages auteur et plan du site, notamment, auraient bien besoin d’une balise title spécifique...

      En tout cas merci pour ce plugin indispensable !

    • Re salut :)

      D’un autre côté, il est difficile d’insérer un titre « pertinent » sur une « page » de manière automatique. Seul toi peut savoir que ta page « envoyer_ami » doit s’appeler « Envoyer cette page à un ami - Mon site ».

      Je te conseille dans ce cas d’utiliser le plugin Pages Uniques :
      http://www.spip-contrib.net/Plugin-Pages-uniques

      Qui te permet de gérer tes pages comme des articles, et donc d’envisager utiliser le plugin SEO avec.

      A titre personnel mes pages envoient elles même leur titre, par exemple :

      <INCLURE{fond=inclure/inc-tete,titre_seo="Envoyer cette page à un ami",type=presse,env} />

      Que je récupère de la sorte :

      #CACHE{0}
      
      [(#ENV{titre_seo}|non) #SEO_META_TAGS ]
      
      [
      	<title>(#ENV{titre_seo})[ - (#SEO_META_BRUTE{title})]</title>
      	[<meta name="description" content="(#SEO_META_BRUTE{description})" />]
      	[<meta name="keywords" content="(#SEO_META_BRUTE{keywords})" />]
      	[<meta name="author" content="(#SEO_META_BRUTE{author})" />]
      	[<meta name="robots" content="(#SEO_META_BRUTE{robots})" />]
      ]

      En somme, cela signifie :
      -  SI la variable « titre_seo » est envoyée, ALORS ne pas utiliser le plugin SEO et remplir les balises une par une...
      -  SINON utiliser le plugin SEO et sa configuration (première ligne)

      J’espère que ces éléments de réponse t’aideront.

      Bonne soirée.

    • Nicolas Kempf

      Gloups, d’accord ! Merci pour le soutien. Je reviendrai dire si ça marche !

    Répondre à ce message

  • 1
    Anne-Laure

    Bonjour à tous !
    J’aimerais connaître la syntaxe pour les mots-clefs. Est-ce qu’il fait les séparer par des virgules, des points virgules, ou simplement des espaces ?
    Merci d’avance !

    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