在Google上搜索“Alexa”,简体中文的结果有7万多条。现在,“Alexa排名”已经是国内网站的站长们嘴边最常挂的单词。那么,这个Alexa是干嘛的?它凭什么令国内网站侧目?Alexa有哪些鲜为人知的秘密?本报记者通过深入调查和采访,努力为读者还原一个真实的Alexa,其中很多信息是首次在媒体上披露。
出卖Alexa
写下这个题目,记者还怕有欠妥之处,仔细回想连日来的调查采访,给记者设置迷障的网站,向记者提供帮助的朋友,还有记者自己,都对Alexa投入了极大热情,从某种意义上说,我们也是在共同“出卖Alexa”。
前些天,北京某周刊刚发布了“中国商业网站100强”排行榜,当然,这个排行榜本身就少不了“商业”的味道,但其中对某些网站做介绍时,该媒体竟然又引用了另一个排名数据来说明这些网站的价值,这个被“中国商业网站100强”排行榜引用的排名就是“世界著名的第三方测评机构——美国Alexa”的全球网站排名。当然,该媒体对这个Alexa排名的引用,无非是为了说明其“中国商业网站100强”排名的权威性。而以另一个“权威”来树立自己的“权威”,恰恰说明了该媒体对另一个“权威”——Alexa排名的认可。
Alexa是谁?
1996年4月,Alexa在美国创立,那时它只是一个小网站,主要做分类导航。在那时候,很多网站都是雅虎的Fans,Alexa只是众多跟风者中的一员罢了。但Alexa自己也有一些技术,就是对访问某个Web站点的流量进行统计和分析。后来,Alexa还向网民提供自己开发的搜索引擎服务。
1997年7月,Alexa发布了一款软件,就是现在著名的Alexa Toolbar(Alexa工具条),这是一个嵌入到微软IE浏览器中的工具,它在用户访问每个Web页面时都向Alexa发回一串代码,将该次浏览的相关信息告诉Alexa.而用户会在该工具条上看到其浏览的网站在全球所有网站中的排名信息,当然,这只是Alexa给出的网站排名。
1999年,Alexa被美国电子商务旗舰企业“亚马逊”收购,成为后者的全资子公司。
2002年春,Alexa放弃了自己的搜索引擎,转而与Google合作。Google遍及全球的Web爬行程序构造了一个巨大的页面信息数据库,这极大地丰富了Alexa自身的URL网址数据库。同时,Alexa也偷偷地放出了自己的爬行程序,在互联网上搜寻未知的网址。经过多年积累,Alexa的URL网址库已存储了400亿网址信息,超过了Google等搜索引擎,成为互联网上最全的网址信息数据库。Alexa数据库的每日平均增量高达1TB,每两个月就能对数据库进行一次全面更新。
现在,Alexa工具条在全球的“装机量”早已上千万,而Alexa主要的工作就是基于遍及全球电脑用户桌面的工具条返回的信息,对全球网民的浏览习惯进行监测,并开发和销售各种相关产品。其中,有最长达10万个网址的全球网站排行榜,有针对某些特定行业网站的排行分析,有针对个别网站定制的网站流量监测报告。Alexa还提供了很多免费的基本信息,比如“全球网站500强”,还有“简体中文网站100强”,网民们可以在Alexa上单独查看关于某个网站的排名历史变化图,甚至还能同时对最多5个网站的流量及排名等数据进行直观的横向对比。
尽管Alexa在其网站上提供了非常多有价值的信息,但其真正赖以成名的还是那个被四处引用并被媒体多次炒作过且引发了巨大争议的全球网站排名。按照Alexa网站上的“官方声明”,Alexa公开的那份全球网站总排名是通过收集所有Alexa工具条返回的信息,经过计算得出的综合排名。从这份“官方声明”中,我们不难看出,影响Alexa排名的因素是两个,一是Alexa采集的信息,二是Alexa对这些信息进行深加工的计算方法。
在Alexa网站上,人们可以针对某个特定网址去查询其所属的网站的访问人数,Alexa提供了一个叫做Reach per million users(每百万用户访问人次,简称Reach)的数据来表示访问人数,这个数据指的是每一百万个Alexa工具条用户中每天访问某一网站的平均人数。比如,2004年11月3日,google.com的Reach值为178,500,就是说,这一天里,每一百万个Alexa工具条用户中就有近18万人访问过google.com.仅有访问人数,还不足以反映一个网站被网民浏览的情况,Alexa还提供了另一个数据来反映到访的网民对特定网站的使用率,这就是PageViews per user(每用户浏览页面数,简称PV)。某网站的PV值是每天所有访问该网站的Alexa工具条用户在该网站上浏览的总页面数的平均值,而同一人对相同页面的重复浏览在每天只计作一次。还以2004年11月3日google.com的访问数据为例,这一天,google.com的PV值是4.0,也就是说,来访的网民们平均在google.com网站上浏览了4个页面。
有了Reach和PV这两个数据,Alexa就可以给全球网站按综合流量进行排名了,它把网站的这个排名称作Traffic Rank(流量排名,简称Rank),据Alexa在其网站上的解释,决定这个Rank的就是Reach和PV的几何平均数,也就是两者乘积的平方根。显然,一个网站的Reach和PV值越高,其Rank也越高。仍以google.com为例,其4.0的PV值在一般的网站来说并不算高,但是,由于Google搜索引擎的用户非常多,其Reach值远高于一般的网站,就使得google.com的Rank达到3,也就是说,google.com当天的全球排名是第三位。而全球排名最高的网站是yahoo.com,其Reach和PV值在全球网站中都是相对很高的。
利用与怀疑
每时每刻,全球每个安装了Alexa工具条的计算机终端都会向Alexa汇报该终端在互联网上的访问情况。根据这些信息,Alexa每天都会对全球网站的排名做重新计算,也就是说,Alexa排名是每日更新的。因为几乎全球所有的网站都在Alexa的监测范围内,而这个每日更新的排行榜又显得过于直观,加之又是公开的随时可查的数据,就使得Alexa排名在很多场合都显得很敏感。
自2003年以来,国内互联网行业开始全面升温,曾经被资本们无情甩掉的网站CEO们又找回了昔日的感觉,但风险投资家们确实比上一次。COM泡沫时期精明了许多,网站要吸引投资,必须首先打消资本的顾虑,就算是已经上了市的网站,也需要给股东们一些明确的数据来表明自身的价值。就在这时,Alexa排名被介绍到了国内,虽然这个网站以前从未引起大家的注意,但是它提供的这个排行榜却很快显示出巨大的商业价值。
一些网站在向投资人递交商业计划书的同时,开始有意无意地提一下自己的Alexa排名,按照某种大家默认的逻辑,排在全球300名的网站总是比排在全球1000名以外的网站更有价值。终于,在“圈内人”的口口相传中,Alexa排名在中国互联网上名声大噪,而此时,远在大洋彼岸的Alexa却对它的中国Fans们一无所知。
当Alexa排名开始得到业界的普遍认可时,终于有人开始利用Alexa排名来创造“价值”了。大批个人网站的站长们开始研究Alexa的排名规则,网上开始流传各种针对Alexa的作弊工具,很多网站上开始刊登介绍Alexa作弊方法的文章,各种论坛里开始出现对Alexa排名的讨论。一时间,中国互联网业界刮起了“Alexa旋风”。
在2003年底,针对这股Alexa热,一些业内人士又开始质疑Alexa排名的可信度,并揭发出很多网站作弊的“内幕”。事实上,有相当多网民都对Alexa的排名表示过怀疑,因为在2003年的大部分时间里,Alexa排名上的全球第三和第四的网站是两个韩国网站,Alexa对此的解释是,韩国的互联网用户中安装Alexa工具条的比例较高,因此Alexa在韩国网民中得到的采样数据比较高,这就导致韩国的两家门户网站进入了全球前五名。
不过,Alexa的解释似乎越描越黑,因为Alexa工具条始终只有英文版,既没有中文版,更没有韩文版,如果要说工具条的普及率高,欧美国家应该首当其冲。有网友据此认为,韩国网站是靠作弊提升了网站排名,更有人认为,既然Alexa根本没有向亚洲国家推出本地化版本的工具条,亚洲国家就应该坚决抵制Alexa排名。
无论如何,从追捧到棒杀,业界对Alexa的关注一点儿都没减。进入2004年以来,照样有很多网站的站长们在绞尽脑汁地想把自己网站的Alexa排名“做上去”,而以前揭露过Alexa的炮手们也同样继续怀揣各种目的炮轰着Alexa.今年十一长假过后,国内网站在Alexa上的排名突然经历了一次大规模集体滑坡,各种谣言开始在网民中流传,一种比较流行的说法是,Alexa终于开始调整算法来反击越来越多的中国作弊网站,人们把这看做是Alexa的“正当防卫”,毕竟,一个以排行榜为最大卖点的网站赖以生存的就是它的排名的公正性。
各种传言都无法解决看客们对Alexa可信度的疑惑,因为国内主流媒体从未针对Alexa的技术进行过深入的分析和报道,而在下面的介绍中,读者可以看到,或许韩国网站排名过高另有原因,而所谓的Alexa作弊手段也不只是此前一些媒体报道的多次刷新那么简单,而且,Alexa也有自己非常高明的防作弊手段。不过,本文中所提及的作弊手段与网上随处可见的“作弊宝典”有本质的不同,所以,Alexa在多大程度上能抵御这种不常见的作弊方式也就很难说了。
Alexa工具条的DNA
要想彻底搞清楚Alexa排名是否可信,必须从技术上对Alexa的全球网站流量监测进行全面的解剖,当然,Alexa从来没有公布自己的技术细节,记者决定“以彼之道,还施彼身”,既然Alexa声称其数据来源就是那个工具条,记者决定首先从破解工具条入手。
受记者委托,圈内著名的Web技术专家小林,用了近一个晚上的时间,对Alexa工具条及其向Alexa返回的数据进行了细致的分析,得出了很多宝贵的第一手资料。多年前对Alexa就做过研究的小林认为,最近的这次分析揭示了一些Alexa更隐秘的技术细节。
小林告诉记者,现在最新版本的Alexa工具条的运作机理与以往没有太大的改变,每当用户以装有Alexa工具条的IE浏览器打开新页面时,Alexa的一台服务器(data.alexa.com)都会收到加密的数据包,这个数据包中的核心信息就是十几个参数,这些参数包括当前网页地址、页面打开时间、用户端显示分辨率、Alexa工具条版本号、该用户是否为“亚马逊”的用户等,其中有一个重要的隐含参数,经小林分析,认为是Alexa为每个已安装的工具条自动生成的ID号码,这个号码应该是全球惟一的。Alexa可以通过这个ID对每个反馈数据包的发出者进行惟一标识,这是解决PV重复计算问题和防止同一用户多次刷新作弊的一个重要手段。
小林告诉记者,从目前研究的结果来看,任何一个汇编高手都可以很容易地掌握Alexa工具条返回的数据包中的秘密,如果这个人同时也是一个网络编程高手,那么要针对Alexa作弊就比较容易了。从记者后来对一位上海的Alexa作弊高手的采访来看,小林的分析完全正确。该作弊者正是一位资深的Web开发工程师,其采用的手段与小林的分析也基本吻合——编写一个Alexa工具条返回码生成器,批量产生Alexa能够辨识的代码串,然后用虚拟多用户的方式发回data.alexa.com,这样就可以欺骗Alexa的服务器,让它误以为这些数据是不同用户发来的(征得该作弊者本人同意,本专题在最后公开了记者与该作弊者的网上聊天实录)。
小林认为,这种以编程方式模拟多用户访问的作弊方式的实现,最重要的环节就在于对那个Alexa用来惟一标识用户身份的ID号的生成算法的破解,这需要对足够多的Alexa工具条进行嗅探,抓取其数据包进行定量的算法分析。但小林同时也指出,这些工作对于一个编程高手来说,确实不算什么,只是最终作弊的实现仍需要模拟一个足够快的ID号生成程序,这可能会比较困难,不过据小林估计,国内能做这些事情的人不在少数,只是互联网这个圈子里的高手们很少去做罢了。
从以上的技术分析来看,Alexa的服务器每天所做的工作就是不断接收全球用户传回的数据包,提取其中的那十几个参数并写入专门的数据库,然后在某个特定时间对当天收集到的这些数据进行分析计算,并以新的计算结果去更新当日的网站排名。据记者观察,这个数据库的分析结果至少会保存三年之久,因为在Alexa网站上对每个网站的Rank排名变化趋势图最多能提供三年来的数据变化。
在破解了工具条的DNA之后,记者还与一些朋友探讨了Alexa工具条在全球的分布情况。按照Alexa的说法,工具条是它惟一的信息获取来源,那么工具条在全球用户中的分布也就成了另一个可以影响Alexa排名的重要因素。如果工具条真的是Alexa数据的惟一来源,可以想象,当中国网民都没有安装Alexa工具条的时候,新浪搜狐这样的门户网站恐怕在Alexa排名中都见不到影子,可是今年下半年以来,新浪和搜狐就已经紧随Google排在全球第四和第五的位置了,这似乎说明了Alexa工具条已经在中国具备了较高的普及率,否则,新浪、搜狐以及紧随其后的占领了Alexa全球500强中近1/3份额的中国网站就都有作弊的嫌疑。
幸好记者的一位朋友曹政提供了令人欣慰的数据。作为网站流量分析专家,曹政在www.tong123.com上为多达2000家国内各类网站提供长期的流量监测与统计分析服务。曹政的流量分析与Alexa的不同,Alexa不在被监测的网站上做任何事,而tong123.com对网站进行页面内嵌方式的第三方流量统计。受记者委托,曹政临时在其数据采样分析器里加入了对Alexa工具条的监测。经过一周的数据统计,曹政得出的结论是:访问www.tong123.com系统监测的2000家网站的所有用户中,Alexa工具条的安装率在1.5%左右。
就在发稿前,曹政还给记者发来了对这一结果的补充说明,他认为,由于tong123的系统采用累计平均值的计算方法,Alexa工具条的实际安装比例应该比现在得到的数据更高,因为这个监测项刚加进去不久。
由于tong123.com的监测范围是2000家各类网站,基本上排除了由于监测对象较少可能造成的用户选择倾向性,其可信度比较高。即使以1.5%这个被低估的安装率来衡量Alexa在国内用户中的影响,也已经十分惊人了,若国内互联网用户以总数9000万计算,则其中安装了Alexa工具条的用户可能已超过130万。按照Alexa声称的1000万左右的工具条全球下载总量来看,中国网民对Alexa的热衷似乎显得更为突出,这或许也可以作为国内网站今年在Alexa排行榜中整体排名提高的一个解释。
既然工具条的分布会从很大程度上影响Alexa的监测结果,那么Alexa的排行榜就可能出现很大的地域相关性,如果确实如此,Alexa的权威性就真值得怀疑了。事情远没有这么简单,在Alexa网站上,记者看到全球网站前10万名排行榜的报价是499美元,显然,在大洋彼岸,还是有人认可Alexa的排名数据,甚至会花钱去买那个排行数据。
莫须有的技术隐私
在Alexa各种公开的资料或是网友对它的讨论中,都没有人明确提出过Alexa除工具条以外是否还有其他能够获取公网流量的监测手段,而长期为多个著名网站提供技术支持的小林,通过对这些网站的日志分析,认为Alexa还有很多技术隐私。由于无法得到Alexa的官方回应,我们只好说这些可能被采用的技术手段是“莫须有”的。
为了进一步探寻Alexa的隐私,我们还要先看看Web浏览的过程。当用户打开IE浏览器,在地址栏中输入一串网址并回车后,一些包含了http请求的数据包就被发送出去,与其他流量一样,这些数据包也要经过用户所在内网的网关,被路由到公网,经过一个个电信机房,最终传送到某个提供DNS解析的服务器上,在获得目的网址的IP地址后再被放到一个可以最终路由到目的IP的路径上传送过去。从http请求的发送过程来看,如果Alexa对全球所有的DNS解析服务器进行嗅探,将有可能得到一份非常接近事实的全球http请求数据,由此就可以非常清晰地勾勒出哪些网站被哪些用户所关注。
不过,要嗅探全球的http请求,对Alexa来说几乎是天方夜谭。退一万步,即使Alexa能抓取到这些数据,它也不可能有以这些数据为基础进行计算的能力。但是,Alexa排名所显示出的一些“抖动”迹象似乎在告诉人们,除工具条之外,Alexa确实有使用其他技术手段的嫌疑。
2004年夏天,小林发现中国香港的网站排名出现异常的提升,像“太阳报”这样的小网站,居然能超过很多内地大网站的排名。由于电信网关和简繁体系统的原因,内地与香港网民一般是不做“跨地区互访的”,而香港网民安装Alexa工具条的绝对数也不会比内地用户高。从前文的分析和计算来看,内地网民中Alexa工具条的安装量恐怕比全香港网民的数量都不低,这样的情况下,香港网站在Alexa排名的普遍大幅度提升就显得毫无道理。
经过两个月的高排名期后,香港网站的排名开始逐渐回落,但至今仍有部分网站的排名高出其实际应处的名次。小林认为,这个现象与韩国网站在2003年出现的情况有很大相似性,而韩国的很多网站目前仍有偏高的排名。这种现象如果用Alexa工具条的普及率来解释是不合情理的,但如果用Alexa增加了其他采样机的说法来解释,就很容易说得通。
据小林推断,Alexa可能在全球不同地方设置了一些采样机,通过与一些电信机构进行或明或暗的合作,甚至在临近电信网关的节点进行网络嗅探,得到一些“弥补性”的采样数据。而寻求这些采样数据的目的恰恰是为了照顾Alexa所认为的“工具条低安装率”地区的抽样效果。打个比方,如果Alexa认为韩国互联网已经非常普及,而韩国用户却一直没有安装Alexa工具条的习惯,它就可能会设法在韩国安插一些采样机,以弥补在韩国用工具条采样的不足。同样的情况,也可能导致香港在刚刚设置采样机时网站排名的猛增。而经过一段时间的考察,Alexa就会逐步调整在每个地区的采样数量,以得到它所认为的最合理的结果。
甚至小林还认为,今年内地网站排名的大规模提升也有采样机在作怪,而国庆后内地网站排名的普遍下降也许就是因为Alexa在经过一年的考察后,重新调整了在中国内地采样比重的结果。
当然,Alexa要维护其排名的权威性和公正性,不仅要完善流量数据的采样过程,更要在防止作弊方面做出巨大努力,那些防作弊的技术也都是Alexa的不宣之秘。那么Alexa到底是用什么办法来防止作弊呢?事实上,对于前文中记者提到的以编程模拟Alexa工具条返回数据包的作弊方式,Alexa几乎没什么好办法去防范,甚至要探测到这样的作弊手段都比较难。
其实,对于现在网上常见的作弊手段,Alexa都已经有了足够的免疫力。一般来说,由于现在多数搜索引擎都无法处理JS脚本,所以针对搜索引擎的作弊往往都是用JS脚本编写恶意代码来实现,而Alexa和Google采用的爬行程序则是目前仅有的可识别JS脚本的此类程序。
小林在对几个大型网站的流量监测中发现,Alexa启用了一个叫做IA_Archiver的机器人程序,这个机器人程序类似Google等搜索引擎使用的蜘蛛程序,专门在互联网上爬行,刺探每个Web页面的流量信息。尤其是当某个网站的流量超过Alexa设定的阈值时,IA_Archiver就会马上爬到该网站的服务器上,分析此网站的流量是否正常,有没有作弊行为。据小林对IA_Archiver的监测,该机器人程序已经可以识别大部分基于网站服务器端的流量作弊行为。但现在业内对IA_Archiver的认知普遍不足,记者也只是在Alexa网站的一个帮助页面上看到有关IA_Archiver机器人程序的简单介绍,而国内知道这个机器人程序的人不多,更缺乏相关的技术研究。
信任Alexa?
针对Alexa排名的可信度,不同的人有不同的看法,从事Web技术研究与应用的业内人士多倾向于这样一个说法:Alexa排名不一定是绝对准确的,但却是相对可信的。下面记者举出的一些例子,将从不同方面对Alexa排名的可信度进行对比。
必须承认,尽管Alexa用很多技术手段提高了网站流量监测数据的有效性,但由于其固有的一些技术上的瑕疵,难免使少数网站的排名结果出现一些问题,尽管这些问题在很大程度上要归咎于网站域名结构的不合理性。
比如,Alexa排名是针对URL地址的,并没有考虑IP地址的因素,这在很大程度上降低了Alexa排名计算的难度,但是也不可避免地产生了偏差。一般而言,Alexa只对二级域名感兴趣,而针对三级域名的流量都被纳入了上一级域名的统计,对于比较规范的大型网站而言,这是完全正确的策略,但是对于一个向不同用户分发了三级域名的网站来说,它的流量统计是否应该将所有的子用户的流量加起来呢?这显然要因情况而异,一个很明显的此类不合理统计的例子就是cninfo.net,相信国内老网民都还记得这个域名后缀,这是全国各省市公众信息港通用的二级域名,比如,sh.cninfo.net和gd.cninfo.net分别是上海和广东的两个网站,而Alexa则将其统一算做www.cninfo.net的子域。于是,www.cninfo.net就成了简体中文网站排名第40多位的网站,尽管它其实根本就不是一个可以访问的网站。
对于Alexa排名可信度的另一种质疑来自不同类型网站的流量特征的巨大差异性。比如,门户网站与专业网站或专业论坛的流量就几乎没有可比性,因为不同类型的用户在不同时间不同场合访问不同类型的网站时,其浏览习惯会有极大的差异。
即使两个网站按照Alexa算法得出的综合流量评估值完全相同,那也不能把两个网站的影响力划等号。比如,一个Reach值为1000,PV值为1的网站与一个Reach值为100,PV值为10的网站的Rank应该是相同的,但大部分情况下,后者的内容会比前者更有价值。因为浏览前一个网站的用户都是只看了一个页面就走掉了,说明该网站可能没什么吸引力;而后一个网站的用户平均要看十个页面才会离开,这些用户都很认可该网站的内容。当然,更极端的情况也会出现,比如前者只有一个页面,但该页面内容非常丰富,而后者的每个页面内容都很少,或是给用户设置了很多不必要的跳转,甚至后者也可能就是一个小说连载站。
这些复杂情况的存在让人很难相信Alexa可以只用Reach和PV这两个值就把所有互联网上的站点划分出三六九等。不过,如果我们换一个角度来看