検索エンジンにHPのTOPページ以外のページが上位表示されています。
検索エンジンよりのアクセスでTOPページ以外からの場合、強制的にTOPページに移動させるスプリクトを知りたいです。
refererを利用すればできるような気がするのですが・・。
ノートンでFWの設定で動作しないというのは可です。
FWで空になっていた場合は、TOPページに移動せず通常のリンク先で構いません。
.htaccessは使用しない方法が知りたいです。
また、検索エンジンにTOPページ以外がかからない設定という回答は不要です。
以前も同様の質問をしましたが、不都合な現象が出ました。
検索エンジン(YAHOO)から飛んできたことを判別してTOPに振り分けるというスプリクトをお願いします。
過去の質問はこちら。
http://q.hatena.ne.jp/1159616527
過去にも回答していただいた方には感謝しています。こちらの確認不足でした。
1の回答で良い気もしますが、手抜きで書くなら以下を
リファラチェックしたいhtmlに貼るだけでも大丈夫だと思います。
(jump_uri=は自分のサイトにする)
<script style="text/javascript"> jump_uri = "http://d.hatena.ne.jp/"; //ジャンプさせたいページのuri search_array = new Array(); search_array[0] = "search.yahoo.co.jp"; //referrerにこの文字があればジャンプ search_array[1] = "www.google.co.jp"; //search_array[数字]=""; はいくつ追加しても良い //↓リファラチェック for ( i in search_array ) { re = new RegExp( search_array[i], "i" ); if ( document.referrer.search( re ) >= 0 ){ location.href = jump_uri; //チェックにひっかかったらジャンプ } } </script>
以前あったURLの処理方法を応用すれば
可能です。
http://www.red.oit-net.jp/tatsuya/java/referrer.htm
関数にした場合
Yahoo,GoogleからReferされた場合は、TOP Page
例:
function ReferURLCheck()
{
var keepurl = new Array();
var moveurl = new Array();
// Referオプション部分を除く
if( document.referrer.length==0 ) {
// 直接参照
myRef="";
return 0;
} else {
myRef = document.referrer;
myRefOpt=myRef.indexOf("?" , 0);
if( myRefOpt >= 0) myRef = myRef.substring(0 , myRefOpt);
};
// 移動先URL
moveTop = "http://www.yahoo.co.jp";
// 移動しない参照元指定
// URLが複数ある場合順番に配列に追加して行く
keepurl[0] = moveTop;
// 強制移動する参照元指定
// URLが複数ある場合順番に配列に追加して行く
moveurl[0] = "http://search.yahoo.co.jp";
moveurl[1] = "http://www.google.co.jp/search";
// 強制移動しないURLの場合 move=0
// 強制移動する場合 move=1
move=1;
for(i in keepurl) {
if( myRef.indexOf(keepurl[i],0)>=0) {
move=0;
break;
};
};
if( move == 1 ) {
move=0;
for(i in moveurl) {
if( myRef.indexOf(moveurl[i],0)>=0) {
move=1;
break;
};
};
};
delete keepurl;
delete moveurl;
if( move != 0 ) {
location.href = moveTop;
};
return 0;
}
丁寧にありがとうございます。
うれしいです。
1の回答で良い気もしますが、手抜きで書くなら以下を
リファラチェックしたいhtmlに貼るだけでも大丈夫だと思います。
(jump_uri=は自分のサイトにする)
<script style="text/javascript"> jump_uri = "http://d.hatena.ne.jp/"; //ジャンプさせたいページのuri search_array = new Array(); search_array[0] = "search.yahoo.co.jp"; //referrerにこの文字があればジャンプ search_array[1] = "www.google.co.jp"; //search_array[数字]=""; はいくつ追加しても良い //↓リファラチェック for ( i in search_array ) { re = new RegExp( search_array[i], "i" ); if ( document.referrer.search( re ) >= 0 ){ location.href = jump_uri; //チェックにひっかかったらジャンプ } } </script>
何度も申し訳ございません。
今度こそ問題が解決いたしました。
以前のものだと同一ページで条件抽出した場合に
TOPに再移動してしまう問題があったのですが
これなら大丈夫です。
本当に助かりました。
何度も申し訳ございません。
今度こそ問題が解決いたしました。
以前のものだと同一ページで条件抽出した場合に
TOPに再移動してしまう問題があったのですが
これなら大丈夫です。
本当に助かりました。