正如问题所述,我正试图弄清楚谷歌如何跟踪搜索结果的点击次数.查看源时,您会发现以下内容:
Yahoo!
功能rwt
是,非常混乱:
windows.rwt=function(b,d,e,g,h,f,i,j){ var a=encodeURIComponent||escape,c=b.href.split("#"); b.href=["/url?sa=t\x26source\x3dweb",d?"&oi="+a(d):"",e?"&cad="+a(e):"","&ct=",a(g),"&cd=",a(h),"&url=",a(c[0]).replace(/\+/g,"%2B"),"&ei=7_C2SbqXBMW0-AbU4OWnCw",f?"&usg="+f:"",i,c[1]?"#"+c[1]:""].join(""); b.onmousedown=""; return true};
所以看起来谷歌正在改变/url?...
我认为跟踪的标签的href .从Firefox中的LiveHeaders看,此页面将浏览器重定向到标签的原始href.
这是否正确,这是跟踪网站链接点击的最佳方法,例如广告?
它实际上是在改变链接的href而不是窗口位置.它设置了b.href,而b指的是链接本身.这在onmousedown中运行,因此当您释放鼠标并处理单击时,您会神奇地发送到该新的href.
任何点击跟踪几乎都归结为将用户发送到相当于Google的/ url?...脚本,计算点击次数,并执行302重定向到真实目的地.
此javascript href替换具有自动过滤掉任何不运行脚本的机器人的优势.缺点是它还过滤掉任何禁用javascript的真人.如果像Google一样,您只关心哪个链接最受您真正的人类用户欢迎,那么效果非常好.您记录的点击次数应代表真实的人力流量,您可以安全地忽略来自非JavaScript用户的点击次数,因为他们可能具有相同的偏好设置.
大多数广告直接链接到计数URL而没有javascript替换.这意味着您肯定会计算链接上的每次真正点击,但您需要担心过滤机器人的请求,因为他们现在也会看到您的计数网址.
您更喜欢哪种方式取决于您希望跟踪点击次数的原因.