Nous obtenons un certain nombre de résultats étranges sur Google EG:
http://www.somedomain.com/somepage/AjaxFunction.aspx?stuff=XXX&other=XXX
Quand j'ai regardé "somepage", la fonction ajax n'est pas du tout mentionnée dans le code HTML, ce qui me fait supposer que Google est en train de chercher les fichiers javascript externes et de trouver cet appel AjaxFunction.aspx.
Ma question est: a) Est-ce possible? b) Si oui, comment puis-je l'arrêter?
Je mettrais la fonction Ajax dans robots.txt :
Disallow: /somepage/AjaxFunction.aspx
Cela empêchera Google de l'explorer. Google n'indexe généralement pas les URL qu'il ne peut pas analyser. Il ne les indexera que si elles sont liées de manière visible, notamment de nombreux liens externes. Même si Google indexe l'URL, il n'indexera pas le contenu de l'URL. Google montrera "cette page a été bloquée par robots.txt" dans les résultats de recherche.
Dans de nombreux cas, il est souhaitable d'autoriser Google à analyser les URL Ajax. Ces URL peuvent fournir du contenu que vous souhaitez que Google indexe après que JavaScript l'ait écrit sur une autre page. Dans ce cas, robots.txt n'est pas approprié. Vous ne voulez tout simplement pas que Google inclue l'URL Ajax elle-même dans les résultats de recherche. Vous pouvez utiliser une directive en-tête pour cela:
X-Robots-Tag: noindex
Sur un serveur Apache, vous pouvez ajouter cet en-tête avec le code . Htaccess comme:
<Files "AjaxFunction.aspx">
Header append X-Robots-Tag "noindex"
</Files>
En code aspx, vous pouvez le définir comme ceci :
<% Response.AddHeader "X-Robots-Tag", "noindex" %>