互联网服务 2012 年 11 月 10 日

禁止百度统计、Google Analysis统计自己的访问

这篇文章提到了在网站统计数据中避免自己的访问对结果造成干扰的方法。作者在WordPress Codex中找到了current_user_can()函数,通过在输出统计代码时加一个判断,实现了对普通用户的统计,而管理员或其他可编辑帖子的用户则不会被计入统计数据。最后,作者展示了不同用户访问时的统计结果。
今天查看百度统计数据时无意中发现有不少流量是自己访问产生的。由于我每次写文章的时候都会预览十几次,这些访问也都算进去了,导致统计结果非常不准确。
visit statistics
如果代码能够针对不同用户决定是否启用统计就可以避免这种情况了:普通用户访问的页面包含统计代码,如果是管理员或其他可以编辑帖子的用户登录就包含统计代码。
在 WordPress Codex 翻了一遍,发现_current_user_can()_这个函数可以实现这个功能,在输出统计代码时加一个判断就行了:
<?php if(!current_user_can( 'edit_post' )) { ?>   
    //百度、Google等统计代码  
<?php } ?>  
实现后不同用户访问的统计代码输出:
user with edit permission
normal user