如何才能执行Javascript代码才能获得使用权?

时间:2013-10-14 05:39:40

标签: javascript jquery ajax googlebot

我有一个具有用户跟踪功能的电子邮件营销网站,这通常就是我的工作。 我要求我的客户将此代码添加到他们的网站,以便跟踪他们的客户行为。

var _ssprt=('https:'==document.location.protocol?'https':'http');
var ig = navigator.userAgent.toLowerCase().indexOf('googlebot') > 0;
document.write('<img height="1" width="1" src="'+_ssprt+'://www.myurl.com/system/sitecode.php?t='+document.title+'&adres='+document.location.href+'&ua='+ig+'" hspace="0" />');

通常情况下,如果通过浏览器进入网站,我可以轻松检测到其用户代理。

但是,如果这是 GoogleBot ,由于它将网站作为源代码执行,因此它不会将任何数据发送到我的主网址。 它也无法执行php。 因此,我无法看到是否有任何googlebots进入该网站。

我使用此代码来获取用户代理

var ig = navigator.userAgent.toLowerCase().indexOf('googlebot') > 0;

我以为我可以通过htaccess将 sitecode.php 重定向到js。 因此它将表现为 sitecode.js ,我将其包含在脚本src代码

我想知道我是否已经这样做了,googlebot会执行那个JS。

我试图用这段代码做到这一点,但我无法成功。另外,我不确定Google是否会执行此操作并向我发送用户代理数据。

RewriteEngine on
RewriteRule ^sitecode.js$ sitecode.php [QSA,L]

3 个答案:

答案 0 :(得分:0)

我的插话是你想要检测网页上的GoogleBot点击数?或至少检测它们,以便您可以在自己的代码中过滤掉它们?

GoogleBot可以插入一些JavaScript,但它不会将其作为浏览器执行。谷歌对于拦截脚本时谷歌正在做的事情很安静。当用户禁用JavaScript时,存在同样的问题,那么您将看不到他们的访问。

GoogleBot有办法制作AJAX content crawlable,但也需要一些服务器代码。

不幸的是,确保跟踪所有访问者的最安全方法是使用服务器端代码。

可选 - 我建议这个有一些保留,因为我自己没有尝试过 - 你可以尝试在你身边的php页面添加一个img或一个隐藏链接,然后检查用户代理和referer获取页面用户正在访问 - 但我不完全确定它是这样工作的,GoogleBot将发送引用标头。也许其他人试过这个?

答案 1 :(得分:-1)

navigator.userAgent仅在浏览器环境中可用。 Googlebot只进行HTTP提取,无法运行客户端JavaScript。它就像使用wget或curl获取页面一样 - 您只需下载页面内容(源/ HTML),但不执行其中的脚本。

要跟踪googlebot访问,您需要提供一些服务器端解决方案,但根据客户使用的服务器端技术,您需要提供支持多种服务器端技术的代码段。

答案 2 :(得分:-1)

我在这个网站上找到了答案来回答我的问题。

http://searchengineland.com/is-googlebot-skewing-google-analytics-data-22313

后记:Google Analytics在评论中发布了回复:

“官方Google僵尸网站不会执行Google AnalyticsJavaScript。我们不确定它到底是什么,它可能是任何人的机器人,实习生的实验或其他类似的交通。“ 我同意这个评论,因为官方Googlebot会读取JavaScript但不执行它。此外,它不存储和发送cookie,这意味着Paves / Visit正好是1,网站上的时间正好是0.最后,如果官方Googlebot确实执行了JavaScript,我们会看到大量的访问量。

同样重要的是要注意,虽然我们使用Google Analytics作为示例,但我们指的是所有基于JavaScript的解决方案,包括Omniture,Yahoo Web Analytics,WebTrends等。

请注意,此问题需要针对Google Analytics以及Google搜索如何使用Googlebot进行额外调查。