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

更新日期: 2019-12-21 阅读次数: 257 字数: 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 聊聊。 白天工地搬砖,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

爱评论不评论

近期节日

查看更多节日