对awLatestSearches的进一步修改

呵呵,其实对awLatestSearches稍加修改可以增加不少的其他有趣的功能,譬如添加其他搜索引擎的搜索结果,举个例子,如果想添加百度的搜索结果,只需要在原来的代码上添加
...
#Baidu
else if (strpos($refer->url, 'ttp://www.baidu.', 1) == 1) {
$count++;
$link = $refer->url;
$text = preg_replace('/^.*?p=/', '', $refer->url);
$text = preg_replace('/&.*$/', '', $text);
$text = _awLatestSearches_cleanupText($text);
if (strpos($link, '&start=') === FALSE &&
strpos($link, '&b=') == FALSE)
$firstPage = TRUE;
else
$firstPage = FALSE;
$output .= 'Baidu: ' . (($firstPage) ? '* ' : '') .
l($text, $link) . '
';
}
?>
就行了。其他的搜索引擎也可以类推,只要稍微改动搜索引擎的地址即可,但是这样更改后,结果的排序就不准确了,因为作者判断排序的变量 $firstpage 是根据google的搜索结果url来判断的,对百度的判断可能不准确。

其实进一步,对这个模块稍微修改一下就可以得到你的网站在搜索引擎(特别是google)的排名到底在第几页,原理也很简单,根据 $firstpage的定义方式,定义 $secondpage, $thirdpage等等,或者直接定义一个 $nth_page 变量,判断结果的排在第几页。

可惜的是我无法一试了,上次设置cron任务的出错的时候,我的Drupal的数据库中的accesslog表发生了错误,虽然后来用 MySQL的repair指令进行了修复,但是似乎不能写入最新的“访问记录”了,所以我的右上角的“Latest Incoming Search”其实是几天前最新的搜索结果,最近一两天的结果由于accesslog表的问题,其实是无法显示出来的,呵呵,还是重新检查一下数据库最关紧:)

Blog分类: