如何跟踪所有网站活动和过滤网络数据的机器人
-
18-09-2019 - |
题
我登录网址,推荐码,会话,时间等做的浏览量非常基本的跟踪,但发现它变得与机器人(谷歌,雅虎等)轰击。我不知道一个有效的方法是过滤掉或无法登录这些统计数据是什么?
我已经尝试用机器人的IP地址列表等,但这并非万无一失。
是否有某种的robots.txt,htaccess的,PHP服务器端代码,JavaScript或其他方法(或多个),可以“特技”机器人或忽略非人类相互作用的?
解决方案
我想补充 - 您可以在界面中使用的技术是使用Javascript功能来封装,导致某些用户交互视图/计数器递增的行动,一个非常基本的例子,一个机器人会(能)不跟随:
<a href="javascript:viewItem(4)">Chicken Farms</a>
function viewItem(id)
{
window.location.href = 'www.example.com/items?id=' + id + '&from=userclick';
}
要使这些点击更易于跟踪,他们可能会产生一个请求,诸如
www.example.com/items?id=4&from=userclick
这会帮助你可靠地跟踪了多少次的东西是“点击”,但它有明显的缺点,当然这真的取决于你想要达到的目的。
其他提示
这要看你达到什么目的。 如果你想搜索机器人停止访问某些路径/网页,您可以包括他们的robots.txt。大多数公行为机器人的停止击中他们。
如果你想机器人索引这些路径,但你不希望看到他们在报告中,那么你需要实现一些过滤逻辑。例如。所有主要的机器人有一个很清晰的用户代理字符串(例如Googlebot的/ 2.1)。您可以使用这些字符串,这些点击从你的报告进行过滤。
好机器人都将使用特定用户代理,所以你可以忽略这些请求。
但同时,如果你只是使用robots.txt和访问拒绝他们;以及,将工作太
不要redescover的WEEL!
此刻任何统计工具过滤机器人请求。您可以安装AWSTATS(开源的),即使你有一个共享的主机。如果你不会在你的服务器上安装一个软件,你可以使用谷歌分析在您的网页末尾添加只是一个脚本。这两种解决方案都非常好。通过这种方式,你只需要登录你的错误(500,404和403是足够了)。