リファラー情報を送ってこないアクセスとは?
リファラー情報を送ってこないアクセスの例として、すでにブックマークを経由してのアクセスなどを紹介していますが、ここで改めてどんなタイプのアクセスからのリファラー情報が取得できないのかについて紹介します。リファラー情報が取得できないということは、そのアクセスからはリンク元の解析ができない、ということになるので、どんなアクセスの場合がリンク元の解析ができないのか、ということをみていくことにもなります。リファラー情報が送られてこないアクセスをまとめると、以下のようなものに分類されます。
- リンクをクリックしていない場合
- ブラウザ以外のプログラム(ロボット)からのアクセス
- リファラーを送らない設定にしている場合
リンクをクリックしていない場合
これは、最初に例としてあげたように、お気に入り(ブックマーク)に保存したページをメニューから選択してアクセスしたり、ブラウザのアドレス欄にURLを打ち込んだ場合のことです。この場合、そもそもリンク元がないわけですから、リファラーは送られてきません。リンク元が記録されないのも当たり前であることは、感覚的にも理解しやすいのではないでしょうか。
ブラウザ以外のプログラム(ロボット)からのアクセス
Webサイトにアクセスしてくるのが、ブラウザだけではなく、検索エンジンのデータ回収用のプログラムなど、さまざまなアクセスがあることは第3回(前編)(後編)でも紹介しました。こうしたブラウザ以外のプログラムは「ロボット」と呼ばれますが、ロボットによるアクセスのほとんどはリファラー情報を送ってきません。
特定の決まったURLへのアクセスを繰り返すロボットの場合は、先にあげた「お気に入りからのアクセス」と同様、リンク元が無いのも当然、という感じがしますが、それだけでなく、検索エンジンのデータ回収用のロボットのように、あるページへアクセスし、そこに含まれるリンクを解析して新しいページへのアクセスを行うようなタイプのロボットであっても、リファラー情報を送ってこないのが普通です。したがって、これらロボットからのアクセスは、リンク元が取得できません。
リファラーを送らない設定にしている場合
リファラー情報は、第3回で紹介したユーザーエージェント情報などと同様に、ブラウザがいわば「自主的に」送信してくる情報です。そのため、ブラウザ(もしくはそのブラウザが実行されてるパソコン)で、リファラーを送らない設定にしている場合があります。
リファラーを送らない設定は、FirefoxやOperaなどのブラウザでは、ブラウザ自体で設定を行うこともできますし、パーソナルファイアウォールやインターネットセキュリティツールなどをインストールしている場合は、それらのツールによってリファラー情報が削除される場合もあります。また、セキュリティツールの設定によっては、リファラーを削除した際に、代わりに「Hidden Referrer」や「Blocked Referrer」といった文字列を入れている場合があり、アクセス解析ツールによってはこの文字列が集計結果にそのまま表示されることがあります。
本文中で述べたように、リファラー情報はブラウザが自主的に送ってくる情報です。そのため、ブラウザ(やその他のプログラム)が「リファラーを送りたくない」と思ったら送らないことも可能なわけですが、それと同時に実際にはリンク元でもなんでもない「嘘の」リファラー情報を送ることも可能です。アクセス解析をして、リンク元として記録されていたURLにアクセスしても、どこにも自分のサイトへのリンクがない、といったこともありえるわけです。 そのため、ページの宣伝目的で、嘘のリファラーを送りつけてくるロボットも存在しています。アクセス解析や、リンク元を記録して自動的に表示する機能を持つサイトでそのURLが人の目に触れ、自分のサイトへのアクセスが増えることを期待しているのです。こうしたリファラー情報をいわば不正に利用した宣伝行為は「リファラースパム」と呼ばれています。
実際のリファラーが取得できないケース
あるページをクリックしてあなたのサイトにアクセスがあり、ブラウザもきちんとリファラーを送信する設定になっていたとしても、Webページやリンクの構成によっては、実際のリンク元が取得できないケースもあります。最後に、そうしたケースを紹介しておきましょう。
たとえば、Google AdSenseはGoogleが提供するアフィリエイトサービスで、Webサイトに広告を表示できるものです。Google AdSenseを利用しているサイトには、広告を出広しているサイトへのリンクが表示されています。しかし、このリンクをクリックして出稿しているサイトにアクセスしても、そのリンク元に広告が表示されたサイトのURLは表示されません。
なぜならAdSenseの表示にはiframe(インラインフレーム)という仕組みが利用されているからです。iframeはあるページの中に、異なるページの内容を埋め込むことができる仕組みです。AdSenseでは、ページの中にGoogleが用意した広告ページを埋め込むことで、まるで広告がそのページに表示されているように見せかけているのです。そのため、広告のリンクが貼り付けられているのは、実際にはGoogleの用意したページであり、広告がクリックされた場合、リファラー情報として取得できるのは、そのGoogleが用意したページになってしまうのです。

したがって、Google AdSenseに出稿している場合、リンク元として広告が掲載されたページをアクセス解析から取得することはできないのです。もちろん、Google AdSense以外でも、iframeを利用したページであれば、同様のケースが考えられます。
このほか、リンク元を隠すためのページを用意することで、リンク元を隠しているサイトがあり、この場合もリンク元を取得することができません。その代表的な例は2ちゃんねるでしょう。2ちゃんねるにURLを書き込むと、「ime.nu」というドメインのページへとリンクが張られます。このページには、記述したURLへのリンクが表示されているので、実際のページにもきちんとアクセスすることができるのですが、間に「ime.nu」のページが挟まっているためリファラー情報としてはこのページのURLが送られてきてしまい、アクセス解析を行っても実際にリンクがどこに張られたのかを知ることはできません。

このように、ページの構成によっては、リファラー情報をリンク先に送らず、リンク元の解析を行えないようにすることが可能なのです。