web-dev-qa-db-fra.com

Lien ayant à la fois le gestionnaire de clics et l'attribut href, lequel est appelé par Googlebot?

J'ai le code d'ancrage suivant sur mon site:

<a href="/mypage.html" onclick="return getMyPageWithAjax();" >My Page</a>

Pour les utilisateurs humains, le onclick obtiendra les données avec AJAX sans rafraîchissement de la page.

Quel est actuellement le comportement de Googlebot lorsqu'il voit ce lien? Ignorera-t-il onclick et ira-t-il directement à la page indiquée dans href ou traitera-t-il onclick ou fera-t-il les deux en indexant mon site Web?

La même question pour Yahoo et Bing mais le plus important est Google.

Y a-t-il un moyen de dire au bot, d'ignorer onclick et d'aller à href ou vice versa?

Quel serait le comportement du bot si l'ancre n'avait pas d'attribut href ou href="#" et seulement onclick avec la valeur ci-dessus?

1
user61766

Googlebot sait comment récupérer une page construite avec JavaScript et AJAX. Cependant, Googlebot n'essaie pas de cliquer partout sur la page uniquement pour voir ce qui se passera. Le meilleur moyen de faire en sorte que Google explore d'autres pages consiste à utiliser le code <a href="/mypage.html".

Google identifiera également les URL dans des bits de JavaScript. Le code suivant obligera Googlebot à découvrir et à explorer /mypage.html:

var url = '/mypage.html';
document.href=url;

Toutefois, Googlebot utilise des méthodes heuristiques pour analyser le code JavaScript afin de rechercher des URL de ce type. Il n'essaie pas de cliquer sur quoi que ce soit. Il examinera tous vos littéraux de chaîne et explorera tout ce qui ressemble assez à une URL. Toute chaîne littérale sans espaces comportant une barre oblique ou se terminant par .html sera explorée par Google.

Lorsque Googlebot identifie des URL en JavaScript, il n’est pas clair qu’il les utilise exactement comme des liens href. Ils les signaleront comme des erreurs d'analyse dans la console de recherche s'ils rencontrent des problèmes tels que des erreurs 404. Cependant, il peut ou non leur attribuer un jus de lien et transmettre des signaux de référencement tels que du texte d'ancrage.

À ma connaissance, il n’existe aucun moyen pour que Googlebot ignore la hrefs, ni qu’il soit possible de faire en sorte que Googlebot ignore les littéraux JavaScript qui ressemblent à des URL. Il n'est pas possible d'indiquer à Googlebot de cliquer sur des éléments de la page.

2