不少网站都是使用百度统计,毕竟是百度推出的一项免费服务,免费版虽相较于同样免费的Google Analytics统计功能要少很多,但是后者在中国大陆地区体验不太好,加上还有国内的51la或者CNZZ等竞争,谷歌的统计基本使用者不多。在国内而言,百度统计是个不错的选择。搬主题参考了其他网站的做法,接下来介绍一下在不影响SEO优化和性能的前提下,在WordPress添加百度统计代码的方法。
第一步、压缩百度统计JS代码
百度统计默认提供的JS代码是未经压缩的,所以第一步可以将它压缩一下。下面是压缩后的代码,只需要将代码中的ID部分替换成自己的就可以。(非常适合有代码洁癖的人,不浪费网页加载的任何一个字节)
<script>var _hmt=_hmt||[];(function(){var hm=document.createElement("script");hm.src="https://hm.baidu.com/hm.js?345c3fd09e86afgh56fdf87b1hh8";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm,s)})();</script>
其中的345c3fd09e86afgh56fdf87b1hh8就是ID,记得换上自己的。ID在默认的百度统计代码中能找到,如下:
第二步:在WordPress添加百度统计代码,并排除管理员用户
为什么要排除管理员?
- 很多站长每天都多次访问自己的网站,所以统计不应该包括网站管理员,这样统计结果更真实。
- 百度统计会协助百度搜索发现新的URL,如果管理员在使用编辑器或自定义设置的时候,会出现一些带参数的URL,例如:
https://www.banzhuti.com/a.html?customize_changeset_uuid=a8b9
,你肯定不希望这个URL被百度抓取并收录,因为会造成多个URL内容重复而导致SEO降权的结果。
使百度统计排除网站管理员的代码
//在wp_head添加百度统计代码,排除管理员
function banzhuti_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?345c3fd09e86afgh56fdf87b1hh8";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm,s)})();</script>';}
}
add_action('wp_head', 'banzhuti_wp_head');
WordPress添加自定义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生成的页面。
推迟加载百度统计代码的第三步,使用Perfmatters插件设置推迟加载名单
记得点击底部的“保存更改”按钮!
可以从本站下载Perfmatters汉化中文版【Perfmatters汉化中文版|轻量级WordPress优化加速插件介绍】
以上设置后,百度统计代码只有在用户交互后才加载(如用户一直未进行任何操作,10秒后自动加载)。用户交互是指:翻动了页面、移动了鼠标等任何操作。这样一来,统计代码对于网页的加载速度绝无半点影响。
注:如果使用了WP Rocket缓存插件的用户,在文件优化设置中,有同样的功能(JaveScript延迟执行)。
可以从本站下载WP Rocket汉化中文版【WP Rocket完美汉化中文版|WordPress网站缓存优化加速专业插件介绍】
总结
经过以上的最终优化后,百度统计代码不再影响任何页面的性能,同时对SEO友好,而且还不会将管理员的日常访问纳入统计。
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容