Je viens de mettre à jour les blogs WordPress que je possède et je profite de l’occasion pour vous expliquer comment basculer WordPress en Dofollow. Pour ceux qui ne le savent pas, WordPress, la plateforme de blog la plus populaire du monde, met tous les liens par défaut en Nofollow, c’est à dire qu’ils ne sont pas suivis par les moteurs de recherche. Le Dofollow rétablit la situation et supprime toutes les références en Nofollow.
Il existe désormais un certain nombre de plugins qui permettent de gérer automatiquement le Dofollow. Pour ma part, étant programmeur, j’ai trouvé plus amusant d’aller taper en dur directement dans le code de WordPress. Vous verrez, ce n’est pas bien compliqué. La version du code utilisé est la 2.61, la dernière à ce jour, mais j’utilise les mêmes patchs depuis d’anciennes versions de WordPress, la gestion du Nofollow n’ayant guères évolué depuis belle lurette.
Voici donc ma façon de faire:
On commence toujours par faire une sauvegarde totale de WordPress, fichiers et bases de données:
# cd /home/www.pagasa.net
# mysqldump –quick -u user -pmot-de-passe base-de-données | gzip > dump.gz
# zip -r 080820.zip *
# cp 080820.zip /tmp
Si vous n’avez pas d’accès SSH sur votre machine, alors vous devez utiliser un logiciel comme PhpMyAdmin.
L’ensemble des modifications à faire se trouve dans le répertoire /wp-includes:
# cd /wp-includes
On commence par enlever le Nofollow de tous les trackbacks, pings et liens de ceux qui commentent. Le fichier à modifier est comment-template.php et les modifications à apporter concernent la fonction get_comment_author_link().
Changez:
$return = « <a href=’$url’ rel=’external nofollow’>$author</a> »;
en
$return = « <a href=’$url’>$author</a> »;
Puis on supprime le nofollow de toutes les URL non formatées. Cela se passe dans le fichier formatting.php dans la fonction _make_url_clickable_cb($matches).
Changez:
return $matches[1] . « <a href=\ »$url\ » rel=\ »nofollow\ »>$url</a> » . $ret;
en
return $matches[1] . « <a href=\ »$url\ » >$url</a> » . $ret;
Ainsi que dans la fonction _make_web_ftp_clickable_cb($matches).
Changez:
return $matches[1] . « <a href=\ »$dest\ » rel=\ »nofollow\ »>$dest</a> » . $ret;
en
return $matches[1] . « <a href=\ »$dest\ » >$dest</a> » . $ret;
Finalement, il ne nous reste plus qu’à retirer le Nofollow de toutes les URL contenues dans les commentaires. Pour ce faire, WordPress utilise la fonction wp_rel_nofollow( ) qui elle même appelle la fonction wp_rel_nofollow_callback(). Pour cette opération, le Nofollow est simplement géré comme un filtre que nous n’avons qu’à désactiver. Dans le fichier default-filters.php:
Changez:
add_filter(‘pre_comment_content’, ‘wp_rel_nofollow’, 15);
en
//add_filter(‘pre_comment_content’, ‘wp_rel_nofollow’, 15);
Voilà, c’est tout, et c’est de cette façon que Pagasa est un blog Dofollow.