望まないリンク元からのアクセスをコントロールする方法


 ホームページを運営していると、自分では望まないサイトからリンクを張られてしまったりすることがあります。
特にアングラサイトと呼ばれるところからリンクを張られてしまうと、せっかく今まで気づきあげてきたサイトを荒らされる可能性もあり、非常に困ります。
また、自分のサイトの一部のコンテンツにばかり直接リンクを張られてしまい、そこにばかり集中することで、制作者が一番見せたいコンテンツを見てもらえない、アクセス数はあるのにカウンタが上がらないと言った現象がたびたび発生することがあります。
 「リンクはトップページに張ってください」とか、「無断リンクはご遠慮ください」などと書いておいても、現在のところ日本には無断リンクを規制する法律は全くないため、ほとんど効力がないのが現状です。
 また、最近ではロボット型検索エンジンが普及し、どちらかというとトップページからコンテンツにたどり着くと言うよりは、検索エンジンからある特定のコンテンツにアクセスされるケースが増加しています。
そこでこのページでは、自分の望まないアクセス元からの訪問者を、ほかのページに飛ばす方法をご紹介します。

 なお、ここではJavaScriptを用いた方法と、SSIを用いた方法の二つをご紹介します。
JavaScriptを用いた方法は、これを無効にしている環境では利用できません。

特定のサイトからのリンクを防止する方法


 特定のサイトからのリンクを防止したいページの「BODY」タグの直後に、以下の内容を貼り付けます。

<Script Language="JavaScript"> <!-- reff=document.referrer; if(reff.indexOf('xxx.ne.jp/~user/')==1){ window.alert('さようなら。どこかへ行ってください。'); location.replace('http://www.yahoo.co.jp/') } //--> </Script>  こうすると、リンクもとURLに「xxx.ne.jp/~user/」を含むお客様が現れると、「さようなら。どこかに行ってください」というメッセージを表示した後、
http://www.yahoo.co.jp
に飛ばすことができます。

自分のサイトの外からのリンクを防止する方法


 自分のサイト以外から、特定のページに直リンクを張られてしまいたくない場合には、以下の内容を当該ページの「BODY」タグの直後に挿入します。

<Script Language="JavaScript"> <!-- reff=document.referrer; if(reff.indexOf('あなたのサイトのもっとも最短のURL')==-1){ window.alert('申し訳ございません。トップページからお回りください。'); location.replace('トップページのURL') } //--> </Script>
 あなたのサイトの最短URLの部分には、あなたのサイトのURLの内、すべてのページに共通する部分を記入します。
たとえば、プロバイダのスペースを借りてホームページを運用している方なら、
「www.xxx.ne.jp/~yourid」
独自ドメインを持っている方なら、
「www.yourdomain.com」などの用に書いておきます。
「トップページのURL」の部分には、あなたのトップページのURLを正しく記入してください。
 こうすることで、ブックマークからトップページを経由せずに直接訪れた訪問者に対して、「申し訳ございません。トップページからお回りください」というメッセージを表示した後、トップページに飛ばすことができます。
試しにこのページをブックマークして、アクセスしてみてください。
警告メッセージが出た後、トップに飛ばされるはずです。

SSIを利用する方法


 特定のリンク元からのアクセスを防止することと、ブックマークからのアクセスを防止する両方を兼ね備えた優秀なCGIスクリプトが公開されています。
こちらを使えば、上記の方法よりも確実に、ターゲットとなる訪問者を排除することが可能です。
しかし、このスクリプトはSSIを利用して該当のHTMLファイルから呼び出すもののため、SSIを利用できないサーバーでは動作しません。
興味のある方はこちらのページから入手してください。
このページ、ご多分に漏れず同スクリプトで直リンクを制限していますので、トップページから回らないと引かれてしまいますので、あえて直リンクをさけました。
トップページを開いたら、
自作CGIスクリプト配布→リファラー排除
と進むとダウンロードページにはいることができます。


パソコンコーナーに戻る

トップページに戻る