Balise rel=« nofollow » pour les liens

pour mieux éviter le spam sur les commentaires, ou au moins tenter de décourager les spammeurs.

Malgré les différentes mesures de sécurité, les spammeurs sont toujours à l’affut, notamment des formulaires de commentaires sur les articles ...

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 Wikipedia pour la gestion des liens sortants.

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 :

<?

// Ajout de  nofollow sur les liens (pas mal à utiliser  sur les commentaires pour éviter le spam)

function nofollow($texte){

   $texte=str_replace("<a href","<a rel='nofollow' href",$texte);
   

   return $texte;

} 

?>

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

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom