この記事は公開から1年以上が経過しています。内容が古い場合があるのでご注意下さい。

FireFoxには「先読み機能」と言われるものがあり、これによりサイトのPV数が実際とは違う数になることがあります。
例えば、「解析結果が10万PVだったが、実際は5万PVしかなかった」となれば、困ってしまいます。

これは、先読み機能でユーザがアクセスしたページとは別に、Firefoxが勝手に別のページへアクセスしてしまうことから起こります。

このことを知らずに、特にWordPressを使っていると、「PV数がおかしい」ということが発生してしまいます。
 

この記事の内容はSEO的な観点からは不十分な内容になっています。後日修正予定です。

原因

WordPressの場合、記事を作成すると自動的に下記のようなlinkタグを生成しますが、Firefoxは、バックエンドでこのlinkタグのURLに勝手にアクセスします。

link rel=’next’ ~ href=’http://XXXXXX’

理由は、ユーザが「next」で指定されているページにアクセスする可能性が高いので、内部的にそのページにアクセスして、事前にキャッシュしておくことで、ユーザが実際にアクセスした際の表示を早くする、ということをしているからです。

(何かの統計的な結果でこういう実装になっているのかもしれません。)

例えば、あるページのソースに、以下のように書かれていると、

<link rel='next' href='http://yahoo.co.jp/' />

ユーザがアクセスしたこのページの他に、Firefoxが勝手にYahooへアクセスしてしまいます。

このURLが同じサイトの別のページだったら、アクセス解析した際に、そのサイトのPV数が2倍になってしまいます。

しかし、先読みしてしまうリンクタイプはnextの時に限られるようで、他のprevindex,startなどでは、先読み機能は動作しません。あくまでもnextが指定されていれば、「次に読まれるだろう」と判断して先読みしてしまうようです。

仮に、全ページで「link rel=’next’」を書いていていた場合、単純にブラウザの中で、Firefoxのシェアが20%と考えると、全体PV数の1割が先読み機能によるものになります。
全てのページで「link rel=’next’」を書いていることもないと思いますが、正確なPV数が出ないのは困るんじゃないかなぁと思います。

対策

対策というほどでもないですが、とりあえずnextのリンクだけ表示しないようにするには、上記の通り「link rel=’next’」を使わないということになります。

特に、Wordpressの場合、個別記事だと1つ前の(1つ新しい)投稿に対して「link rel=’next’」でページが指定されてしまいます。
※WordPressは、各記事を生成するときに、各ページのヘッダーに、前後の記事を「link rel=’prev’」「link rel=’next’」として記載します。

これはテーマのfunctions.phpを編集することで回避出来ます。
お使いのテーマのfunctions.phpに以下を追加します。

remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');

を追加するだけです。
追加すると各記事のヘッダーから「link rel=’next’」と「link rel=’prev’」の該当行が削除されます。

これで、FireFoxの先読みの対象がなくなったので、PV数が正常にカウントできるようになり、また余計なトラフィックの発生も抑えることが出来てお得です(笑)

Firefoxの設定修正

さて、この先読み機能ですが、勝手に他のページにもアクセスしてしまうということで、気になる人は、この先読み機能は無効にしておいた方がいいでしょう。

これも簡単です。

firefoxのアドレスバーにabout:configと入力します。
network.prefetch-nextの行をダブルクリックしてfalseと入力
これで再度、「link rel=’next’」が書かれているページへアクセスしてみると、たしかに、先読みしなくなっていることを確認できます。

これで完了です。

先読み機能があるからアクセスが早く感じる、、、ことは今のところありませんので、無効にしておいても問題無いでしょう。

関連記事:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です