Twitter経由のリファラでtwitter.comが減少し、t.coが急増している理由
最近アクセス解析のリファラを見て、t.coが増えてるなぁと思っている人いませんか?
Twitterの公式ドキュメントによると、Twitterの短縮URL「t.co」のリダイレクト処理はアクセス元のサイトやユーザーエージェントによって細かく定義されていて、それによりリファラがアクセス元のサイトになる場合と、t.coになる場合とがあるようなのです。(いつの間に!)
t.coでリダイレクトされた時のリファラの仕様
2011年8月31日時点での仕様は以下のようになっています。左側はt.coのクリックが発生したサイトやクライアント、右側はその際のリファラです。
- twitter.com以外のサイト → リファラ指定があればリファラを維持、なければ t.co
- twitter.com以外のサイト、SSL → t.co
- twitter.com → t.co
- Twitter公式アプリ → t.co
- サイトに貼られたウィジェット → SSLページなら t.co、非SSLならウィジェットが貼られたページ
- サードパーティのクライアント → リファラ指定があればリファラを維持、なければ t.co
- Botやそれ以外 → リファラ指定があればリファラを維持、なければリファラなしで301リダイレクト
※ 最新の仕様は公式ドキュメント「t.co Redirection Behavior | Twitter Developers」を確認してください。
これを見て分かるのは、Twitter本家のサイト、Twitter公式アプリ、サードパーティのアプリでリファラが指定されていないもの、これらに記載された「t.co」の短縮URLがクリックされた際のリファラはすべて「t.co」になるということです。
そりゃt.co増えるわ。。
t.coの挙動を調べてみた
一般的に短縮URLの挙動は、ブラウザに対して301のステータスコードを返して、短縮前のURLにリダイレクトさせます。そのため、アクセス元を示すリファラは短縮URLが記載されているサイトのURLとなります。
しかし、twitter.comがリファラの場合には、t.coはブラウザに対して200のステータスコードを返しています。
↑ twitter.com上でクリックされるとまず200応答が返る。
なぜこの応答でリダイレクトできているのか?t.coからはこんなコンテンツが返ってきていました。
<noscript><META http-equiv="refresh" content="0;URL=http://blog.fkoji.com/2011/09010231.html"></noscript> <script>location.replace("http:\/\/blog.fkoji.com\/2011\/09010231.html")</script>
JavaScriptの「location.replace()」もしくは「metaタグのrefresh」でリダイレクトさせる仕組みになっています。
このカラクリによってリダイレクトは正常に機能しているのですが、代わりにリファラは短縮URLのページに切り替わっているのです。
↑ 最終的に元のURLにアクセスされる際には、Refererが「http://t.co/NgMCmgk」に変わっている。
ちなみにtwitter.com以外のドメインにあるt.coのURLをクリックした際には、きちんと301リダイレクトされていて、リファラは維持されていました。
Analyticsでリファラの傾向を見てみると…
そんなわけで、最近は「twitter.com」のリファラが減少し、代わりに「t.co」のリファラが急増しているのです。特にTwitter経由のアクセスが多いサイトはその傾向が顕著。
例えば Meity の7月1日〜8月31日までのリファラを見てみると、
↑ twitter.comは、なだらかに減少している。
↑ 代わりに t.co が急増w
グラフによると8月上旬から増えてきているので、この辺りに仕様変更が全体に適用されたのではないかと予想できます。
まとめ
そういうわけなので、Twitterからのトラフィックを集計する場合はtwitter.comドメインとt.coドメインとを足し合わせる必要があります。
また、t.coドメインからのアクセスにはTwitterクライアント(iPhoneやAndroid、デスクトップのアプリなど)からのアクセスと、twitter.com本家からのアクセスなどが含まれているということを覚えておきましょう。
コメントを残す