- - PR -
検索エンジンロボットの対処
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-02-28 06:37
ロボットが来ればロボット用の、そうでなければ一般用の表示をするJSPを作りたいと思います。ロボット閲覧とそうでない閲覧の区別をJSPサイドで確認するためにはどうすればいいのでしょうか?例えば下記のように表示を変えたいと思います。
<HTML> <% boolean robot = //ここでチェック if(robot){ %> <head> <%--ロボット用のMETA--%> </head> <body> ロボット用の記述 </body> <% } else{ %> <head> </head> <body> 一般用の記述 </body> <% } %> </html> | ||||
|
投稿日時: 2006-02-28 08:49
検索エンジンのクローラのユーザーエージェントを参照して判断するといいでしょう。
http://testpage.jp/internet/search_engine_robot_agent.php ユーザーエージェントはrequest.getHeader("User-Agent");で取得が可能です。 | ||||
|
投稿日時: 2006-02-28 09:10
「検索エンジンスパム」の判定を受ける可能性もあるのでやめた方が無難です。 本当に SEO を考えているのであれば、結構なバクチに思えます。 # いわゆるドアページとはちょっと違いますね... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-02-28 09:45
じゃんぬねっとさんの言う通りdoorwayっぽいのでやめた方が無難ですね。
少し前の記事に不正SEOのため独BMWがGoogle八分になんて事もあった事だし・・・ # なんかIT関係って少しサボってると色々知らない事が出てきますね。。。 | ||||
|
投稿日時: 2006-02-28 11:17
かつのりさんの書き込みを見てやりかたは理解できました。間違いがあればご指摘お願いします。
final String USER_AGENT = request.getHeader("User-Agent"); final String [] AGENT_NAMES = { "Googlebot", //google "Yahoo! Slurp", //yahoo "msnbot" //msn }; boolean robot = false; int stringIndex = 0; if(USER_AGENT != null){ for(int i = 0; i < AGENT_NAMES.length; i ++){ stringIndex = USER_AGENT.indexOf(AGENT_NAMES[i]); if(stringIndex != -1){ robot = true; break; } } } あとは使用するかしないかの判断だけです。しないほうが無難なのは百も承知ですが、DOORWAYの件を含めて上に相談してみます。自分はヒラなので決定権がないのが残念です(笑)。みなさん返信ありがとうございました。 |
1