2011-12-15 9 views
0

今は私の利用規約がascxコントロールを介してロードされ、ユーザーがそれを見たいときや見たいときに表示されます...好きですこのUXでは、ユーザーをリダイレクトせずにコントロールするjqueryのポップアップでTOUを表示できるためです。ウェブクローラから特定のテキストを省略する方法はありますか

問題はGoogleが静的テキストとしてascxによってロードされているため、この問題が発生したことです。私はこれを新しいページに入れてリダイレクトすることができます(robots.txtにルールを無視して追加することもできます)。しかし、私の質問は、このテキストをasync w/ajaxで表示する必要があるときにロードするだけですウェブクローラはすべてのリンクをクリックして、この法的テキストをすべてページの属性とします(そして私のSEOの結果を壊してしまいます)。

私はこのテクニックを試す前に、誰かが1)他のテクニックを使用していたか、2)このテクニックが確実に動作するかどうかを知りました。 Googleではサイトのインデックス作成に数日かかりますので、誰かが確実に知っていれば時間を無駄にしたくありませんでした。

私が見つけた唯一の関連する質問はhereでしたが、この人はウェブクローラに対して悪いことをしようとしていました。私は、私のUXを損なうことなくrobots.txtの動作を無視したいだけです。

答えて

1

あなたができることは、ユーザーエージェント(つまり、ユーザーのブラウザ)がGooglebotでない場合にのみ利用規約を表示することです。

ASP.NETでは、Request.ServerVariables("HTTP_USER_AGENT")をチェックすることでブラウザを確認できます。

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) 

ので、単純にそうように、チェックであなたのコンテンツをラップ:

if (! Request.ServerVariables("HTTP_USER_AGENT").Contains("Googlebot")) 
{ 
    <your content here> 
} 

幸運

Googleは、以下のユーザーエージェントを報告します!

+0

ああ、それは私が探しているものです!ありがとう! – Rikon

関連する問題