éviter la duplication de lien en jquery

Comme beaucoup d’autres webmaster j’attache une grande importance à la qualité de mes liens hypertexte. J’essaie de les faire le plus attirant possible, les plus documentés (avec images, explication, infobulle…) parce qu’un bon lien en vaut bien une dizaine de fait à la va-vite (et peu importe le page rank^^).

Dans ma quête d’optimisation de mes liens, j’ai trouvé une méthode pour éviter que certains liens se retrouvent en double dans ma page. L’intérêt est qu’en évitant la duplication de lien, on transmet un maximum de notoriété aux pages ciblées.

Explications :

Lorsque google (ou tout autre moteur de recherche) indexe votre page : il fait une liste de tous les liens présents dans celle-ci, divise la notoriété de la page par le nombre de ses liens et transmet à chaque page ciblée une notoriété correspondant à ce résultat. Si une page est ciblée plusieurs fois, moins de « jus » est transmis, il y a une perte…

En bref : les liens en double c’est mal !

Pour cela, la solution la plus efficace est de faire pointer les liens en double vers des ancres différentes de la page cible. Google reconnait les ancres et donc va quand même transmettre la totalité de la notoriété (la page visée par le lien recevra 2x plus de jus (normalement^^).

Cependant ce n’est pas toujours possible, pour des questions d’ergonomie, on est souvent obligé de proposer à un internaute plusieurs liens pour accèder au même contenu. Par exemple dans un blog, proposer à l’internaute d’accèder à un article en cliquant sur le titre ou bien en cliquant sur un bouton lire la suite…

Ma solution (pas forcément la meilleure dans tous les cas, mais qui peut quand même s’avèrer utile) utilise du javascript, avec la librairie jquery. Il faudra donc commencer par inclure la librairie jquery en suivant cette méthode du site d’alsacréation

Ensuite il faut insérer ces quelques lignes dans votre feuille de script (sinon, entre des balises script) :

$('.link').click(function(){
var linkarticle = $(this).parents('article').children('a').attr('href');
window.location.href=linkarticle;
})
Éviter les liens dupliqués

Remplacer ensuite un de vos liens en double (le moins « pertinent ») par un simple span (ou une div) avec la classe « .link ». Un clic sur cette élément va déclencher une fonction qui va rechercher dans l’élément parent ayant une balise « article » (vous pouvez remplacer ceci par n’importe quelle classe ou sélecteur en modifiant le code bien sûr…) un lien puis ouvrir ce lien dans la fenêtre courante.

Pour ouvrir ce lien dans une nouvelle fenêtre, remplacer « windows.location.href=linkarticle; » par « window.open(linkarticle); »

Aux yeux des moteurs de recherche, il n’y a donc plus qu’un seul et unique lien !

Par contre on sacrifie un peu d’ergonomie : l’élément ayant la classe « link » n’est plus interprêté par le navigateur comme un lien, et donc un clic droit dessus ne permettra pas de proposer d’ouvrir ce lien dans un nouvel onglet, ou de copier son adresse…

A utiliser avec précaution donc…

3 commentaires
Maxime, il y a 14 ans
Pas mal cette technique, peut être intéressante sur un site à fort contenu quand la duplication de lien est monnaie courante. Mais je ne pense pas qu’il faille non plus en faire une priorité, sur un site vitrine par exemple ; j’avais vu un test qui montrait qu’on ne perdait pas de jus, sans en gagner non plus… Il vaut mieux préserver l’accessibilité à mon sens.
Julien D., il y a 14 ans
Ca peut être très utile sur une boutique en ligne, aussi.

Merci pour l’astuce 🙂

David, il y a 11 ans
C’est peut-être une question bête, mais pourquoi ne pas transformer directement la balise span en balise a grâce a jQuery ?

Cela serait plus simple, et permettrait aux navigateur de garder la « sémantique du lien » non ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Publié le 07 juillet 2010
par Willy Bahuaud
Catégorie Intégration web