揭秘谋杀用户体验的隐秘杀手:网站验证码

时间:2022-08-23 10:41:36

提升用户体验的方法有很多,在这里我们不谈UI、不谈WPO、不谈购物流程,我们只说一个大家经常忽略的小细节:

——网站验证码

大家都知道验证码是重要的交互方法,用来防止网站的表单被滥用,尤其是被软件机器人滥用。只要你的网站开通了评论、发帖等互动功能,机器人就能找到表单自动填写表格然后发出去一大堆广告或者欺诈信息。机器人不会自己填写验证码,从而无法滥用表单。

但验证码会带来不少麻烦:

首先,验证码会让用户感觉到不受信任

当你访问网站,遇到验证码,相当于有人在问你:“你是机器人吗?”或者“你是不是想来这儿发垃圾信息的?”。就好像你来俺家开的商店,你刚一进门我就问:“你是小偷么?”,你会感觉很爽么?

现在几乎所有网站都充斥着这种不尊重、不信任用户的验证码,大家居然习以为常,这不是很荒谬的一件事么?

第二,验证码造成转化率降低

国外的凯西亨利在4年前对验证码做过一个测试,他发现,如果验证码关闭了,的确会带来一些垃圾信息,但在该步骤的转化率会增加3.2%。

可不要小看这区区3.2%,亿推给您举一个例子:在有验证码的情况下,用户转化率20%,如果有验证码提升到23.2%,那么潜在销售额提升了多少呢?

可不是 23.2%-20%=3.2%

而是 (23.2%-20%)/20% = 16%

也就是你的营业额可能因此提升16%,这可不是一个小数字了。

第三,验证码会给用户造成挫败感

我们看看下面一些坑爹的验证码效果

揭秘谋杀用户体验的隐秘杀手:网站验证码

揭秘谋杀用户体验的隐秘杀手:网站验证码

揭秘谋杀用户体验的隐秘杀手:网站验证码

上面的验证码,我需要带着放大镜仔细看,还不一定能保证100%正确输入。

 

斯坦福大学的调查数据:

– 网站验证码平均耗时9.8秒

- 如果是音频验证码,耗用时间超过28秒

- 第一次输错验证码的比率接近30%

- 接近20%的连续三次输错验证码的用户愤怒的离开

如果你想用户感到迷茫、挫败、愤怒的话,那么就大量的使用验证码吧。

第四,验证码会带来网站性能问题

普通的验证码,往往会被机器人破解,所以很多网站采用了外部插件来调用验证码。有的时候用JS代码,有的时候用iFrame,这些都会带来速度问题。

速度有时是生死攸关的大事,如果我用一秒钟时间打开你的网页,然后用3秒钟等待验证码刷新,你说我会不会掉头就走?

验证码的诞生,是为了判断表单提交者是不是机器人,相当于是一个图灵测试。但对于真正的访客,验证码所体现出来的不信任、不尊重用户的傲慢态度,已经大大超过了其积极意义。更何况,部分用户视力不好,部分用户没有耐心,这些都是验证码解决不了的。在某种程度,验证码没有解决问题,反而带来了更多问题。

上面的道理,可能很多站长都懂,但似乎滥用验证码的情况并没有改善,并且愈演愈烈。为了解决垃圾信息的问题,站长选择了验证码这种最简单直接,但容易得罪用户的方式,这是啥?亿推海外推广认为,这是懒惰!

有没有解决方案呢?当然有!笔者谈谈自己的经验:

方法一: 使用访客行为分析程序而不是验证码来判断是否机器人

有一些插件,比如在Wordpress上经常使用的Akismet,可以通过IP频率、Cookies等信息判断机器人。AKismet不仅仅用于wordpess,还可以安装在企业网站甚至电商网站上。

道高一尺魔高一丈,已经有针对Akismet的机器人出现了,但这么做起码可以避开大多数机器人,并且远离坑爹的验证码。

方法二:使用诱饵表单项

这个技术很简单,就是在你的表单里面,放一个单行文本框,文本框内写着:如果你不是机器人,请删掉这行数据。

机器人来了,肯定不管三七二一直接提交。那么我们在后台判断,凡是填写了表单的访问都是机器人,凡是删除这行数据的人都是访客。

这个方法的优点在于,不需要用户填写验证码了。缺点在于,用户还是需要手动删除一行数据,但这总算相对轻松很多吧。

诱饵技术还有一个变种,就是用隐含文本框,里面什么内容都不填写。一些初级的机器人,只要见到表单都会照例填写一些东东进去,而用户看不到表单自然也不会填写。这个方法比上面的更简单,但只能防住比较笨的机器人。如果我们稍作改造,就可以防住不少聪明机器人,比如我们的诱饵表单不是固定的,而是随机生成的,那么机器人的难度会高很多。

方法三:将验证码和用户正常数据结合在一起

比如用户信息中,有一个必填项是性别。当用户填写性别的时候,跳出两个选项:

我是帅哥(传递一个隐含变量 100981)

我是美女(传递一个隐含变量 283397)

第二次访问的时候,跳出两个选项

我是帅哥(传递一个隐含变量 997301)

我是美女(传递一个隐含变量 000981)

你可以随机生成几十组这样变量对应表,每60分钟该表格自动更新一次数据。首先机器人无法判断每次需要正确传递的变量。如果某个不怀好意的垃圾制造者用遍历法分析了你的代码找到了对应关系,然后做出新的机器人,他也不可能每小时来遍历一次。

这个方法的好处在于,用户丝毫感觉不出来这是一个验证码,而机器人则束手无策,即使有垃圾制造者人工参与,破解的难度也很大。这个方法是否十全十美呢?非也。如果某个垃圾制造者专门针对你的网站做个机器人,先获取表单数据,然后再Post数据,就顺利过关了。为了防止这种情况,我们可以用java或者ajax技术来展现选项,对方改造机器人的成本也会增加很多。

世界上没有十全十美无懈可击的解决方法,但对所有关注用户体验的站长或者网站推广人员,小编给予一个忠告:别小看验证码,别将防范垃圾信息的问题转嫁到用户身上,验证码有的时候不仅没有帮你解决问题,反而带来更多的问题,而这一切都几乎不被站长察觉。摆脱验证码系统,能够改善用户体验,并直接提升转化率。