アクセスアップやSEOと真逆のテクニックですが、
検索エンジン経由で訪問する人を弾きたい人の為のjavascriptを作ったので紹介。
referrer(参照元のURL)を取得して、特定の文字列が含まれていたら別のページへ強制ジャンプさせます。
本当は.htaccessで弾くのが一番。
それ以外ではphpを使うのがスマートなやり方。
でも無料レンタルサーバやLivedoor等の一般的なブログサービスを利用していると、なかなかそういった方法が取れません。お手軽に何とかしようと思うとやっぱりjavascriptの出番になります。
javascriptでリファラ取得、特定リファラを弾くスクリプト
<scripttype="text/javascript"><!--
if(
(document.referrer.indexOf("search")!=-1) ||
(document.referrer.indexOf("word")!=-1) ||
(document.referrer.indexOf("ranking")!=-1)
){
document.writeln('<div styl' + 'e="height: 1400px; margin-top:150px; ">ご使用の環境からはご覧いただけません。<'+ '/div>');
setTimeout("link()", 1000);
function link(){location.href='http://www.livedoor.com/';}
}
// --></script>
BODYの一番最初に仕込むと良いかと思います。
上記のスクリプトでは、referrerを取得した後に「search」「word」「ranking」の文字列が含まれていた場合、 LivedoorのTOPページにジャンプするように仕組んでいます。
2ちゃんねる等の掲示板からのアクセスが嫌な方は「search」「word」「ranking」部分に「2ch」「ime.nu」他、弾きたいリファラの一部を入れればOK。「|| 」で挟んでいけば何個追加してもOK。
一瞬でもサイトが表示されると違和感がある場合があるので、ジャンプする際に「ご使用の環境からはご覧いただけません。」などのメッセージを1秒表示させるように工夫してあります。
あくまでも.htaccessやphpが使えない人の為の消極的方法です。
応用編
<script type="text/javascript"><!--
if(
(document.referrer.indexOf("web.tvbok.com")!=0) ){
document.writeln('<div styl' + 'e="height: 1400px; margin-top: 150px; ">ご使用の環境からはご覧いただけません。<'+ '/div>');
setTimeout("link()", 1000);
function link(){location.href='https://web.tvbok.com/';}
}
// --></script>
IF構文の=-1の所を0に変えると、特定のリファラ(参照元)からのアクセスだけを許可できます。
TOPページ以外にこのスクリプトを仕込んでおけば、自分のサイトの個別ページには、他のサイトからはアクセス出来なくなります。
以上、javascript offな環境では全く無意味な仕掛けになる事を忘れずに。
本気でアクセス除外を考える人は、以下でお勉強がよいかも
リンク制限
初訪問者をチェック。二度目から閲覧OKになるスクリプト
抜け道一杯な気がしますが、簡易的な一見さんお断りなサイトを作るには良いかも。
以下サイトにスクリプトありました。
http://www.sumnet.ne.jp/domp/jsbs/kaisetsu/cookie3.htm
<SCRIPT language="JavaScript">
<!--
function Check(){
sai=getCookie("check");
if(sai=="ok"){
location.replace("cookie3-1.htm");
}else{
setCookie("check","ok");
location.replace("cookie3-2.htm");
}
}
function getCookie(key){
tmp=document.cookie+";";
tmp1=tmp.indexOf(key, 0);
if(tmp1!=-1){
tmp=tmp.substring(tmp1, tmp.length);
start=tmp.indexOf("=", 0)+ 1;
end=tmp.indexOf(";", start);
return(unescape(tmp.substring(start,end)));
}
return("");
}
function setCookie(key,val) {
tmp=key+"="+escape(val)+";";
tmp+="expires=Fri, 31-Dec-2010 23:59:59;";
document.cookie=tmp;
}
// -->
</SCRIPT>
各自、自分の運営するサイト用に適時書き換え必要ですが
これも使い方によっては面白いかも