Google EGには、いくつかの奇妙な結果が出ています:
http://www.somedomain.com/somepage/AjaxFunction.aspx?stuff=XXX&other=XXX
「somepage」を見ると、HTML内でajax関数がまったく言及されていないため、Googleが外部のjavascriptファイルにスパイダーアウトしてこのAjaxFunction.aspx呼び出しを見つけていると思われます。
私の質問は:a)これは可能ですか? b)その場合、どうすれば停止できますか?
Ajax関数をrobots.txtに入れます:
Disallow: /somepage/AjaxFunction.aspx
これにより、Googleがクロールできなくなります。 Googleは通常、クロールできないURLのインデックスを作成しません。それらが目立ってリンクされている場合にのみ、特に多数の外部リンクにインデックスが付けられます。 GoogleがURLのインデックスを作成しても、URLのコンテンツのインデックスは作成されません。 Googleは、検索結果に「このページはrobots.txtによってブロックされました」と表示します。
多くの場合、GoogleがAjax URLをクロールできるようにすることが実際に望ましいです。これらのURLは、JavaScriptが別のページに書き込んだ後にGoogleにインデックスを作成するコンテンツを提供する場合があります。その場合、robots.txtは適切ではありません。 Googleが検索結果にAjax URL自体を含めないようにするだけです。そのためにヘッダーディレクティブを使用できます。
X-Robots-Tag: noindex
Apacheサーバーでは、次のような。htaccessコードでヘッダーを追加できます。
<Files "AjaxFunction.aspx">
Header append X-Robots-Tag "noindex"
</Files>
Aspxコードでは、それを設定できます このように :
<% Response.AddHeader "X-Robots-Tag", "noindex" %>