WordPress : plugin Yet Another Related Posts

Il est toujours très intéressant de pouvoir proposer des articles relatifs à celui que consulte vos lecteurs sur votre site. Cela a le double bénéfice de pouvoir :

  1. permettre à vos lecteurs de poursuivre plus avant sur le sujet qui les a amené sur votre blog et les intéresse (à priori)
  2. vous permettre de les « garder » plus longtemps afin de (peut-être) les fidéliser et d’autre part de faire baisser le fameux taux de rebonds: hantise de tout rédacteur sur le net.

Le problème étant de sélectionner les bons articles à proposer à vos lecteurs:

  • Si vous les sélectionnez vous-même, à la main, vous allez y passer un temps fou. Et même, si vous publiez beaucoup par exemple, cela sera tout simplement ingérable à terme.
  • La plupart des plugins permettant d’automatiser la tâche sous WordPress ne tiennent généralement compte que des tags voir, au mieux, de la catégorie et proposent donc des articles généralement peu pertinents voir pas du tout en rapport avec l’article consulté. Autant dire que l’essai est raté ! C’est le cas par exemple avec Simple Tags (excellent plugin au demeurant) et WordPress Related Posts.

C’est pour ces deux raisons que je n’avais encore jamais franchi le pas d’ajouter une section « Articles relatifs » à mon blog jusque là. Cependant, cherchant tout de même à pouvoir vous offrir cette fonction, j’ai découvert hier un plugin pour WordPress qui se démarque un peu de la concurrence à ce niveau-là malgré son nom à priori peu engageant : Yet Another Related Posts !

L’intérêt de ce plugin sur ces concurrents est de noter les articles relatifs à celui affiché sur une base de critères étendues que vous allez en plus pouvoir personnaliser. Jugez plutôt, vous pouvez :

  • définir indépendant s’il doit prendre en compte ou non et à quel point :
    • les titres
    • le contenu
    • les catégories
    • les tags
  • les catégories et les tags qui ne doivent pas être pris en compte (gestion des exceptions !)
  • le nombre maximum d’articles à retourner
  • la note minimale que doit obtenir un article pour être jugé comme « relatif » (valeur par défaut 5 mais vous pouvez la baisser pour avoir plus de résultats ou au contraire l’augmenter pour améliorer la pertinence des résultats)
  • l’ordre d’affichage :
    • du « plus pertinent » au « moins pertinent » et inversement
    • par date (du plus récent au plus ancien et inversement)
    • par titre (alphabétique et inversement toujours)
  • s’il faut considérer indifféremment les articles et les pages ou non (par défaut les pages ne sont pas prises en compte)
  • la façon d’afficher la liste retournée

Vous pourrez également laisser le plugin insérer « tout seul » la liste en bas de vos articles ou, si comme moi vous voulez garder la main sur l’affichage de vos articles, utiliser l’un des trois fonctions à disposition pour afficher cette liste. À savoir :

  • related_posts() qui affichent les billets relatifs
  • related_pages() qui affichent les pages relatives (pratique pour une « utilisation CMS » de WordPress)
  • related_entries() qui affichent indifféremment billets et pages relatifs

De plus, ce plugin est activement maintenu par son développeur et promet des évolutions très intéressantes.

Bien sûr, ce n’est toujours pas parfait mais permet déjà une finesse supérieure à ces concurrents d’après mes quelques tests tout en vous libérant de la contrainte d’aller parcourir vos archives manuellement. Le seul vrai bémol étant évidemment que, même s’il est particulièrement bien conçu et performant, le fait même de réaliser autant de test peut avoir un impact sur les performances. Ce plugin mérite donc d’être évalué et testé sur votre environnement propre.

Pour ma part, je ne le test que depuis hier mais suis déjà emballé et je pense qu’il a de très bonnes chances d’être adopté.

Continuez votre lecture

24 commentaires

Christophe a dit le 18 août 2008 à 22:01

Sympa en effet parce que plus flexible que « WordPress Related Post » et les update à venir semblent intéressantes (le RSS me plait bien pour éviter d’avoir à ajouter 1 plugin juste pour ça)

Par contre je te trouve un peu dur en disant que ce dernier n’est pas vraiment pertinent ;) C’est sur qu’apparemment il n’est pas aussi fin que « Yet Another… » mais à partir du moment ou tu taggue bien tes billets je pense qu’il est quand même pas mal suffisant :)

RépondreRépondre
burningHat a dit le 18 août 2008 à 22:08

Yop, je suis volontairement un peu tranché car les tags seuls me paraissent un critère un peu trop mince pour être pertinent. D’autant que beaucoup (moi le premier parfois) tagguent leurs articles de façon par forcément super optimale. Il faut dire que c’est un facteur humain assez délicat, surtout sur des blogs/sites « généralistes ». Je le trouve excellent pour ce qu’il fait mais pas forcément sur ce point-là du coup. En même temps, c’est pas très grave vu que ce n’est pas sa vocation première :p

En tous cas, dans les tests que j’ai pu effectuer entre ces trois sur mon blog, le résultat est sans appel au niveau de la pertinence des articles remontés: les deux premiers (Simple Tags et WordPress Related Posts) renvoient presque exactement les mêmes résultats (rendant WRP totalement inutile à mon avis) avec une pertinence très relative alors que l’autre « tape juste » à tous les coups avec une liste parfois assez originale et pouvant remontée très loin.

Sans compter cette option permettant de durcir (ou au contraire de « relâcher ») le niveau minimum de corrélation qui est vraiment un must à mon humble avis.

RépondreRépondre
Jean-Marie a dit le 18 août 2008 à 22:15

Perso, le plug-in Similar Posts (http://rmarsh.com/plugins/similar-posts/) est installé chez moi et j’en suis plutôt satisfait jusqu’à présent et tient au fait, je viens de m’apercevoir que Marsh utilise les fameuses archives de Shaun Inman sur son blog ! … ;)

RépondreRépondre
burningHat a dit le 18 août 2008 à 22:25

Yop merci Jean-Marie ! Je suis en tous cas très en phase avec une réflexion de l’auteur du plugin que tu cites (qui utilise aussi les FULL_SEARCH pour établir ses critères de comparaison apparemment) sur le problème à ne se baser que sur les tags pour établir une liste d’articles relatifs :

Ideally, similarity or relatedness would be based on a post’s meaning. Tagging systems try to add meaning after the fact but suffer from two deficiencies, one practical and the other theoretical. When a blog already has many posts it can be impractical to retrofit a tagging system by tagging every post by hand. ‘Automatic’ services, like Yahoo’s, tend to produce too many suggestions which need to be culled, again by hand.

The theoretical problem with tagging is that it tries to pin down a meaning for a post by categorising it under a small number of types, whether those types belong to a predetermined hierarchy or arise by ‘folk’ classification. In fact, a post has a variety of meanings, a multitude of ways it can be related to other posts. Meaning doesn’t just lie in the intention of the author or in the classification of the reader; meaning also inhabits the text itself. Meaning is in the words.

Il a l’air pas mal du tout. Moins d’options que celui présenté ici mais bien sympa. D’ailleurs c’est pas forcément plus mal non plus. Par contre risque de souffrir d’un défaut inhérent aux langues comme il le cite d’ailleurs lui-même aussi dans sa page dû à la seule utilisation de la recherche sur le texte par FULLTEXT et nécessite une « table tampon » dédiée dans la base de donnée (wp_similar_posts) apparemment.

RépondreRépondre
Jean-Marie a dit le 18 août 2008 à 22:46

J’utiserais certainement Yet Another Related Posts en septembre quand mon blog aura changé de peau histoire de voir les résultats d’autant plus qu’il est personnalisable, c’est un point fort je trouve ! … ;)

RépondreRépondre
burningHat a dit le 18 août 2008 à 22:51

Yep, tiens nous au courant ! ;)

RépondreRépondre
papoo a dit le 18 août 2008 à 23:49

L’essayer c’est l’adopter, ce que j’ai fais. Merci

RépondreRépondre
Christophe a dit le 18 août 2008 à 23:54

Je viens de l’essayer aussi mais j’ai …. rien :)
Que j’active le mode « Automatically display related posts » ou que je place le code php directement dans mon template même résultat : absolument rien ne s’affiche ;o
Il y a qqchose de spécial à faire pour qu’il tourne, j’ai zappé qqchose? ^^

RépondreRépondre
Jeremy a dit le 19 août 2008 à 2:14

Vais tester ça quand j’aurais fais le changement de serveur pour le blog :)
Grr j’ai l’impression que avec tes articles wordpress tu me presse a travailler sur mon thème tout autant que tu te presse :p

RépondreRépondre
burningHat a dit le 19 août 2008 à 7:23

@papoo yop ! :D

@Christophe Comme indiqué dans la FAQ, peut-être que le « Match Thresold » est trop élevé par défaut. Le truc c’est d’abord de cocher l’option »Show admins (user level > 8) the match scores » qui affichera à côté des titres des articles relatifs le score qu’ils ont obtenus (seulement pour les admins du blog, pas pour les lecteurs) et de mettre ce « Match Thresold » à 1. Ensuite, t’affines progressivement.

@Jeremy gnark gnark gnark :D

RépondreRépondre
Jean-Sébastien Mansart a dit le 19 août 2008 à 8:54

En effet, le principal problème est d’avoir des billets pertinents.
Sur dotclear, il existe un plugin qui se base sur les tags, tu peux dire combien de tags minimum il doit y avoir en commun pour faire afficher un billet relatif.
Le soucis, c’est quand tu fait un billet qui sort un peu de l’ordinaire, et que les tags ne correspondent pas tous, on risque vite de se retrouver avec une liste vide.

Se baser sur le titre, je ne pense pas que ce soit réellement parlant, surtout qu’en tant que blogueur on a un peu tendance à utiliser des titres racoleurs pour attirer le chalant, du coup, il se peut que dans certains cas, cela fasse ressortir des billets « étranges »

Ce qu’il faudrait, c’est faire une analyse du lexique du billet complet… Il existe des algo pour ça ;)

RépondreRépondre
burningHat a dit le 19 août 2008 à 9:19

@JS Yop le titre, c’est clair que c’est pas l’élément le plus parlant. Justement ce que j’apprécie avec ce plugin c’est de pouvoir lui dire sur quoi se baser et comment. Pour ma part, je l’ai configuré en disant : ne pas considérer des titres, considérer du contenu comme très important, considérer les tags (j’ai hésité avec « plusieurs tags en commun ») et considérer la catégorie comme importante.

Il existe des algo pour l’analyse lexical et même, MySQL propose nativement des recherches en FULLTEXT assez puissant.

Je ne sais pas ce que vaut le plugin sur DotClear 2 (testé un peu la plateforme mais pas encore ses plugins je dois dire) mais je me souviens qu’à l’époque où j’étais sous DotClear 1, j’avais le même problème que celui énoncé au début de l’article.

RépondreRépondre
Christophe a dit le 19 août 2008 à 10:15

@burn >> Tout fait comme tu dis et toujours rien ne s’affiche ;)

RépondreRépondre
burningHat a dit le 19 août 2008 à 10:35

Beuh, bizarre bizarre… Tu veux que je te mail une copie de ma conf éventuellement ?

RépondreRépondre
Christophe a dit le 19 août 2008 à 13:40

Si tu veux mais à mon avis ça ne changera pas grand chose, j’ai pas mal essayé différentes choses et ça ne veux rien savoir ;) Nul ce plugin ;p

RépondreRépondre
burningHat a dit le 19 août 2008 à 16:37

Yep, c’est parti ! Tiens nous au parfum parce que c’est quand même bizarre je trouve !

RépondreRépondre
Amaury a dit le 28 août 2008 à 10:08

Similar Post est un très bon plugin aussi ;)
Ptete le meilleur d’ailleurs ;)

Simple Tags, c’est très limité disons ;)

RépondreRépondre
burningHat a dit le 28 août 2008 à 10:34

Bon alors déjà, honoré je suis de te voir commenter chez moi Amaury ! :D Merci pour ton passage.

Il est si bien que ça Similar Posts ? Je vais tester ça en local alors… Je suis juste un peu « refroidi » par devoir installer Post-Plugin-Library pour le code partagé (alors que je n’utilise pas forcément les plugins qui partagent le code avec Similar Posts… un peu lourd comme truc, une version « standalone » aurait été bienvenue de la part de l’auteur) en plus des histoires liés à la « table tampon » et la ré-indexation complète de l’existant (voir commentaire plus haut), etc..

Quand à Simple Tags, ton plugin est vraiment excellent… Enfin moi je l’adore en tous cas. Pour la gestion des tags ;) Après je comprends bien que la fonction pour la liste de billets relatifs est simpliste vu que je la vois plus comme un « goodies » qu’autre chose en fait.

Yet another Related Posts me plait vraiment car il réussi bien le pari de proposer des critères avancés sans nécessiter de « table tampon » (ça permet de s’en séparer plus facilement par exemple) tout en restant assez rapide au niveau du traitement.

RépondreRépondre
Amaury a dit le 28 août 2008 à 10:41

Honneur ? ahahah ;)

La table intermédiaire n’est pas un mal en soi. Cela oblige à un traitement initial, mais ensuite les performances sont bien meilleurs ;)

Ensuite c’est vrai que le plugin pré-requis alourdit un peu la chose, mais ca reste très bien développé, et y’a plein d’options.

Tu peux choisir le pourcentage d’importance, du titre, des tags et du contenu, c’est franchement bien foutu ;)

RépondreRépondre
burningHat a dit le 28 août 2008 à 11:43

Yop yop bah le truc qui m’inquiète avec la table intermédiaire et la ré-indexation c’est l’impact sur la BDD à terme d’une part et surtout la possibilité de retrouver une BDD « saine » si je décide de me séparer du plugin par la suite. Tu vois ce que je veux dire ? Mais je vais tester ça pour me forger une opinion vu que là je théorise sur ce que j’ai lu dans la doc mais pas tester ce plugin là plus avant ;)

Sur YARP aussi tu peux choisir l’importance du titre, tags, contenu et catégorie. Pas en %tage mais sur une sorte d’ »échelle de poids ».

Et oui, suis toujours honoré quand j’ai de nouveaux commentateurs. À plus forte raison quand ils viennent d’endroits que je suis depuis un moment (à savoir en l’occurrence depuis ma migration sous WP dans ton cas en fait :p)

RépondreRépondre
Amaury a dit le 28 août 2008 à 11:50

Pour la base pas d’inquiétude. Le plugin crée une table à l’activation. Tu as la possibilité de la supprimer.

C’est probablement plus propre que l’utilisation de la table postmeta ;)

RépondreRépondre
burningHat a dit le 28 août 2008 à 13:02

Hum oui en effet ! Merci pour ces explications… Je vais tester tout ça quand j’aurais récupéré ma très chère machine snif ! :)

RépondreRépondre
Fred a dit le 18 novembre 2009 à 0:54

Perso j’utilisais Similar Posts depuis un moment et j’ai remarqué qu’il me foutait grave la zone dans ma BDD (obligé de réparer ma table wp_options) tous les jours. Du coup, je l’ai viré et je vais peut-être testé celui ci lorsque j’aurais fini mon nouveau thème.

RépondreRépondre
burningHat a dit le 18 novembre 2009 à 8:34

Yop! Pour ma part j’en suis bien satisfait. D’autant que depuis ce billet, le plugins a énormément évolué.

RépondreRépondre

2 trackbacks

De tout de rien, c'est la boîte à liens ! | Weezonaute, le blogueur masqué - 24 août 2008 à 0:52

[...] WordPress : plugin Yet Another Related Posts via Burninghat [...]

Sirtin » Ravalement du blog (bis) - 5 mai 2010 à 23:39

[...] toute la diversité des sujets abordés… Heureusement que j’ai trouvé la parade avec Yet Another Related Posts, un plugin qui se base sur les tags mais aussi sur les titres, les contenus et les catégories avec [...]