ブログTOP > SEO > 自分のサイトから他のサイトに外部リンクする際にリファラーを隠蔽する方法

2015年06月14日

自分のサイトから他のサイトに外部リンクする際にリファラーを隠蔽する方法

698279671_fe5148da78_z.jpg
Photo by Ryan Sims (CC BY-NC-ND 2.0)

何らかの理由で、自分のサイトからほかのサイトに向けて張られた外部リンク(External Link/Outbound)において、相手方にリンク元(リファラー)を伝えたくない、残したくないという場合があります。

サイトの構造を外部におおっぴらに知られたくない場合や、サイトの存在自体をあまり知らたくない場合、競合他社などにあまり気づかれたくない場合などなど。。。

自分一人の行動を知られたくないだけなら、ブラウザのプラグイン(アドオン)などを利用すれば個人の行動ログを守ることができます。
ですが、サイトのユーザー(閲覧者)全員の行動の話として、それをすべてブラウザ側でコントロールすることは不可能です。(ユーザーそれぞれ異なるPC/ブラウザからアクセスしているので当然です)

このような場合、クライアント側ではなく、サーバー側で「リファラを操作する」仕組みを作っておく必要があります。
こう書くととても難しそうですが、実際リファラを「偽装」するのは面倒ですが、隠蔽(隠す・相手方のサーバーに残らないようにする)だけなら簡単な方法があります

1. metaタグ

<head>内に以下のmetaタグを記述することで、リファラを制御することが出来ます。
<meta name="referrer" content="never" />
このように書くことで、ページ中のすべてのリンクにおいて、リファラが送信されなくなります。

といってもこれは現時点でChromeでしか実装されていないようです。
Firefoxなどその他のブラウザでも順次実装されていくことが期待されています。

head内に書くだけで簡単に実装できますので、WordPressなどのCMSでも簡単に採用することができます。
WordPressの場合は、「Per page add to head」や「Add Text To Head」などのプラグインを使えば、<head></head>タグ内部に自由にコードを追加することができます。


2. rel属性
<a>タグに、rel="noreferrer"という属性を追加することで、リンクからリファラが送信されなくなります。
これは<a>タグひとつひとつに記述するという話なので、書き忘れなどに注意が必要になってきます。

一括・自動的に行うには、スクリプト言語で処理すると良いでしょう。
以下はJavaScript(jQuery)の例です。
<script>
jQuery(function(){
  jQuery('a').attr('rel','noreferrer nofollow');
});
</script>
JavaScript(jQuery)ですので、前述のようにWordPressなどでもテンプレートの<head>内部に記述しておけば、全ページで有効にすることが出来ます。
nofollow も付け加えているのは、人間だけでなく、Googleなどの検索botによるクローラーにリンクを無視させるためです。

上記のコードでは外部リンクも内部リンクも関係なくすべてのリンクに対して処理をしてしまいますので、本来は外部リンクだけに絞るべきです。

WordPressの場合、「WP External Link」や「External Link」などのプラグインを利用することで、外部リンクか内部リンクかをjQueryで簡単に取得できるようになります。
以下のスクリプトでは、すべての<a>タグのうちrel属性が"external nofollow"のものだけを対象に、noreferrer を付け加えます。

<script>
$(function(){
  $("a[rel *= 'external nofollow']").attr('rel','external nofollow noreferrer');
});
</script>

この措置も、現時点でChromeとSafariでしか実装されていないようです。


3. その他
この他にも、面倒ではありますがいろいろな方法があります。
上記2つの方法だけでは不完全で困るという場合は、下記を参照して下さい。

なかでも簡単な方法としては、
サイトのSSL化(https)や、短縮URLの使用(中間ページを挟む)などでしょうか。

IEのシェアは現時点で40%程度、Firefoxが15%程度ですので、およそ45%程度のユーザーに対して[2]の方法で対処できます。さらに[1]の方法、そしてSSL化を行えば感覚値でおそらく60〜80%のケースではリファラの隠蔽に成功していると考えて良いのではないかと思います。

外部リンクする際に中間ページを挟んでしまえば確実にリファラを隠せるようになります。その最も簡単な方法は、すべての(外部)リンクを短縮URLにしてしまうということだと思います。

WordPressの場合ですと、「Pretty Link Lite」などのプラグインを使用すれば簡単に短縮URLを利用できるようになるようです。

このエントリーをはてなブックマークに追加
posted by taichistereo at 08:58 | Comment(0) | SEO
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。
カテゴリクラウド
トップページへ戻る
Blog Widget by LinkWithin