Fork me on GitHub

Rapport de message :*
 

Vous ne souhaitez pas promotionner certains sites : le NOFOLLOW est pour vous

Titre du sujet : Vous ne souhaitez pas promotionner certains sites : le NOFOLLOW est pour vous
par aquaportail sur 03/08/2008 18:10:03

Bonjour,

je suis persuadé que l'info existe déjà quelque part sur l'un des sites nationaux Xoops, mais pour la trouver, ...???

Bon, du coup, je me suis collé à cette affaire de NOFOLLOW. C'est une balise optionnelle HTML dans les ancres A. Elle s'utilise ponctuellement via :

<a href="http://....." rel="nofollow">


Ce NOFOLLOW dans l'ancre a le même effet que le NoFollow dans les meta-tags en entête de fichier HTML : il interdit (refuse serait plus juste) l'indexation par les robots des moteurs de recherche des liens. La différence notable entre les deux écritures réside dans la portée de l'ordre : dans les meta, elle est globale pour tous les liens de la page (y compris les liens internes!!!), tandis que celle dont je parle ici est strictement locale pour l'ancre concernée.

Attention, cette option dans l'écriture HTML de l'ancre n'est guère gérée que par Google actuellement. Ce sont même eux qui ont instigué son utilisation afin d'éviter le spam de sites non-autorisés; on pense d'ailleurs aux sites abandonnés chez les fournisseurs gratuits de blogs, de forum phpbb, etc. La plupart de ces gratuits mettent les liens en NoFollow : en cas de spam, rien n'est indexé... Cool pour eux, mais dans la plupart des cas, cela ne fait pas avancer le schmilblik.

L'intérêt à notre niveau Xoopsien est de rester politiquement correct : le NOFOLLOW a dose homéopatique!

En résumé, c'est juste pour rendre la pareille à quelques sites ciblés (liens de sites concurrents dans un forum par exemple...). Evidemment, l'insertion de cette option doit être automatique.

Personnellement, le premier que je voulais viser de cette barrière de non-indexation est le fameux Wikipédia! Pourquoi? Et bien tout simplement car tous leurs liens externes sont en nofollow depuis quelques mois!!! Conclusion, un contributeur comme moi chez eux, a vu tous ses liens enlevés de Google dès l'apparition de cette balise; cool la reconnaissance du ventre...

La préambule étant posé, passons aux choses sérieuses et hackons un peu la génération automatique de liens du coeur de Xoops.

Jusqu'aux versions 2.0.xx (en fait, je ne sais pas pour la 2.3), cela se passe dans le fichier ROOT/class/module.textsanitizer.php et touche 2 fonctions dans ce fichier : makeClickable() et &xoopsCodeDecode().

La problématique est simple : insérer cette option NOFOLLOW dans des liens Ancre. Cela signifie qu'il faut déjà que les liens soient créés : on intervient donc juste avant le retour de ces fonctions. Pour cela, juste avant le RETURN $text, il faut inscrire la ligne suivante (note: je ne suis pas un codeur PHP, aussi, il est probable que cela puisse être amélioré):

$text preg_replace(
          
"/<a href="http://([a-z0-9]+).(wikipedia|autresite2|troisiemesite|quatrieme)/iU",
          
'<a rel="nofollow" href="http://\1.\2',
          
$text);


On définit donc plusieurs sites (ici : autresite2|troisiemesite|quatrieme) séparés par un OU "|" qui seront touchés par cette restriction. On ne met que le nom de domaine principal, avec éventuellement l'extension .fr, .com, etc. Dans mon cas perso, je filtre 3 autres sites en plus de Wiki.

Voilà, je pense ne rien avoir oublié... Bon filtrage...
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

39 Personne(s) en ligne (35 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 39 | Plus ...