StatPressCN,1.7.1.0版本

功能开发:

  1. 增加了对ip进行命名的功能,这样可以对那些使用固定ip的访问者进行标记,可以在统计界面中直观显示;请在选项页面使能,默认是不显示这个子功能菜单的;
  2. 后台统计结果显示中如果有来访者名称则显示,更直观;
  3. 在侧栏小工具中增加了对blog文章、评论、留言者数量的统计
  4. 丰富了移动来访的定义规则,新增了对LG手机的支持;增加了两个spider规则定义;增加一个Google Cache的规则。

代码改进:

  1. 对于纷纷反映的feed统计不准问题,通过恢复时间函数解决;
  2. 修正了手动编辑保存spider、banip、defip数据时自动删除最后一行的错误;
  3. 忽略掉对/wp-includes的访问记录。

下载升级:

  • 请到wordpress官方插件网址下载最新版本,ftp到服务器上去;
  • 或者,如果您的wordpress是2.7版本以上的,那就耐心等段时间(大约几个小时吧),管理后台会自动提示升级的

开发笔记

用户提了好久了,一直没时间实现,这两天终于抽时间弄好了,测试了再说吧。

StatPressCN,1.7.0.3版本

功能开发:

  1. 添加404页面子菜单,显示没有找到结果(可能是blog链接错误,也有可能是浏览者输入了错误的网址,或者是恶意访问,比如hacker)的访问记录,一方面提高统计准确度(去掉了无效访问),另外还可以给高级用户提供网站的全面被访情况,方便作出应对(比如可以把某些恶意访问的ip拉入禁止ip清单中);更新了统计规则,不再处理404页面访问,统计结果更精确;
  2. 对子菜单进行梳理,简洁化,默认不再显示export、banip、spider、update,这些功能模块作为高级功能,如果需要,可以在option中选择启用;
  3. 在统计系统升级中增加了对404访问记录的处理,可以选择全部删除之;
  4. 对搜索功能进行丰富,增加了一个维度,可以查询更多的信息;
  5. 丰富了移动来访的定义规则,新增了对联想(Lenovo)手机的支持。

代码改进:

  1. 调整StatPressCN插件挂入的地方,原来是send_header,现在调整为template_redirect,解决了404页面无法判断的问题;
  2. 给统计数据库增加了一个字段statuscode,记录http的返回码,比如404;对每次访问的记录都会提前检查数据库结构,因为改变了数据库结构;
  3. 修正了对帖子id的判断方法,可以正确识别文章标题中包含中文等字符的链接并正确显示;
  4. 忽略掉对/wp-comments-post.php的记录,这个是留言时自动调用的管理函数页面。

下载升级:

  • 请到wordpress官方插件网址下载最新版本,ftp到服务器上去;
  • 或者,如果您的wordpress是2.7版本以上的,那就耐心等段时间(大约几个小时吧),管理后台会自动提示升级的;
  • 提示升级至本版本会影响数据库中的数据记录

开发笔记

在检测404页面访问的时候花了n长时间都无法获得准确的数据,明明页面不存在,但http的statuscode却显示为200。后来仔细查阅了很多资料都不得其法,最后还是参阅了mystat的代码才找到了合适的入口,那就是template_redirect,也即是模板主题文件调用前。如果有时间还是需要把wordpress的运作机制彻底弄懂。

对非常规(可能合法也可能不合法)的页面访问很重要。原来一直想开发一个功能,能自动禁止那些恶意访问,比如对后缀名mdb文件的访问(明显是想借助某些漏洞拿到me的数据库嘛),但这个功能实现的前提是能判断页面是否被正常访问了。wordpress有自己的机制处置这些问题,那就是is_404()函数。这个大问题解决后就可以构建自动防护系统了。

统计插件的易用性也是个重要考量的地方。这次把高级功能默认不显示,对新手来讲应该是个好事。他们本来不需要、也不想了解那么多后台底层的事情的。

数据库中数据的平滑顺接也是个问题。这次改变了数据库结构,只好在每次登入数据的时候都检查下数据库结构是否是最新的,也算是升级的一种代价吧。

中国处理互联网流量的特殊方式

# 来自中国的访问

由于中国处理互联网流量的特殊方式,Google Analytics(分析)可能会漏掉一些来自中国的访问量。 虽然这个问题不是 Google 或 Google Analytics(分析)所特有的,但我们高度重视这个问题并且正在努力寻找解决办法。 由于在此期间这种漏报情况会持续发生,所以您可以继续使用 Google Analytics(分析)为您的网站分析总点击量趋势和模式。

通过为什么 Google Analytics(分析)不跟踪我的网站? – Analytics 帮助.

GFW的问题不是技术能解决的。不管Google如何努力,估计都找不出解决办法。

StatPressCN,1.7.0.2版本

功能开发:

  1. 添加卸載功能;
  2. 对选项页面重新排版,按照类型归类显示:前端设定、后台设定、系统设定;
  3. 丰富了移动来访的定义规则,新增了Google的两个mobile搜索;
  4. 修正了初次安装时lastmonth显示错误的bug,感谢Lucky朋友的提醒。

代码改进:

  1. 更新了部分本地化语言。

下载升级:

  • 请到wordpress官方插件网址下载最新版本,ftp到服务器上去;
  • 或者,如果您的wordpress是2.7版本以上的,那就耐心等段时间(大约几个小时吧),管理后台会自动提示升级的;
  • 提示:升级至本版本不会影响数据库中的数据记录。

升级需做:

  • 无。

开发笔记

lastmonth的错误原因在于没有考虑关键点、变化点的处置,一般来讲,变化点会出现在首次安装使用,月份变迁、年份变迁,停止使用等。这些时候,都要认真评估可能产生的影响和变化,否则就会犯错。

卸载功能的提供是为了做一个负责任的、真正方便使用者的插件。可以做到完全不留任何垃圾数据的卸载,可以通过设定清理掉option中的所有相关数据,甚至包括整个统计数据表都可以被drop掉,干干净净,彻彻底底。感觉将来有一点,wordpress会规范卸载功能的,而不像目前这样,随大家的意思来,可以做也可以不做,对用户不好,因为会莫名其妙的留下一下垃圾,并且几乎没有机会清除掉。

StatPressCN,1.6.9.9版本

功能开发:

  1. 在朋友来访栏目中为朋友添加头像(gravatar),更直观;
  2. 增加了对朋友留言情况的统计显示,总留言数,最近一次留言时间和内容;
  3. 增加对朋友总访问数的统计显示;
  4. 丰富了详情中的内容,增加了直接点击发邮件给朋友的功能。

def规则:

  1. 搜索引擎数据定义:新增了对Google mobile的支持,www.google.cn/m;lai79的识别,www.lai79.com;
  2. 爬虫数据:北大学生爬虫的识别,PKU Student spider。

代码改进:

  1. 更新了部分本地化语言;
  2. 修正了对sharethis识别逻辑;
  3. 彻底解决了朋友中仍显示垃圾评论者的问题。

下载升级:

  • 请到wordpress官方插件网址下载最新版本,ftp到服务器上去;
  • 或者,如果您的wordpress是2.7版本以上的,那就耐心等段时间(大约几个小时吧),管理后台会自动提示升级的;
  • 提示:升级至本版本不会影响数据库中的数据记录。

升级需做:

  • 在StatUpdate(统计升级)中任何选项都不需要选中,执行一次升级(就是点那个升级按钮),作用是清理垃圾评论者的访问记录。

开发笔记

对于sharethis的逻辑判断经检查还是出了问题,应该分两层:先判断querystring中是否包含akst_action字样,如果有的话还要看是否包含了p=90之类的链接符号,后者说明blog没有设置永固链接,需要从querystring中提取出文章链接;如果仅包含akst字符串,则放弃querystring,转用requesturi。【换了种思路解决问题简单好多,还有效率也有很大提升,那就是先判断?后是否有p=99之类的硬链接,有的话就提取,并根据是否设定了永固链接获得permalink后存入数据库,如果没有则只取?前的部分直接存入数据库,判断提取语句如下:preg_match(“@(p=\d+|post_id=\d+|page_id=\d+)@”,$urlRequested,$matches)】

wordpress在2.7以上版本中是默认支持gravatar的,用法其实很简单,就是调用get_avatar($email)就ok了。如果要全面,可以加个判断版本低的话直接调用img src,用链接直接调用。

<span>在css中还是比较好用的,一连串的span不会像p那样自动换行。

单复数的问题用?符号最好处理:print $commentleft.” “.($commentleft>1?__(“comments”,”statpresscn”):__(“comment”,”statpresscn”));

在判断是否垃圾评论者的逻辑上,分析如下:先允许所有评论者进来,让Akismet进行过滤,让管理员对首次留言者进行审核,然后再显示朋友来访时再判断是否是正常的朋友留言或访问,通过手动统计更新清除那些垃圾评论者的访问记录(这个应该设定成自动)。