0

Facebook デバッガーやその他のクローラー ツールがページを解析できないことに気付いたとき、すべてが始まりました。Facebook は、リダイレクトをたどることができないという重大なエラーをスローします。私は、検索エンジンボットも同じ終わりを迎えていると信じています。Web サイトは、すべての主要な Web ブラウザーを介して正常に機能しています。

IIS8 で Web フォームを使用して、ASP.NET ルーティングを試していることはおそらく言及する価値があります。

Web サイト ( http://example.com ) を指定すると、次のようになります。

ケース 1:ルートにアクセスしようとすると、これが Web Sniffer シミュレーターで得られるものです

ここに画像の説明を入力

ケース 1 の観察:

最初に気付くのは、「200 OK」ではなく「302」リダイレクトです。先頭の「www」の有無にかかわらず、302 リダイレクトを提供します。

私は、ロケーション ヘッダーが単に "/" であることに気付きました。これは、通常のブラウザーでは表示できない IIS のページによって確認され、ページが "/" に移動されたことが示されています。この時点で何かがおかしくなり、何らかの理由でクローラーが追跡できなくなっていると思います。

ケース 2: Web Sniffer シミュレーターを使用して特定のカテゴリ ページにアクセスしようとする

ケース 2 の観察:

すでにお気づきかもしれませんが、ケース 1 と同じです。この場合も、Facebook デバッガーはそれを通過できず、リダイレクトをたどることができません。

ここに画像の説明を入力

質問:

1: ロケーション ヘッダーに相対パスではなく絶対パスを強制するにはどうすればよいですか?これでクローラーは十分に追跡できますか?

2: Web サイトの www バージョンと非 www バージョンの両方で、最初に 302 リダイレクトが発生する原因は何ですか?

4

1 に答える 1

2

Web アプリケーションは、Cookie に依存している可能性が最も高いです。アプリケーションはSet-Cookieヘッダーを送信し、同じページにリダイレクトして、Cookie データが利用可能な新しいリクエストを受信します。検索エンジン/ボット、Facebook ボット、および Web Sniffer シミュレーターはその Cookie データを送信しないため、Web アプリケーションは 302 リダイレクト応答を送信し続けます。

解決策は、アプリケーションを変更して、Web ページを表示するだけで Cookie を必要としないようにすることです。

于 2013-02-20T11:35:49.353 に答える