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?
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.