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

更新日期: 2019-12-21 阅读次数: 3892 字数: 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;
}

测试

微信关注我哦 👍

大象工具微信公众号

我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式