1

私の Web アプリケーションは、アクセス時にランダムに生成された URL にリダイレクトするnotepad.ccに非常に似ていますhttp://myapp.com/roTr94h4Gd。(notepad.cc は私のサイトではありませんのでご注意ください。)

おそらくこのリダイレクト機能が原因で、Google ウェブマスター ツールで「fetch as Gogle」を実行すると、302 が表示され、HTML コンテンツが表示されません。<html></html>タグすらない。

HTTP/1.1 302 Moved Temporarily
Server: nginx/1.4.1
Date: Tue, 01 Oct 2013 04:37:37 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.4.17-1~dotdeb.1
Set-Cookie: PHPSESSID=vp99q5e5t5810e3bnnnvi6sfo2; expires=Thu, 03-Oct-2013 04:37:37 GMT; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: /roTr94h4Gd

この場合、どうすれば 302 を回避できますか? リダイレクトを防ぐためにサイトを変更できると思いますが、アクセスごとにランダムな URL を生成することは、Web アプリの必要な機能です。これは、ボットが毎回異なるhttp://myapp.com/xxxxx場所にインデックスを作成する可能性があることを意味します。xxxxxこれは、検索エンジンで自分のサイトを宣伝するのに役立たないと思います。

インデックス ページにタグを追加<meta name="fragment" content="!">して、ボット専用に作成されたページを返すことができます。ただし、私のサイトがブラック ハット アプローチを使用しているとフラグが立てられる可能性があるため、これは危険なアプローチであると思われます。

誰かがこの問題を解決するための良い提案を教えてくれませんか?

4

1 に答える 1

0

ステータス 302 ではなく 200 を送信するようにサーバー コードを変更します。

Response.StatusCode = 200;

http://msdn.microsoft.com/en-us/library/system.web.httpresponse.statuscode.aspx

于 2013-10-11T19:43:39.553 に答える