【问题标题】:Best practice: How to track outbound links?最佳实践:如何跟踪出站链接?
【发布时间】:2010-09-17 00:23:56
【问题描述】:

您如何跟踪您网站的出站链接,因为请求记录在目标服务器上,而不是您的服务器上?

【问题讨论】:

    标签: web statistics hyperlink analytics


    【解决方案1】:

    您可以将快速 JQuery 脚本添加到将跟踪外部链接的页面,并且可以将它们重定向到服务器上将跟踪链接然后转发到它的文件,或者添加将在单击时提交的 ajax 请求用于外部链接,并以这种方式跟踪它们。

    见:

    【讨论】:

    • 我喜欢这种方法 - 如果访问者没有 JavaScript,该网站将正常运行,如果他有,您将获得跟踪奖励。此外,Eric 在下面提出了一个很好的观点,即如果您想保证所有点击都被跟踪,那么使用 JavaScript 不是一种选择。
    【解决方案2】:

    方法 #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});
    };
    

    优点:

    1. 不会干扰正常的链接行为
    2. 是否需要重定向到另一个网址

    缺点:

    1. 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; }});
    }
    

    优点:

    1. 不需要target="_blank"
    2. 您的活动被 Google Analytics 注册的机会更高(与方法 #1 相比)

    缺点:

    1. return false; 覆盖链接的默认行为
    2. 无法在新窗口中打开传出链接

    方法 #3:使用重定向 URL

    使用以下属性格式化您的传出链接:

    <a href="/redirect?url=http://www.example.com">outgoing</a>

    在您的网站上,您需要实现一个超出此答案范围的重定向脚本。

    您的重定向脚本很可能会跟踪传出链接,然后重定向到提供的网址。

    优点:

    1. 无需 Javascript
    2. 不需要是否需要 Google Analytics
    3. 不会干扰正常的链接行为

    缺点:

    1. 更难触发 Google Analytics 事件
    2. 链接未链接到其原始 URL。这可能会对 SEO 产生负面影响。

    【讨论】:

      【解决方案3】:

      将 onclick 或 onmousedown 处理程序添加到锚标记。您可以看到很多网站都在这样做,例如 Google。

      【讨论】:

        【解决方案4】:

        我不喜欢 Eric Tuttleman 所描述的重定向,因为您很遗憾失去了链接的“搜索引擎友好性”。

        我在我拥有的网站上通过向我的传出链接添加一个 onClick 来处理此问题,该链接会触发一个将链接 URL 和时间戳发送到我的数据库的函数。然后我编写了一个后端来检索数据,并让我按“24 小时点击次数最多”、“1 周点击次数最多”等类别查看它。

        我希望这会有所帮助。

        【讨论】:

        • 关于网站失去搜索引擎功能的观点很好。我不确定这是不是真的。如果您绝对必须跟踪所有链接,那么执行我描述的重定向之类的操作将捕获我能想到的所有情况。在某些情况下,Javascript 可能会丢失。
        【解决方案5】:

        在我工作过的一个系统上,我们最终将重定向存储在数据库表中,并创建了一个将 id 作为输入的重定向页面。在我们的内容页面上,我们使用此表中的唯一 ID 链接到重定向页面。一旦重定向页面通过表中的 id 查找 url,它就会向客户端发送重定向响应,将它们发送到结束页面。

        这确实让我们记录了外部链接,并且作为额外的好处,它在某些情况下可以更容易地对外部 URL 进行大规模更改。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-10-03
          • 1970-01-01
          • 2012-05-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多