您如何跟踪网站的出站链接,因为请求记录在目标服务器上,而不是您的?
5 回答
您可以将快速 JQuery 脚本添加到将跟踪外部链接的页面,并且可以将它们重定向到服务器上将跟踪链接然后转发到它的文件,或者添加将在单击外部链接时提交的 ajax 请求,并以这种方式跟踪它们。
看:
方法 #1:target="_blank"
和onclick
Google Analytics 事件
使用以下属性格式化您的传出链接:
<a href="http://www.example.com" target="_blank" onclick="trackOutgoing(this);">outgoing</a>
定义一个 javascript 跟踪函数(需要已经加载了谷歌分析):
function trackOutgoing(el) {
ga('send', 'event', {eventCategory: 'outbound',
eventAction: 'send',
eventLabel: el.getAttribute('href'),
eventValue: 1});
};
优点:
- 不干扰正常的链接行为
- 不需要重定向到另一个 url
缺点:
onclick
不保证执行(用户或浏览器可以终止主窗口)
方法 #2:使用 Javascript 和 Google Analytics 回调重定向
使用以下属性格式化您的传出链接:
<a href="http://www.example.com" onclick="trackOutgoingAndRedirect(this); return false;">outgoing</a>
定义一个 javascript 跟踪函数(需要已经加载了谷歌分析):
function trackOutgoingAndRedirect(el) {
var url = el.getAttribute('href');
ga('send', 'event', {eventCategory: 'outbound',
eventAction: 'send',
eventLabel: url,
eventValue: 1,
hitCallback: function() { document.location = url; }});
}
优点:
- 不需要
target="_blank"
- 您的活动被 Google Analytics 注册的机会更高(与方法 #1 相比)
缺点:
- 覆盖链接的默认行为
return false;
- 无法在新窗口中打开传出链接
方法 #3:使用重定向 URL
使用以下属性格式化您的传出链接:
<a href="/redirect?url=http://www.example.com">outgoing</a>
在您的网站上,您将需要实现一个超出此答案范围的重定向脚本。
您的重定向脚本很可能会跟踪传出链接,然后重定向到提供的 url。
优点:
- 无需 Javascript
- 不需要谷歌分析
- 不干扰正常的链接行为
缺点:
- 更难触发 Google Analytics 事件
- 链接不链接到其原始 URL。这可能会对 SEO 产生负面影响。
将 onclick 或 onmousedown 处理程序添加到锚标记。您可以看到许多网站都在这样做,例如 Google。
我不喜欢 Eric Tuttleman 所描述的重定向,因为您不幸失去了链接的“搜索引擎友好性”。
我在我拥有的网站上通过向我的传出链接添加一个 onClick 来处理此问题,该链接会触发一个将链接 URL 和时间戳发送到我的数据库的函数。然后我编写了一个后端来检索数据,并让我按“最多点击/24 小时”、“最多点击/1w”等类别查看它。
我希望这有帮助。
在我工作过的一个系统上,我们最终将重定向存储在数据库表中,并创建了一个将 id 作为输入的重定向页面。在我们的内容页面上,我们使用此表中的唯一 ID 链接到重定向页面。一旦重定向页面通过表中的 id 查找 url,它就会向客户端发送重定向响应,将它们发送到结束页面。
这确实为我们提供了外部链接的日志记录,并且作为额外的奖励,在某些情况下,它使对外部 URL 的大规模更改更容易一些。