2010-12-06 11 views
7

私たちのAsp.netサイトが検索エンジンで索引付けされていない原因を判断するのが最も難しいです。 Googleの「Fetch As Googlebot」ツールを使用すると、以下のエラーがスローされます。私は自分のサイトがセッションが無効になっていることを確認しました(つまり、web.configでsessionMode = "Off"に設定しています)、私はウェブ上でグーグルで探検しました。検索エンジンが302ページのエラーページにリダイレクトされるため、asp.netサイトをインデックスできません

は、ここで私はGooglebotのから取得していますエラーです:

HTTP/1.1 302 Found 
Date: Thu, 02 Dec 2010 23:05:49 GMT 
Server: Microsoft-IIS/6.0 
X-Powered-By: ASP.NET 
X-AspNet-Version: 2.0.50727 
Location: /ErrorPage.aspx?aspxerrorpath=/Default.aspx 
Cache-Control: private 
Content-Type: text/html; charset=utf-8 
Content-Length: 168 

<html><head><title>Object moved</title></head><body> 
<h2>Object moved to <a href="%2fErrorPage.aspx%3faspxerrorpath%3d%2fDefault.aspx">here</a>.</h2> 
</body></html> 
+0

これは質問ではなく、より多くの回答です。非常に参考になりますが、おそらくCommunity Wikiにするか、閉じてしまうかもしれません。 –

+0

知っておいてよかったですが、そのような音は分かりにくいでしょう。 –

+3

あなたはレトリックを投稿したり、「方法」を文書化したりしないで、これについてブログをしてください。 – stillstanding

答えて

4

私は答えを自分自身を発見しました。

Request.UserLanguages!= nullを使用する前に必ず確認してください。また、CurrentCultureが有効なデフォルト値に設定されていることを確認してください。これらの両方のチェックの理由は、ボットがRequest.UserLanguagesを使用しないためです。これは常にnullです。ブラウザはRequest.UserLanguagesを使用します。換言すると:Request.UserLanguagesがnullの場合、CurrentCultureを設定しないでください。私のサイトで

すべてのaspxページがSystem.Web.UI.Pageから継承したカスタム基本クラスから継承:

は、ここで問題です。 OnLoad()またはinitイベントを、ボットの例外のみをスローするコードでオーバーライドするまで、これは問題ではありません。

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);

ブラウザからASPXページにアクセスする際にこのコードは素晴らしい作品:私は私のOnLoad()イベントにコード行を持っていました。ダー!誰がブラウザを使用するつもりはない...?答え:googlebotと他のすべてのボット。 Googlebotがサイトをインデックスに問題があるかどうかを確認する方法

:あなたはまだいない場合

    は、Google webmastertoolsに登録
  1. Labs - > Fetch As Googlebot
  2. 確認するURLを入力します。その後、ステータスリンクをクリックしてgooglebotが見つけたものを確認します。 googlebotが(302のような)リダイレクトを返した場合、通常はそれが良いことではありません。サイトのすべてのページがカスタムエラーページに302リダイレクトされている場合は、問題があります。 googlebotがアクセスしようとするたびに、あなたのウェブページがエラー(処理されない例外)を投げていることを意味します。 Page_Load()およびInit()関数を調べ、googlebotのエラーを確認します。クールコマンドラインアプリcurlhttp://curl.haxx.se/)を使用してページをテストすることもできます。このツールを使用して、Googleのテストサーバーでサイトをテストしてからプロダクションにリリースすることができました(これは、Googleフェッチを使用して変更するたびに行う必要があります)。
関連する問題