为WordPress统计插件CyStats增加对百度的支持

分类:代码, 博客, 资源 标签:

近日WordPress运行甚慢,而且出现的问题是“未登录网站打开速度很慢,而登录之后网站打开速度很快”,最后分析原因是使用的统计插件StatpressCN引进的故障,停用此插件之后,未登录用户也可以很快打开页面。然后采用了CyStats这一统计插件,不过这个插件已经有段时间未更新了,而且未能支持百度搜索过来关键词,因此增加一些代码,使得CyStats支持百度引导过来的关键词。

首先找到extractSearchwords函数,这一函数位于systats.class.php中,给$searchhosts增加:

‘baidu.com’ => ‘wd’

Google搜索过来时由于直接采用的是UTF-8编码,而Baidu搜索采用的编码多是GBK编码,要从引导网址中提取搜索关键词必须进行正确的编码转换,这里直接使用mb_convert_encoding进行转换,增加了一个cnhup_conv2utf8函数,具体代码如下:

function cnhup_conv2utf8($str) {
   if (function_exists("mb_convert_encoding")) {
      return mb_convert_encoding(urldecode($str),"utf-8","UTF-8,CP936,EUC-CN,BIG-5");
   }else {
      return $str;
   }
}

注:此函数放置在类定义之外,否则调用时应该采用
$this->cnhup_conv2utf8

最后,在extractSearchwords函数中,大致就是

extractSearchwords函数中$searchhosts变量定义完后的几行,修改一行代码:
//$query_parts = urldecode( $query_parts[0] );
$query_parts = heart5_conv2utf8( $query_parts[0] ); //使用正确的编码转换



分类:代码, 博客, 资源 标签:

One Response to “为WordPress统计插件CyStats增加对百度的支持”

  1. 三秦  on 十一月 21st, 2010

    支持一下,以后常来!


发表评论

You must be logged in to post a comment.