wordpress

WordPressのモバイル判定をiPadの場合にfalseを返す

利用用途

WordPressのデフォルトの関数だとiPadもモバイルだと判定されてしまうので、iPadをfalseで判定する関数を作成しました。

wp_is_mobileをコピーして来て、USER_AGENTをiPadが含まれるときにfalseを返すだけの簡単な関数です。

[code]

function my_wp_is_mobile() {
static $is_mobile;

if ( isset($is_mobile) )
return $is_mobile;

if ( empty($_SERVER[‘HTTP_USER_AGENT’]) ) {
$is_mobile = false;
}else if(strpos($_SERVER[‘HTTP_USER_AGENT’], ‘iPad’) !== false){
$is_mobile = false;
} elseif ( strpos($_SERVER[‘HTTP_USER_AGENT’], ‘Mobile’) !== false // many mobile devices (all iPhone, iPad, etc.)
|| strpos($_SERVER[‘HTTP_USER_AGENT’], ‘Android’) !== false
|| strpos($_SERVER[‘HTTP_USER_AGENT’], ‘Silk/’) !== false
|| strpos($_SERVER[‘HTTP_USER_AGENT’], ‘Kindle’) !== false
|| strpos($_SERVER[‘HTTP_USER_AGENT’], ‘BlackBerry’) !== false
|| strpos($_SERVER[‘HTTP_USER_AGENT’], ‘Opera Mini’) !== false ) {
$is_mobile = true;
} else {
$is_mobile = false;
}

return $is_mobile;
}

[/code]

Google Analyticsのノーリファラーの原因はiOSのGoogle検索

Google Analyticsの参照元が見つからないトラフィックの原因

Google Analyticsでdirect / none、あるいはノーリファラーが増えた時ってどうすればいいのか分からなくて困りますよね。様々な原因がありますが、一番大きな原因はiOS6のgoogle検索の確率が高そうです。

原因の調べ方

実際、Safariで自分のブログを検索してGoogleAnalyticsのリアルタイムを見てみましょう。すると、普通だったら、参照元にGoogle、キーワードに検索キーワード、またはnot prividedと表示されますが、iOS6のSafariのGoogle検索ですと、何も表示されません。これが、direct / noneの正体のようです。

参考までに、他にノーリファラー(direct / none)になるパターンのご紹介

もし、上記の原因で無かった場合にご参考までに紹介します。

  • はてなブックマークをモバイルアプリから使っている場合
  • ランディングページにGoogle Analyticsのコードが抜け落ちている場合

参考URL

英語の記事ですが、参考にした記事はこちら