百度搜索结果有一个体验问题。就是经常为电脑端用户展示 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;
}
测试
- 浏览器查看 HTTP_USER_AGENT 可以访问 https://www.sunzhongwei.com/ip
- 程序测试查看 HTTP_USER_AGENT 可以使用 https://www.sunzhongwei.com/is-mobile 返回纯文本结果
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式