PING送信プラス by SEO対策

js jQuery

2010年6月3日木曜日

検索サイトから来た時は検索キーワードを「このブログを検索」に追加する

さすがに常時表示はうざいので、「このブログを検索」に
デフォルトでセットしてあげるくらいにしとく。



bloggerでlivedoorブログに行くと右上あたりに表示されるアレを作る


いつものようにjQueryを使ってるので、bloggerでjQueryを使えるようにする
を参考に、インクルードしとく。
下のコードよりも先に読み込まれるように差し込むこと。

Bloggerのカスタマイズ→ガジェットの追加→HTML/Javascript
に↓のコードを貼り付ける。
<script type="text/javascript"><!--
jQuery(function($){
 if ($("#CustomSearch1_form").length == 0) return false;

 var ref = document.referrer;
 if (ref == "") return false;

 var ref1 = ref.split("?");
 if (ref.length < 2 ) return false;


 var targetparam = "";
 var tmp = ref1[0].match(/http:\/\/.[^\.]*\.([^\.]*).*/);
 if (!tmp[1]) return false;

 switch (tmp[1]){
  case "google":
   targetname = "q";
   break;
  case "yahoo":
   targetname = "p";
   break;
  case "bing":
   targetname = "q";
   break;
  //他の検索エンジンの検索文字列を取得したい場合はここに追加
  default:
   return false;

 }
 var params = ref1[1].split("&");
 var re = new RegExp("^" + targetname + "=");
 for (var i=0;i<params.length;i++){
  if (params[i].match(re)){
   var q = params[i].split("=")[1];
   q = q.replace(/\+/g," ");
   q = unescape(q);
   
   var interval =setInterval(function(){
    if ($(":text.gsc-input").length > 0 ){
     $(":text.gsc-input").val(q);
     clearInterval(interval);
    }
   },200)
   
   return false;
  }
 }
})
--></script>

googleとyahooとbingだけで十分だと思う。
他の検索サイトかポータルから来た場合も表示させたい場合は、
上のコードの
//他の検索エンジンの検索文字列を取得したい場合はここに追加
の下に、キーワードがセットされるパラメータ名を入れれば
なんとかなるでしょう。

何か問題があれば、下のコメントまで。

0 件のコメント:

コメントを投稿