2

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

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,因为它将网站作为源代码执行,它不会向我的主 url 发送任何数据。它也无法执行php。 因此,我看不到是否有任何 googlebot 进入该网站。

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

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]
4

3 回答 3

0

我的解释是,您确实想检测您页面上的 GoogleBot 点击?或者至少检测它们,以便您可以在自己的代码中将它们过滤掉?

GoogleBot 可以解释一些 JavaScript,但它不会将其作为浏览器执行。谷歌对 GoogleBot 在解释脚本方面所做的事情保持沉默。当用户禁用 JavaScript 时也会出现同样的问题,那么您将看不到他们的访问。

有一些方法可以让GoogleBot抓取 AJAX 内容,但它也需要一些服务器代码。

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

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

于 2013-10-14T06:11:42.240 回答
-1

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

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

于 2013-10-14T06:03:40.450 回答
-1

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

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

后记:谷歌分析在评论中发表了回应:

“官方的 Google 机器人不执行 Google Analytics JavaScript。我们不确定它到底是什么,它可能是任何人的机器人、某个实习生的实验或其他此类流量。” 我同意这个评论,因为官方的 Googlebot 读取 JavaScript 但不执行它。此外,它不存储和发送 cookie,这意味着 Paves/Visit 将恰好为 1,而在站点上的时间恰好为 0。最后,如果官方 Googlebot 确实执行了 JavaScript,我们将看到大量的访问。

还需要注意的是,尽管我们使用 Google Analytics 作为示例,但我们指的是所有基于 JavaScript 的解决方案,包括 Omniture、Yahoo Web Analytics、WebTrends 等。

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

于 2013-10-14T06:23:14.680 回答