判断 MIP 页面是否为手机移动设备访问

更新日期: 2019-12-21 阅读次数: 473 字数: 414 分类: SEO

百度搜索结果有一个体验问题。就是经常为电脑端用户展示 MIP 的搜索结果,而且概率还不小。从百度统计里可以看到大量的这种案例:

判断 MIP 页面是否为手机移动设备访问

用户明显是电脑端浏览器,却返回 MIP 页面,而且 MIP 页面里已经设置了源 PC 网页地址。但是百度搜索引擎并不遵守自己设定的规则。

不管是不是有意为之,我觉得必须后台做自动纠正。否则大量的 PC 端流量都被导向了 MIP 页面,弊端是:

  • MIP 页面本来就不是为 PC 页面设计的,所以布局体验不佳
  • MIP 页面的广告转化率非常低,影响收入

所以需要在 MIP 页面展示前,加上是否是移动端请求的判断。

从 Wordpress 源代码里复制了一段判定是否为手机访问的代码,稍作修改放到了 Laravel 项目中。

function is_mobile() {
        if ( empty( $_SERVER['HTTP_USER_AGENT'] ) ) {
                $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
                || strpos( $_SERVER['HTTP_USER_AGENT'], 'Opera Mobi' ) !== false ) {
                        $is_mobile = true;
        } else {
                $is_mobile = false;
        }

	return $is_mobile;
}

测试

爱评论不评论

近期节日

2020年04月07日 世界卫生日
2020年04月11日 世界帕金森病日
2020年04月19日 谷雨
2020年04月21日 复活节
2020年04月22日 世界地球日
2020年04月23日 世界读书日
2020年04月26日 知识产权日
2020年04月30日 佛诞
2020年04月30日 全国交通安全反思日
2020年05月01日 国际劳动节
2020年05月04日 五四青年节
2020年05月05日 立夏
查看更多节日