awlatestsearches模块

对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分类: 

搜索引擎的查询结果中,你排名第几?: 一个有趣的模块及修正

发现了一个很有趣的模块,出自于编写awTags的[自动巫师|http://www.autowitch.org/blog]之手。刚刚浏览[inertia的blog|http://heterotopias.org/node/619]时发现他在讨论这个模块,也十分好奇,就装上看看。这个模块可以列出从五大搜索引擎(Google, Yahoo, MetaCrawler, Altavista and MyWebSearch)通过搜索结果进入你的网站的访客搜索时使用的关键字,如果你在那个关键字的搜索结果中排在第一位,那么结果的前面就会用一个“*”表示。譬如根据我网站右上角的那个block的显示,我的blog在“李广利”,“李陵”,“唐朝地图”,“川菜谱”等几个关键词的搜索中列搜索结果的首位。 由于作者在编写这个模块的时候主要考虑到的是西方语言的用户,所以在显示中文的结果时会出现乱码,[inertia|http://heterotopias.org/node/619]似乎也遇到了这个问题,其实在作者最早发布awTags模块的时候也出现过一个类似的语言问题,不过和那个相比,这个问题简单的多,只需要略加更改一下模块最后一行的代码即可,更改如下: 更改为: 呵呵,忘记说了,这个模块的名字是awLatestSearches,可以在[这里|http://www.autowitch.org/node/4352]下载到。
Blog分类: