Google et les liens JavaScript, les OnClick

Olivier Duffez (admin)
Membre du personnel

Google tient compte des liens JavaScript OnClick​

La semaine dernière fut riche en annonces fracassantes de la part de Google : en plus du changement de politique pour les liens nofollow (j'y reviendrai), c'est du côté des liens JavaScript qu'il y a du nouveau. Comme je l'indiquais en direct pendant la formation au netlinking à Paris, nous avions remarqué depuis décembre 2008 dans notre laboratoire Ranking Metrics des robots spécifiques de Google qui tenaient compte de certains codes JavaScript (dont l'événement onClick). Il semblerait que cela soit désormais répandu... Revue de détails dans cet article.

L'annonce de Google par Maile Ohye (Google I/O 2009)​

Le 29 mai, Vanessa Fox écrivait dans un article détaillé sur Search Engine Land que Google tenait désormais compte des liens Javascript du type onclick(). Consultante spécialiste des moteurs de recherche, Vanessa a travaillé chez Google et notamment créé les outils Google Webmaster Tools : on peut donc a priori lui faire confiance !

L'annonce de Google avait été faite par Maile Ohye à l'occasion de l'événement Google I/O. Les plus motivés parmi vous iront peut-être voir la vidéo de la session équivalent de 2008 (elle dure près d'une heure tout de même).

D'après Vanessa Fox, Google sait d'ores et déjà interpréter tous les événements onclick() situés sur n'importe quelle balise (pas seulement <a href>), à condition que le code JavaScript correspondant soit situé dans la page HTML elle-même et non dans un fichier externe.

Exemples de codes JS détectés par Googlebot​

Voilà donc des exemples de codes pour lesquels Google détecte un lien qui passe du PageRank et de l'information sémantique :

<div onclick="document.location.href='http://foo.com/'">
<tr onclick="myfunction('index.html')">
<a href="#" onclick="myfunction()">new page</a>
<a href="javascript:void(0)"
onclick="window.open('welcome.html')">open new window</a>
Malgré cette avancée, Google indique regarder encore ce qu'il y a dans les éventuelles balises onclick(), que l'on peut utiliser à condition qu'elles contiennent l'équivalent de ce qui est affiché quand le JavaScript est activé.

Un lien vendu peut-il être codé en JavaScript sans nofollow ?​

Partant du principe que Google ne tient pas compte des liens JavaScript, certains sites ont codé des liens commercialisés sur leurs pages à l'aide d'une fonction JavaScript. Si ces liens sont désormais suivis par Google, s'ils transmettent du PageRank, cette pratique est-elle acceptée par Google ou bien faut-il absolument ajouter l'attribut rel="nofollow" pour respecter les consignes ? Cela ne me semble pas très clair pour l'instant. Pour rappel voici les consignes de Google concernant les liens JavaScript et autres redirections JavaScript :

Redirections JavaScript trompeuses
Lorsque Googlebot indexe une page contenant un script JavaScript, il ne peut pas suivre ou indexer les liens cachés dans le script lui-même. L'utilisation d'un script JavaScript est une pratique Web totalement légitime. Toutefois, son utilisation dans le but de tromper les moteurs de recherche ne l'est pas. Par exemple, le fait de placer du texte différent dans le script JavaScript et dans une balise noscript constitue une infraction à nos conseils aux webmasters, car cette pratique présente aux utilisateurs (qui accèdent au texte JavaScript) un contenu différent de celui destiné aux moteurs de recherche (qui accèdent au texte noscript). Il y a également infraction aux conseils aux webmasters lors de l'intégration d'un lien dans un script JavaScript qui redirige l'utilisateur vers une autre page avec l'intention de lui présenter une page différente de celle destinée au moteur de recherche. Lorsqu'un lien de redirection est intégré dans le script JavaScript, le moteur de recherche indexe la page initiale plutôt que de suivre le lien, alors que les utilisateurs sont dirigés vers la cible de la redirection. À l'instar du "cloaking", cette pratique est trompeuse car elle présente aux utilisateurs un contenu différent de celui destiné à Googlebot, et peut diriger un visiteur vers une page autre que celle à laquelle il souhaitait accéder.
Notez que le fait de placer des liens dans le script JavaScript ne constitue pas à lui seul une pratique trompeuse. Lors de l'analyse du script JavaScript de votre site afin de vérifier s'il est conforme à nos recommandations, tenez compte de l'intention finale.
Tenez compte du fait que les moteurs de recherche ne pouvant généralement pas accéder au contenu du script JavaScript, les liens légitimes qu'il contient ne leur seront donc pas accessibles (de même qu'aux visiteurs sans navigateurs JavaScript). Vous pouvez à la place conserver les liens en dehors du script JavaScript ou les répliquer dans une balise noscript.

Autres conséquences​

Bien évidemment, certaines pages jusqu'alors accessibles uniquement par des liens JavaScript vont être indexées par Google, ce qui risque de perturber un certain nombre de webmasters...

Pour ma part, je n'ai pas encore fini tous les tests nécessaires à l'analyse. Et vous, que pensez-vous de la prise en charge du onclick par Google ?
 
WRInaute impliqué
Merci pour ces infos, pour sculpter le PR, il faut donc utiliser du javascript dans des fichiers externes...
J'ai l'impression que Google veut en finir avec le PR sculpting... ou alors qu'il se prépare très doucement à indexer autrement le web, d'une façon un peu plus évoluée, qui prend en compte autre chose que le href préhistorique ?
ça reste quand même encore assez primitif, et quand on voit comment le web évolue, avec des applications comme facebook ou autres, un jour Google ne sera peut-être plus dans la course ?
 
WRInaute impliqué
Oui mais Google indexe des pages, et peut-être qu'avec des sites comme Facebook, ou des sites utilisant l'ajax, dans quelques années, une page ça ne voudra plus dire grand chose...
 
Nouveau WRInaute
QUID de mes liens contacts, cgu ? qui s'ouvrent dans un fênetre lors d'un onclick ?
J'utilise higslide qui ouvre un fichier externe dans la fenêtre en cours en surimpression...

Quel sera le nouveau comportement du bot ?
 
WRInaute impliqué
google ne fait que réparer une à une les failles de son système basé sur le PR : on supprime l'incidence des liens en no follow, on "reconnaît" et on valide les liens en javascript.. finalement, un lien reste / redevient un lien et ça c'est bien :)
 
WRInaute accro
un lien nofollow reste nofollow, ce n est pas la mort du nofollow quand même. c'est la mort de "l'optimisation par le nofollow"
 
WRInaute accro
Que penser de liens de ce genre-ci:

Code:
<a href="http://www.example.com" onclick="javascript:window.open('out.php?out_id=123');return false;">anchor</a>

...où la page out.php effectue un comptage avant de rediriger (301) vers la même cible que celle renseignée dans href="" ?

Faut-il bloquer out.php via robots.txt pour autant ?
 
Olivier Duffez (admin)
Membre du personnel
dans ton cas tu ne souhaites pas faire indexer out.php donc oui à ta place je le bloquerai.
de toute façon la redirection doit pointer vers la même URL que celle du href
 
Nouveau WRInaute
J'ai aussi remarqué qu'il suivait ce type de lien :
Code:
<SCRIPT language="javascript">
		window.location.href= "url.php";
	</SCRIPT>
 
Olivier Duffez (admin)
Membre du personnel
@Nico5 : ça fait plusieurs années non ? pour détecter les pages satellite par exemple
 
WRInaute accro
WebRankInfo a dit:
dans ton cas tu ne souhaites pas faire indexer out.php donc oui à ta place je le bloquerai.
de toute façon la redirection doit pointer vers la même URL que celle du href

En fait, out.php ne sera (a priori, et sauf si Matt Cutts nous sort une nouvelle imbécilité) jamais indexé, puisqu'elle fait une 301 vers la cible renseignée par href="".

Je considère (en espérant ne pas me tromper) que l'utilisation du JS est ici légitime, et ne devrait pas porter à conséquence. Je vais tout de même bloquer out.php par sécurité. ;)
 
WRInaute discret
si on reprend cette exemple la :

<a href="http://www.example.com" onclick=("out.php');return false;">anchor ou img</a>

si le lien out.php renvoie bien vers example.com alors pas de probleme

si le lien out.php ne renvoie pas vers example.com ...

qui est sanctionné ?

1- le site qui heberge le out.php car on peut l'accuser de poser des liens en dur sur son site alors que le lien va ailleurs. ? (vente du lien en dur possible)
2 - example.com car on peut l'accuser d'avoir payé pour avoir des liens en dur sur d'autres sites sans pour autant recuperer le trafic sur les clics que ca peut generer ? (achat de lien en dur pour la popularité)
3 - Les 2 sites sont sanctionnés ?
4 - Aucun des sites n'est sanctionné.

alors 1, 2, 3 ou 4 ?

la solution de demander a ce que les liens out.php ne soit pas suivis ne me semble pas bonne ...

Merci pour vos avis


Merci
 
WRInaute accro
Bonjour

Quid de contenus du style :
Code:
<script type="text/javaScript">
<!--
     var monsite="<a href=\"http://";
     monsite +="www.";
     monsite +="aube-nature.com\">";
     document.write(monsite+"Mon site<"+"/a>");
//-->
</script>

J'utilise ce genre de code pour masquer mes mails ou plus les accès aux pages du genre formulaire de contact...
 
WRInaute accro
cedric_g a dit:
Bonjour

Quid de contenus du style :
Code:
<script type="text/javaScript">
<!--
     var monsite="<a href=\"http://";
     monsite +="www.";
     monsite +="aube-nature.com\">";
     document.write(monsite+"Mon site<"+"/a>");
//-->
</script>

J'utilise ce genre de code pour masquer mes mails ou plus les accès aux pages du genre formulaire de contact...

Dans ce cas le lien n'est pas lisible directement comme dans un onclick. Si Google doit exécuter tous les javascripts ça représente une autre puissance de calcul que lire une url dans un onclick. Je me demande s'il ne pourrait pas en profiter pour lire les <area>, ce ne serait pas sorcier.
 
Discussions similaires
Haut