模块: [模块] myReferer:跟踪您的引用者、搜索引擎、网络爬虫和关键词

发布者: solo71于2005/8/10 8:30:00 19882次阅读
狼工厂为宣布myReferer 1.0的发布而感到自豪。 缩略图 该模块将允许 Xooke 网站站长记录其引用者、网络爬虫和搜索引擎的访问和数据。它将收集用于到达其网站的所有关键词,并将自动显示到最常访问页面的字母顺序链接列表。您可以在 the wolFactory上查看该模块的示例。您还可以查看 字母顺序列表...特别感谢Marco为关键词部分的灵感,Marcan检查并使我的代码与php5兼容,Philou检查了模块的安全方面,以及所有在论坛中给予我代码提示的 xoopers。

Resized Image

附加说明

在编码此模块并在各种网站上进行了多次测试后,我必须做出一些可能不适合每个用户的决定。以下是一些

1) 关键词选择

在 'record.php' 文件中,关键词选择是通过一个过滤过程运行的

// 关键词分析器 //////////////////////////////////////////////////
    
$array explode(' '$query);
    foreach ( 
$array as $query ) {
    
$query strip_tags($query);

// 如遇到特殊字符问题,请取消以下代码注释。
// 注意:如果服务器不支持,此选项可能导致您的网站崩溃!
// $query = mb_convert_encoding($query, "", "auto");

// 检查关键词长度
    
$query_lenght strlen($query);
if ( 
$query_lenght $min AND $query_lenght $max ) {
// 如要删除除了'.'之外的标点符号
    
$query str_replace('.''xzy'$query);
    
$query eregi_replace("[[:punct:]]"," "$query);
    
$query str_replace('xzy''.'$query);
    

// 如要处理数字
//     $query = eregi_replace("[[:digit:]]"," ", $query);

// 将所有字符转换为小写并删除空格
    
$query strtolower($query);
    
$query trim($query);

// 结束关键词分析器 //////////////////////////////////////////////


最小和最大关键词大小设置在文件头部。

2) 目标页面记录

关于是否记录由搜索引擎、引用和通过关键词链接的每个目标页面,我们进行了长时间的讨论。我们最终决定不记录所有这些页面,而只记录最近访问的页面和最新查询/引用。这样做的主要目的是为了控制数据库的大小。此外,过多的结果可能会导致网站管理员在数据过载中迷失。

3) 记录操作

'record.php' 文件在每个页面上都被激活。为了限制数据库查询,以下情况下激活记录功能:

a. 引用页面的 URL 与当前站点不同,并且不是直接调用。
b. 如果引用包含关键词,则将其视为搜索引擎,并记录使用的关键词。
c. 检查访问者是否是机器人,其用户代理必须与 Mozilla 和 Opera 不同。

本控件可能产生错误。请告知我反复出现的错误,以便我调整代码。