Fork me on GitHub






Vous ne souhaitez pas promotionner certains sites : le NOFOLLOW est pour vous
Régulier
Inscrit: 26/02/2007 16:00
Messages: 494
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...

Posté le : 03/08/2008 18:10

Portail en aquariophilie avec une passion pour le poisson clown en aquariums récifaux.
Partager Twitter Partagez cette article sur GG+
Re: Vous ne souhaitez pas promotionner certains sites : le NOFOLLOW est pour vous
Régulier
Inscrit: 14/06/2004 13:20
Messages: 374
Merci beaucoup pour le partage de l'astuce !

Posté le : 03/08/2008 19:42

Baronxoops d'accord, mais loin d'être le roi
Partager Twitter Partagez cette article sur GG+
Re: Vous ne souhaitez pas promotionner certains sites : le NOFOLLOW est pour vous
Guest_
b'jour,

Merci pour ce hack !

@+

Posté le : 04/08/2008 07:46
Partager Twitter Partagez cette article sur GG+
Re: Vous ne souhaitez pas promotionner certains sites : le NOFOLLOW est pour vous
Régulier
Inscrit: 26/02/2007 16:00
Messages: 494
Merci à tous les deux. Pensez bien à insérer cette ligne dans les 2 fonctions (makeClickable et &xoopsCodeDecode) !

Mais c'est là que mes limites en PHP sont atteintes : il serait intéressant de pouvoir mettre la liste des sites en nofollow dans un tableau. En revanche, ensuite, je ne sais pas comment faire le preg_replace...

Posté le : 04/08/2008 08:48

Portail en aquariophilie avec une passion pour le poisson clown en aquariums récifaux.
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

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