Plugin miniSEO (billet support)
Par Fran6t le mercredi, 26 mars 2008, 13:00 - Dotclear 2 - Lien permanent
Voici une version du plugin miniSEO[1] permettant de compléter le metatag description situé dans la partie HEAD d'une page HTML.
Principe de fonctionnement
- Si utilisation du plugin seul, les 250 premiers caractères du billet sont extraits puis nettoyés des balises de codes éventuels et servent à remplir le tag description.
- Si le plugin est couplé au plugin Mymeta[2] il est alors possible de saisir en même temps que son billet la phrase exacte que l'on souhaite voir affichée dans ce meta
- Toujours si le plugin est couplé au plugin Mymeta il est possible maintenant de personnaliser la balise title d'une page de type billet.
- Avec le plugin related ou page connexe le comportement est le suivant : soit la page connexe est construite à partir d'un billet, le plugin renseignera alors le meta description avec la concaténation du chapeau + corps du billet (coupé à 250 caractères), soit la page connexe est construite à partie d'un fichier externe, le plugin prendra alors uniquement le chapeau.
- Pour la page d'accueil du blog c'est la description définie dans la partie admin qui est prise en compte;
- pour les pages de type category c'est la description de la catégorie qui est prise en compte;
- les pages archives, tag et search ne sont pas prises en compte.
Conditions requises
- Avoir une version de DOTCLEAR 2 en beta 7.3 (le plugin est testé avec succès avec une beta 7.3-r1690)[3]
Télécharger le plugin (dernière version 1.2)
(pour info vous pouvez parcourir les sources ici)
Mode d'emploi
Voir ci-dessous après les notes
Mode d'emploi plugin seul
Assurez vous de la présence de la ligne tpl:SysBehavior behavior="publicHeadContent"
dans le fichier _head.html de votre thème. Si le le fichier _head.html n'existe il y aura utilisation du fichier _head.html se trouvant dans le thème default.
Vous pouvez maintenant regarder le source de votre page soit en faisant "CTRL U" si vous êtes avec FireFox ou alors en utilisant par exemple spider-simulator.com (attention de bien être sur un billet car cela ne fonctionne pas pour l'accueil du site une catégorie un tag).
Si vous ne voyez pas la ligne commençant par <meta name="description" content="
videz votre cache, si ce n'est toujours pas concluant désactiver le cache template en vous rendant dans l'admin et en cliquant sur about:config (menu vertical de gauche) et en passant la variable tpl_use_cache à non
IMode d'emploi plugin miniSEO couplé avec Mymeta
Appliquez déjà les recommandations de l'intallation plugin seul ci-dessus puis :
A l'aide du plugin Mymeta voici le cheminement en image
1/ Créez un nouveau meta

2/ Saisissez la chaîne de caractères SEO-description en respectant les majuscules minuscules et laissez le type string
3/Rendez actif ce tag
4/Saisissez maintenant dans le bas du billet la phrase que vous voudrez (c'est celle qui apparaîtra dans les résumé google lors de la prochaine indexation de votre blog)

++5/Pour la balise title recommencez la même opération mais cette fois-ci avec SEO-title
Attention il faut maintenant modifier le fichier post.html de votre thème pour enlever la balise title native par defaut, sinon vous aurez 2 balises title ce qui sera très très néfaste à votre référencement
7/ Et voila la phrase saisie dans ce champs apparaîtra dans la partie head de votre page et si vous avez appliqué la solution pour la balise title ce sera aussi le cas pour le titre de la page.

Historique version
- 1.2 Correction petite erreur de warning dans l'admin, version fr et en
- 1.1 Ajout d'une page diagnostique dans l'admin (plus d'info)
- 1.0 correction comportement avec plugin related (pages connexes)
- 0.9 correction provisoir d'une erreur pour les pages catégories merci llaumgui
0.8 code du plugin rendu plus propre notament une partie qui faisait un appel en dur(pages catégories en erreurs)- 0.7 ajout de la possibilité de personnaliser la balise title de la page
- 0.6 quasiment pas diffusé mais changement total de programmation interne du plugin
- 0.5 ajout des pages de type related ( plugin Pages Connexes ) quand les pages sont faites à partir d'un billet bien sûr. (Du coups j'ai ajouté un fichier external.html au thème studiopress)
- 0.4 s'applique maintenant aussi au page category et page accueil
- 0.3 couplage avec le plugin Mymeta qui permet maintenant de saisir la phrase souhaitée pour cette description
- 0.2 version sans obligation de désactiver tpl_use_cache (il semble qu'il faille quand même mettre tpl_use_cache à non
- 0.1 version de test de départ
Suivi evolution dans le temps du résumé Google
Je refais une capture du résultat de la commande site:http://www.myouaibe.com attention image très grande
Commentaires
Tres bonne idée ce plugin !
j'ai un petit souci chez moi en mode plugin seul, si je mets la balise dans le head.html general, l'affichage de tag.html plante avec cette erreur :
Fatal error: Call to a member function getExcerpt() on a non-object in /home/Web/domaine/path/cache/cbtpl/c4/04/c404da4c9dbcf8cea6ddc04f306a4200.php on line 41
du coup j'ai du mettre la balise uniquement dans le fichier post
une idee d'où cela peut provenir ?
je suis en dc2b7 (non svn)
Tu as détruit ce fichier cache ? essai de le supprimer sinon en attendant reste comme tu as fais car j'ai pas mal retravaillé dessus et normalement il devrait plus rien avoir à faire au niveau du thème enfin plus avec la balise miniseo car je fais appel à un nouveau mecanisme qui est natif dans la svn.
oui j'ai vidé le cache et relancé mon navigateur aussi, rien a faire, avec le plugin j'ai cette erreur, sans, je ne l'ai plus...
Je vais tester sur un autre bug avec un svn, ca vaut le coup
Merci pour ta réponse !
Bonjour,
Très bon début de plugin, je propose de gérer les autres balise meta comme auteur, langue, keywords...
Bonne continuation
hello
le plugin marche impec, bravo et merci
Par contre j'aimerais rajouter un espace entre le chapo et le texte, et je ne m'en sors pas avec sprintf. Que dois-je rajouter dans la ligne 86 de _public.php pour separer proprement excerpt et content ?
Essais comme cela :
$meta= '.sprintf($f,'$_ctx->posts->getExcerpt('.$urls.').' '.$_ctx->posts->getContent('.$urls.')').';
Je le met en place dans la version 0.6 qui est bien plus simple à ce niveau là.
Super ! Ca marche bien pour les billets mais pour la page d'accueil ? Tu dis :
"Pour la page d'accueil du blog c'est la description définie dans la partie admin qui est prise en compte"
Ou et comment mettre cette description ?
Merci.
C'est dans paramètre du blog et le grand champs description du blog.
Et il suffit de renseigner ce champ pour que la description apparaisse dans les balises méta ?
Ce n'est pas le cas sur mon blog ? Peux tu jeter un oeil ?
Réponse de Francis :
Si pourtant mais peut etre pas correctement...
Voici mon fichier _head.html :
{{tpl:MiniSEO}}
<meta name="{{tpl:MyMetaValue type="description"}}">
...
Réponse de Francis :
Problème avec la version 0.8 qui fait des pages blanche dans les catégories : retours à la version 0.7.
Merci beaucoup illaumgui, je n'étais pas là hier pour corriger cette erreur de suite j'ai publié un version 0.9 avec un petit patch.
Désolé mais j'ai rien compris à comment on met en place ce plugin.
Le fichier readme dit de venir voir ce post mais l'ajout de {{ tpl:MiniSEO }} ou {{tpl:SysBehavior behavior="publicHeadContent}} dans mon _head.html ne change rien du tout, que j'utilise la version 0.3 ou 1.0 ou même 1.1 du plugin.
Réponse de Francis :
Merci beaucoup de ta réponse, alors j'ai la dernière version de dotclear beta 2 (version 2.0-beta7.0.1).
Et quand je mets {{tpl:SysBehavior behavior="publicHeadContent}} dans mon fichier _head.html, j'ai ce message dans le panneau d'admin de miniseo : "Ni votre thème ni le thème default posséde la balise permettant le lancement du plugin"
Et en haut de mon blog j'ai une ligne supplémentaire avec écrit : {{tpl:SysBehavior behavior="publicHeadContent}}
merci encore de ton aide
Réponse de Francis :
Ha oui en effet !
En corrigeant l'interface d'admin du plugin me dit : Test présence tag de lancement : Ok
Mais {{tpl:SysBehavior behavior="publicHeadContent"}} apparait toujours en haut du blog (et casse mon skin d'ailleurs ;)).
Par contre l'interface d'admin du plugin m'indique :
version 2.0-beta7.0.1
Votre version est trop ancienne
Alors que j'ai la dernière version disponible.
Merci beaucoup de ton aide
Les dernières version regarde ici : http://www.myouaibe.com/index.php/p...
Arf non je préfère rester sur une version qui marche, tant pis ! Dommage que ton plugin ne marche pas avec la version dite "stable" de cette beta de dotclear 2.
En tout cas bravo, l'idée est superbe !
Titax c'est bizarre, tes commentaires sont dans le spam à chaque fois c'est IP_LOOKUP qui te place en SPAM. Plus que deux jours à attendre pour la nouvelle version stable. La RC de Dotclear 2 est pour le 1er Mai.
Salut fran6t, même avec la version RC1 le plugin ne marche pas, il indique que la version de dotclear est trop ancienne.
Oui il dit cela depuis que la RC1 est sortie mais il fonctionne quand même peux tu m'en dire plus sur le thème que tu utilises, as tu bien regardé si dans le fichier _head.html de ton thème il y a bien {{tpl:SysBehavior behavior="publicHeadContent}} si ton thème n'a pas de fichier _head.html il te faut contrôler alors si c'est bien présent dans le thème default. Pour corriger le problème de test version il y aura bientôt une 1.2 du plugin mais qui ne corrige que cela et deux warnings sans importances.
Bonsoir,
J'ai voulu ajouté la nouvelle version du plugin MiniSEO, mais mon admin me dit :
Erreurs :
Fichier zip de module vide.
J'ai regardé dans le fichier zip, il n'y a qu'un fichier "plugin-miniseo-1.2", sans extension ni rien? est-ce normal ?
Merci.
C'est réglé, j'ai téléchargé le plugin depuis dotaddict...! MErci !