Nota SPIP-Contrib : Cette contrib à fait débat avant sa publication sur les sujets de la consommation de ressources engendrée par les expressions rationnelles, et de son efficacité réelle contre les spammeurs. Il apparaît que ce débat sera plus profitable et instructif pour tous mené via le présent forum public plutôt qu’en privé, d’où cette mise en ligne. A noter pour exemple que cette méthode est utilisée entre autres sur DokuWiki
Mise à jour : Lors du débat concernant cette fonctionnalité, on m’a très justement fait remarquer que l’utilisation de l’expression eregi_replace n’était pas forcément adaptée. Le code ci-après a donc été modifié par la fonction str_replace qui par contre l’est plus.
Principe
Suite au spam massif des commentaires de blogs (Une catégorie de spammeurs cherche principalement à obtenir des liens vers leurs sites afin d’en accroitre la popularité) , les principaux moteurs de recherche (Google, Yahoo, MSN) se sont entendus en 2005 afin de mettre en place une balise HTML « bloquante » sur certains liens. Cette dernière permet en quelques sortes de signaler aux moteurs de recherche qu’un lien ne doit pas être suivi et donc pas pris en compte dans le calcul de popularité d’un site web. Cette balise est rel=nofollow et s’emploie de la sorte :
<a href='http://www.site.tld' rel='nofollow'>site à visiter</a>
Ce code rel="nofollow" n’empêche bien entendu pas les visiteurs ou spammeurs de poster des liens, mais cherche surtout à décourager ceux qui ne cherchent qu’à accroitre la popularité de leur site, en leur faisant savoir que les liens posés ne seront pas pris en compte par les moteurs
Afin de protéger les commentaires d’un de mes sites j’ai donc mis au point une petite fonction toute simple qui permet de rajouter un rel="nofollow" sur tous les liens présents dans le texte.
Pour utiliser cette fonction vous devez donc avoir à la racine de votre site SPIP un fichier mes_fonctions.php (à partir de la version 1.9) ou mes_fonctions.php3 pour les versions antérieures. Si ce fichier n’existe pas créez le. Vous pouvez avoir un topo sur l’utilisation de ce fichier sur le site officiel SPIP : http://www.spip.net/fr_article901.html
Installation
Dans ce fichier vous mettez ces quelques lignes :
Utilisation
Vous pouvez alors utiliser ce filtre comme un filtre normal sur les balises de texte et principalement comme moi les commentaires de vos articles
[(#TEXTE|nofollow)]
Si vous souhaitez également mettre cette balise nofollow sur le lien hypertexte proposé dans le forum allez dans le squelette inc_forum.html et cette fois-ci rajouter rel="nofollow" dans le lien texte
<:voir_en_ligne:> : <a href="(#URL_SITE)" class="spip_out" rel="nofollow">[(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]})]</a>
Mais là rien à voir avec la fonction présenté ci-dessus.
Pour vos utilisateurs
Signalez quelque part sur votre site que des rel="nofollow" sont placés sur les liens des commentaires.
Quelques ressources traitant de la balise rel="nofollow"
La spécification rel="nofollow"
- http://microformats.org/wiki/rel-nofollow-fr
- http://googleblog.blogspot.com/2005/01/preventing-comment-spam.html



Vos commentaires
# Le 13 juillet 2009 à 17:08, par Regis92
En réponse à : Problème d’affichage du lien dans SOUSTITRE
Bonjour à tous,
J’ai le code suivant dans mes boucles d’articles :
[(#SURTITRE|nofollow)]<br />[(#SOUSTITRE|nofollow)]
Il y a un truc qui m’échappe avec cette balise :
Quand je rentre des liens SPIP dans le SURTITRE d’un article, par exemple
[nom du lien->url du lien], le lien s’affiche bien.Par contre, quand je rentre le lien de la même façon dans le SOUSTITRE, là par contre le lien ne s’affiche plus et je vois apparaitre dans l’article
[nom du lien->url du lien]!Qqun peut-il m’aider SVP ?
Un grand merci d’avance !
# Le 17 juillet 2009 à 23:55, par ?
En réponse à : Problème d’affichage du lien dans SOUSTITRE
Problème résolu, il suffisait d’appliquer (#SURTITRE*|propre|nofollow) ou (#SOUSTITRE*|propre|nofollow), en fait c’est pareil pour les 2 ...
Répondre à ce message
# Le 9 juin 2009 à 12:04, par Risotto
En réponse à : Enlever nofollow" pour les liens du site Spip
Bonjour
A l’inverse, je désire enlever le « nofollow » sur les liens de mon pied de page ou dans le plan de mon site. Comment faire ? Car pour un bon référencement je suis embêté...
# Le 9 juin 2009 à 14:19, par rubenxela
En réponse à : Enlever nofollow" pour les liens du site Spip
Il vous faut aller dans le dossier de squelette : DIST/ ou SQUELETTE-DIST/ selon votre version et modifier cela directement dans les squelettes . Il me semble inc-pied.html pou le bas de page et certainement plan.html pour le plan de site .
# Le 9 juin 2009 à 14:38, par Risotto
En réponse à : Enlever nofollow" pour les liens du site Spip
Merci. J’ai bien sûr regardé ces fichiers mais justement, je ne trouve rien qui crée des liens « nofollow ». Pourtant ceux-ci apparaissent en « nofollow » lorsque je vérifie (Firefox avec extension Quirk SearchStatus) donc je pensais à une fonction cachée dans le moteur de spip, peut-être en rapport avec les liens « spip_out » ou je ne sais quoi... merci en tout cas pour ta réponse et pour les futures :)
# Le 9 juin 2009 à 14:51, par rubenxela
En réponse à : Enlever nofollow" pour les liens du site Spip
Déjàdans plan.html si tu veux que la page soit indexée tu dois changer la balise meta
<meta name="robots" content="none" />en
<meta name="robots" content="index,follow,all" />
et dans inc-pied.html tu verras dans la structure des liens qu’il y l’attribut
rel="nofollow"que tu dois retirer sur chaque lien
Exemple :
<a href="#ENV{skel}" title="<:voir_squelette:>" rel="nofollow"><:squelette:></a>à changer en
<a href="#ENV{skel}" title="<:voir_squelette:>"><:squelette:></a># Le 9 juin 2009 à 16:21, par Risotto
En réponse à : [résolu] « nofollow »
Merci
Dans plan.html j’ai changé la balise meta, par contre dans inc-pied.html (spip 2.0) l’attribut rel="nofollow" n’y apparaissait pas, mais parce que j’avais retiré le lien « voir le squelette ». Les autres liens sont donc suivis maintenant (plan, mentions légales). J’ai donc laissé tel quel et ça fonctionne visiblement.
J’ai également ajouté un fichier robots.txt à la racine de mon site avec un contenu approprié, en plus.
Merci encore !
Répondre à ce message
# Le 27 décembre 2008 à 14:30, par ?
En réponse à : Balise rel="nofollow" pour les liens
Faudrait carrement mettre des liens javascript dans des fichiers externes, perso j’ai supprimer les comments tellement j’avais de spam
Répondre à ce message
# Le 20 juillet 2007 à 16:55, par rubenxela
En réponse à : Balise rel="nofollow" pour les liens
Suite au débat en off, l’auteur a fait évoluer le code, après une remarque judicieuse de Nicolas.
Les changements sont notés en haut de page dans l’encart.
L’article a aussi été un peu plus documenté sur l’utilisation de la balise rel=nofollow et son usage face au spam.
Répondre à ce message
# Le 19 juillet 2007 à 21:33, par Nicolas Krebs
En réponse à : Balise rel="nofollow" pour les liens
Si cet article a fait débat, cela fut en l’absence totale de son auteur, qui ne s’est plus manifesté après avoir rédigé l’avoir écrit, ne serait-ce pour corriger les coquilles évidentes.
Répondre à ce message