ネットサービスの開発に役立ちそうな話題を中心にお届けします。
F.Ko-Jiの「一秒後は未来」 > このブログ
2012年01月19日 15:23

IE6とIE7の1訪問あたりのページビューが異常に高くなってるサイトありませんか?

なんだか最近ブログの1訪問者あたりのページビュー(Pages/Visit)が上がってるなぁと思って喜んでたら、Facebookのプラグインが悪さをしていたというお話しです。

ある時期からPages/Visitが上がった

facebook-ie6-ie7-reload-bug-0.jpg

↑ 全体で見るとほんの少しですが上がってます。

ちょうどデザイン変更したタイミングと重なっていたので、「これデザイン変えたからじゃね?」と思っていました。が、少し気になったのでアクセスログを調べてみたのです。

そうすると興味深いログを見つけました。

?fb_xd_fragmentのついたページが影響?

facebook-ie6-ie7-reload-bug-2.jpg

↑ 短時間に fb_xd_fragment つきのアクセスが頻発している。

とある日のアクセスログなのですが、「...?fb_xd_fragment HTTP/1.1" ...」というログがたくさんあるのがわかります。しかも数秒おきに発生していてアクセス元も同じです。

※ (追記) なお、あとで調べたのですが 301 リダイレクト fb_xd_fragment つきのURLを .htaccess でリダイレクトするように設定していただけで、以下の grep ログを見ても分かる通り301のありなしは無関係でした。

しかもさらに調べてみると、ブラウザがIE6.0とIE7.0の場合のみ発生しているのです。

# grep fb_xd_fragment blog.fkoji.com_access_log.2 | grep -c 'MSIE 6.0'
2440
# grep fb_xd_fragment blog.fkoji.com_access_log.2 | grep -c 'MSIE 7.0'
7321
# grep fb_xd_fragment blog.fkoji.com_access_log.2 | grep -c 'MSIE 8.0'
0
# grep fb_xd_fragment blog.fkoji.com_access_log.2 | grep -c 'MSIE 9.0'
0

確かにAnalyticsでブラウザをIEに絞り込むと、Pages/Visitの上がり方は顕著になっています。

facebook-ie6-ie7-reload-bug-1.jpg

↑ IEで絞り込んだ。

あと「fb_xd_fragment」というのはいかにもFacebookっぽい。というわけで、このあたりのキーワードを元に情報がないか調べてみると、サイトに設置しているFacebookのプラグインが原因ではないかという結論に行き着きました。

IE6とIE7でFacebookプラグインを表示するとiframe内でサイトをリロードしまくることがある

以下のサイトではFacebookアプリと書かれていますが、Facebookのいいね!ボックスやコメントプラグイン、いいね!ボタンも該当するのではないかと思います。

IEとiPhoneを含むSafariで、Facebookアプリでログインセッションを受け取れず(getSessionがNULL)、iFrameの中が無限reloadされる不具合への対策です。

» IE/SafariでFacebookアプリの無限reload対策

IE6.0、IE7.0だけでなくSafariでも発生するようです。

もしブラウザからのリクエストが1回ならAnalyticsには1PVとして記録されるのですが、このリロードはおそらくFacebookのプラグインが読み込まれるか表示されるタイミングでおこなわれていて、しかもページ内に動的に生成された iframe 内で読みこまれているので、Analyticsに1ページビューとして記録されてしまうのです。

そして iframe 内で読み込まれたページ内でさらにFacebookプラグインが読み込まれ、さらに iframe が生成してその中で再度ページがロードされる・・・という繰り返しになっているのではないかと思われます。

必ずしもすべてのサイトで発生するわけではない

Facebookプラグインは他にも設置しているサイトがあるので調べてみたのですが、特に同様の現象が発生しているサイトは見当たりませんでした。

上記のページではサードパーティーCookieについて述べられているので、そのあたりのポリシーと関係しているかもしれません。

対策としてはそのページに書かれているようにP3Pのヘッダーを出力するようにするか、そもそもIE6とIE7ではFacebookプラグインが表示されないようにするかのどちらかだと思います。

ちなみにこのブログでは、IE6.0とIE7.0のユーザーエージェントだった場合は、Facebookプラグインをすべて非表示にしてみました。すると・・・

facebook-ie6-ie7-reload-bug-3.jpg

↑ 明らかにPages/Visitが元に戻ったw

古いIEを使っているユーザーがたとえ100人くらいしかアクセスしてこなくても、1人あたり10回リロードしてたら1,000ページビューになってしまいますから、訪問者のブラウザシェアによっては大きく影響しているのではないかと思われます。

2012年01月04日 06:00

2012年、明けましておめでとうございます

2011年12月29日 14:29

2011年ツイッターで反応のよかった記事まとめ

2011年12月28日 20:54

ページビューで見ると2011年はこんな記事にアクセスが集まりました

2011年05月17日 21:39

ホットワードって、ついっぷるの「HOTワード」のこと?

2011年02月18日 23:16

サムネイル画像を生成せずに最新記事一覧にサムネイルっぽく画像を表示させてみた

2010年12月31日 03:27

特定ファイルのみPHPを無効にする方法

2010年12月30日 02:57

2010年に書いた記事の中ではiPhoneやMac関連の記事のアクセス数が多かった

2010年12月27日 12:03

今年このブログで最もツイートされたエントリーは?

2010年12月22日 12:27

Facebookのファンページをつくりました(このブログ/梅酒.in/うめしゅくん)

2010年09月29日 03:44

ブログの画像ファイルを別サーバーに移して別のサブドメインにした

2010年09月10日 18:30

ブログにmixiチェックを設置

2010年06月02日 13:57

読者アンケートにご協力ください

2010年02月15日 19:03

TweetmemeのRetweetボタンをカスタマイズする方法

2010年01月24日 01:21

iPhone OSはWindows、Macintoshに次いでアクセスの多いOS

2010年01月13日 12:41

RSSフィードのURL変わりました(FeedBurnerやめました)のでRSSリーダーへの再登録をお願いします

2010年01月01日 13:07

大晦日は紅白で想定通りアクセスが増えるも負荷で更新できず

2009年12月29日 23:43

2009年このブログ経由でAmazonで最も売れた本

2009年10月03日 14:23

海外からアクセスできなくなったフィードを他のサーバー経由でFeedBurnerに読み込ませる方法

2009年07月03日 00:09

このブログの2009年上半期のトラフィックを振り返る