在我的网站上,我需要记录一些有关访问者的数据,但重要的是我只记录人类访问者而不是任何机器人,尤其是坏机器人并且自动记录(验证码等不是一种选择)。
现在完成的方式是运行一个 JS,它动态添加一个运行数据记录的新 JS(它实际上运行一个 php 服务器端脚本,该脚本执行一些工作并返回一个 JS 代码)。这个解决方案的问题是所有图像都是在 JS 之后加载的,它会使已经很慢的站点减慢 0.5 秒到 1.5 秒(取决于站点和服务器负载)。
在背景图像中使用像素(在 CSS 文件中设置)是一种好习惯吗?
这种方式实现:
- 更快的页面加载
- 机器人被忽略(假设机器人不加载 CSS,如果它们加载则不加载 bg 图像,并且对于像谷歌这样的合法机器人,使用 robots.txt 阻止访问)
其他解决方案非常受欢迎。
它看起来像这样:
<div id="pixel"></div>
CSS:
#pixel {background: url(/nobot/somephp.php); width: 1px; height: 1px;}
机器人.txt
User-agent: *
Disallow: /nobot/
另一个问题,
我可以依赖坏机器人不会加载背景 CSS 图像的假设吗?
我知道有很多关于机器人的线程,但找不到任何最新的并谈论这个。