百度统计是百度推出的一项免费服务,免费版虽相较于同样免费的Google Analytics统计功能要少很多,但后者在中国大陆地区体验不太好,所以百度统计依然是不错的选择。本文将介绍不影响SEO优化和性能的前提下,在WordPress添加百度统计代码的方法。
第一步、压缩百度统计JS代码
百度统计默认提供的JS代码是未经压缩的,所以第一步可以将它压缩一下。下面是压缩后的代码,只需要将代码中的ID部分替换成自己的就可以。(非常适合有代码洁癖的人,不浪费网页加载的任何一个字节)
<script>var _hmt=_hmt||[];(function(){var hm=document.createElement("script");hm.src="https://hm.baidu.com/hm.js?c3fd00d959e86a56f286df87b168";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm,s)})();</script>
其中的c3fd00d959e86a56f286df87b168
就是ID,记得换上自己的。ID在默认的百度统计代码中能找到,如下:
第二步:在WordPress添加百度统计代码,并排除管理员用户
为什么要排除管理员?
- 很多站长每天都多次访问自己的网站,所以统计不应该包括网站管理员,这样统计结果更真实。
- 百度统计会协助百度搜索发现新的URL,如果管理员在使用编辑器或自定义设置的时候,会出现一些带参数的URL,例如:
https://www.abc.com/a.html?customize_changeset_uuid=a8b9
,你肯定不希望这个URL被百度抓取并收录,因为会造成多个URL内容重复而导致SEO降权的结果。
使百度统计排除网站管理员的代码
//在wp_head添加百度统计代码,排除管理员
function zhanzhangb_wp_head() {
if ( ! current_user_can( 'manage_options' ) ) {
echo '<script>var _hmt=_hmt||[];(function(){var hm=document.createElement("script");hm.src="https://hm.baidu.com/hm.js?c3fd00d959e86a56f286df87b168";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm,s)})();</script>';}
}
add_action('wp_head', 'zhanzhangb_wp_head');
WordPress添加自定义PHP代码的方法:
- 使用Code Snippets插件,添加以上代码,并选择仅在前端运行。相关帮助文档:WordPress替代编辑functions.php的插件:Code Snippets
- 编辑当前主题目录下的functions.php文件,将以上代码添加至尾部
建议使用第1种方法,方便管理WordPress中的所有自定义代码;第2种方法需要在更新主题或更换主题后重新添加。
高级用法:推迟加载,不建议新手使用
在HTML中添加任何JS代码,都会影响网页加载速度,而且会造成阻塞。所以最佳的方式就是对于不影响后续内容的JS代码进行推迟加载,也就是说当网页全部加载完毕后,再加载推迟的这部分JS。
推迟加载百度统计代码可大幅提升网页速度,并消除阻塞。
推迟加载百度统计代码的第一步,在JS文件中调用统计代码
新建一个baidu-tongji.js文件,并添加以下代码:
var _hmt=_hmt||[];(function(){var hm=document.createElement("script");hm.src="https://hm.baidu.com/hm.js?c3fd00d959e86a56f286df87b168";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm,s)})();
同样记得替换自己的ID。
将该文件上传至网站根目录,或其它目录(如果是其它目录,需要替换下面代码中的路径)。
推迟加载百度统计代码的第二步,将下列代码添加到WordPress中
function add_tongji_js() {
if ( ! current_user_can( 'manage_options' ) ) {
//排除管理员
wp_register_script( 'baidu-tongji','/baidu-tongji.js', array('jquery'), '1.0', true ); //注册百度统计 js
wp_enqueue_script( 'baidu-tongji' ); //排队引入百度统计 js
}
}
add_action( 'wp_enqueue_scripts', 'add_tongji_js' );
这种添加外部JS文件的方法是WordPress官方推荐的规范方法,wp_enqueue_script()函数可以安全的将JavaScript脚本添加到WordPress生成的页面。
添加以上代码的方法参考上文:添加自定义PHP代码的方法。
推迟加载百度统计代码的第三步,使用Perfmatters插件设置推迟加载名单
记得点击底部的“保存更改”按钮!
以上设置后,百度统计代码只有在用户交互后才加载(如用户一直未进行任何操作,10秒后自动加载)。用户交互是指:翻动了页面、移动了鼠标等任何操作。这样一来,统计代码对于网页的加载速度绝无半点影响。
注:如果使用了WP Rocket 缓存插件的用户,在文件优化设置中,有同样的功能(JaveScript延迟执行)。
总结
经过最终优化后,百度统计代码不再影响任何页面的性能,同时对SEO友好,而且还不会将管理员的日常访问纳入统计。
文章中提到的Code Snippets插件、Perfmatters插件以及WP Rocket 缓存插件,推荐所有WordPress站点安装。
原文地址:https://www.zhanzhangb.com/4568.html