Tracking 如何跟踪所有网站活动并过滤网络机器人数据

Tracking 如何跟踪所有网站活动并过滤网络机器人数据,tracking,web-crawler,robot,Tracking,Web Crawler,Robot,我正在通过记录url、推荐代码、会话、时间等对页面浏览量进行初步跟踪,但发现它受到了机器人(谷歌、雅虎等)的轰炸。我想知道过滤或不记录这些统计数据的有效方法是什么 我尝试过机器人IP列表等,但这不是万无一失的 是否有某种robots.txt、htaccess、PHP服务器端代码、javascript或其他方法可以“欺骗”机器人或忽略非人交互?机器人都将使用特定的用户代理,因此您可以忽略这些请求 但是,如果你只是使用robots.txt并拒绝他们访问;那也行。这取决于你要达到什么目标。 如果希望搜

我正在通过记录url、推荐代码、会话、时间等对页面浏览量进行初步跟踪,但发现它受到了机器人(谷歌、雅虎等)的轰炸。我想知道过滤或不记录这些统计数据的有效方法是什么

我尝试过机器人IP列表等,但这不是万无一失的


是否有某种robots.txt、htaccess、PHP服务器端代码、javascript或其他方法可以“欺骗”机器人或忽略非人交互?

机器人都将使用特定的用户代理,因此您可以忽略这些请求


但是,如果你只是使用robots.txt并拒绝他们访问;那也行。

这取决于你要达到什么目标。 如果希望搜索机器人停止访问某些路径/页面,可以将其包含在robots.txt中。大多数行为良好的机器人将停止攻击它们


如果您希望机器人为这些路径编制索引,但不希望在报告中看到它们,则需要实现一些过滤逻辑。例如,所有主要的机器人都有一个非常清晰的用户代理字符串(例如Googlebot/2.1)。您可以使用这些字符串从您的报告中筛选出这些点击。

不要重新定义weel


目前任何统计工具都会过滤机器人的请求。即使您拥有共享主机,也可以安装AWSTATS(开源)。如果你不想在你的服务器上安装软件,你可以使用Google Analytics在你的页面末尾添加一个脚本。两种解决方案都非常好。通过这种方式,您只需记录错误(500、404和403就足够了)。

只需添加—您可以在界面中使用的一种技术是使用Javascript来封装导致某些用户交互视图/计数器增量的操作,对于一个非常基本的示例,机器人将(不能)遵循:

<a href="javascript:viewItem(4)">Chicken Farms</a>

function viewItem(id)
{
    window.location.href = 'www.example.com/items?id=' + id + '&from=userclick';
}

这将帮助您可靠地跟踪某个东西被“点击”的次数,但它有明显的缺点,当然,这确实取决于您试图实现的目标。

看看这里:他们有一个搜索机器人使用的用户代理字符串的良好列表。我希望机器人像往常一样访问所有页面,因此用户代理可能是最简单的过滤方法。是另一个来源,我想这些仍然需要定期更新和简单的过滤方式。我已经在使用awstats和Google Analytics,但需要一些替代选项,因为Analytics在显示统计数据时会延迟1天以上,我想跟踪其他工具没有提供的更具体的活动。大多数机器人遵守机器人文本,但其他人忽略它们,我也希望机器人索引页面,但不是我的脚本。用户代理还需要完整的列表和更新来保持准确?使用此技术的主要缺点是,禁用JavaScript的用户无法访问侵入式JavaScript和内容。但是这可以很容易地用更易访问的代码来解决,然后有两个跟踪系统——使用JavaScript的访问和不使用JavaScript的访问。有没有机器人,就可以通过用户代理进行过滤…@Peter-不,他们不能使用Javascript,而且它具有侵入性,不利于搜索引擎优化。我只是觉得有必要指出这种技术,因为我知道开发人员使用它来隐藏大量的链接,以防止谷歌将他们的页面标记为“spamdexes”@Peter-…而我自己并没有这样做:)
www.example.com/items?id=4&from=userclick