代码之家  ›  专栏  ›  技术社区  ›  flamingLogos

最佳实践:如何跟踪出站链接?

  •  6
  • flamingLogos  · 技术社区  · 16 年前

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

    5 回复  |  直到 9 年前
        1
  •  4
  •   Eli    16 年前

    您可以向跟踪外部链接的页面添加一个快速jquery脚本,并将其重定向到服务器上跟踪链接并转发到该链接的文件,或者添加一个Ajax请求,该请求将在单击外部链接时提交,并以这种方式跟踪它们。

    请参见这里: http://www.prodevtips.com/2008/08/19/tracking-clicks-with-jquery-and-google-analytics/

    这里: http://www.justskins.com/development/how-to-track-clicks-on-outgoing-links/132

        2
  •  2
  •   Moishe Lettvin    16 年前

    将onclick或onmousedown处理程序添加到锚标记中。你可以看到很多网站这样做,比如谷歌。

        3
  •  2
  •   BrianV    16 年前

    我不喜欢EricTuttleman描述的重定向,因为不幸的是,你失去了链接的“搜索引擎友好性”。

    我在自己的网站上处理这个问题,方法是在我的传出链接中添加onclick,它将触发一个函数,该函数将链接URL和时间戳发送到我的数据库。然后我编写了一个后端系统来检索数据,并让我按“most clicked/24h”、“most clicked/1w”等类别查看数据。

    我希望这有帮助。

        4
  •  2
  •   Justin Tanner    9 年前

    方法1: target="_blank" , onclick 以及谷歌分析活动

    使用以下属性设置传出链接的格式:

    <a href="http://www.example.com" target="_blank" onclick="trackOutgoing(this);">outgoing</a>

    定义一个javascript跟踪功能(需要已经加载Google分析):

    function trackOutgoing(el) {
      ga('send', 'event', {eventCategory: 'outbound',
                           eventAction: 'send',
                           eventLabel: el.getAttribute('href'),
                           eventValue: 1});
    };
    

    赞成的意见:

    1. 不是 干扰正常链接行为
    2. 不是 需要重定向到另一个URL

    欺骗:

    1. 这个 点击 不保证执行(用户或浏览器可以终止主窗口)

    方法2:使用javascript和谷歌分析回调重定向

    使用以下属性设置传出链接的格式:

    <a href="http://www.example.com" onclick="trackOutgoingAndRedirect(this); return false;">outgoing</a>

    定义一个javascript跟踪功能(需要已经加载Google分析):

    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. 不需要 目标=“空白”
    2. 您的活动在Google Analytics注册的可能性更高(与方法1相比)

    欺骗:

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

    方法3:使用重定向URL

    使用以下属性设置传出链接的格式:

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

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

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

    赞成的意见:

    1. 不需要javascript
    2. 不是 需要谷歌分析
    3. 不是 干扰正常的链接行为

    欺骗:

    1. 更难触发谷歌分析事件
    2. 链接不会链接到其原始URL。这可能会对SEO产生负面影响。
        5
  •  1
  •   Eric Tuttleman    16 年前

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

    这确实为我们提供了外部链接的日志记录,而且作为额外的好处,它使得在某些情况下对外部URL的大量更改变得更加容易。