Du bazar dans les en-têtes de BP avec les versions WP 3

Les dernières versions successives de la série 3 de WordPress comportent des éléments vraisemblablement incompatibles avec une indexation optimale de son réseau social sous BuddyPress. Mais comment s’en débarrasser ?

Si WordPress est un CMS aussi populaire dans la blogoboule, c’est peut-être parce que la structure des pages qu’il génère présente de nombreuses fonctions destinées à leur bonne indexation par les moteurs de recherche. Avec les versions 3.0 et supérieures, sont aussi affichées dans les en-têtes (header) certaines balises définies comme « link types » par le W3C, et qui donnent aux robots des informations supplémentaires sur leur position au sein d’un site Web. Le fait est qu’elles ne sautent pas à l’œil des visiteurs, et elles échappent ainsi à l’attention des administrateurs de sites. Utilisées seulement par les robots, ces balises « link types » précisent les relations de la page courante avec celles qui lui sont liées, il convient donc de vérifier qu’elles correspondent effectivement à l’organisation du site.

Le problème est qu’un site sous BuddyPress s’enrichit de pages de forum et d’activité supplémentaires, donc l’organisation d’un réseau social n’est plus du tout la même que celle d’un blog. Or, depuis les mises à jour avec les versions de la série 3 de WordPress, je m’aperçois de perturbations de la part de Google pour la bonne indexation des nouvelles pages dans mon site. Après la publication d’un article notamment, les pages d’activité qui le précèdent ou qui le suivent sont aussi rapidement retirées de l’index de ses pages de recherche… Pourquoi ? J’étais justement en train d’achever mes propres « link types », quand je m’aperçois, dans un coin des en-têtes, de la présence d’autres « link types », mais qui ne correspondent pas à ceux que j’ai codés. La hiérarchie des pages correspond à la partie blog, mais à l’exclusion de toute autre activité sur le site !

Lorsque l’on compare avec BP-FR, on se rend compte du décalage qui se manifeste avec la réelle activité du site, dans la hiérarchie que WordPress propose avec ses « link types ». Voici par exemple l’activité de BP-FR au 2 janvier 2012 sur une capture d’écran. On observe ainsi une inscription de membre, précédé par une note d’un autre membre à laquelle j’ai répondu. Une autre note la précède, et elle est elle-même précédée par une réponse à un forum, commenté par le même membre :

Activité du site BP-FR au 2 janvier 2012

Activité du site BP-FR au 2 janvier 2012

Mais la source de la page montre tout autre chose ! Les « link types » ainsi affichés sont même incohérents, car il ne devrait pas y avoir de rel='prev', rel='next', et à mon avis, devrait exister un rel='index' pour cette page qui est aussi l’accueil du site, et reprend toutes ses entrées dans un ordre anté-chronologique :

Extrait de la source de BP-FR

Extrait de la source de BP-FR

Pour réussir la meilleure indexation de son réseau social sous BuddyPress par les moteurs de recherche, il convient de retirer ces balises de la source et d’en identifier l’origine. Ces « link types » sont générés par les fonctions accrochées à do_action(wp_head); et qu’il est possible d’afficher quelque part pour test grâce à ce petit outil pratique et présenté comme une recette de cuisine. Une fois repérées les fonctions qui posent problème, inutile de se mettre martel en tête pour les modifier, il suffit de les décrocher du site ainsi :

// Supprime les link types WP dans les en-têtes :

remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'rel_canonical');
remove_action('wp_head', 'wp_shortlink_wp_head');

Ces lignes de code sont à placer dans le fichier fonctions.php de son site à la suite de celles qui y sont déjà enregistrées. Elles enlèvent aux fonctions incriminées leur pouvoir d’action, sans pour autant les supprimer. Il serait tout à fait possible de les utiliser de nouveau en désactivant l’extension de BuddyPress sur son serveur distant.

Avatar de Philippe Gras

À propos de Philippe Gras

J'ai écrit des articles sans intérêt pour les Geeks sur des sites gérés par SPIP, Drupal et WordPress, et j'ai choisi ce dernier CMS avec l'extension Buddypress pour réaliser un site communautaire. Je suis bien content de trouver ici un exemple auquel je puis me référer, mais aussi trouver des tuyaux et des conseils.
Ce contenu a été publié dans Non classé, avec comme mot(s)-clef(s) , , , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*


*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Laisser ces deux champs tels quels :

Protégé par Invisible Defender. 226 spammeurs ont vu s'afficher une page d'erreur 403.