【问题标题】:Umbraco: A/B testing, links in structureUmbraco:A/B 测试,结构中的链接
【发布时间】:2013-04-16 15:01:27
【问题描述】:

我在尝试对 Umbraco 的节点树中的某些节点进行 A/B 测试时遇到问题。 我想要做的是将节点树中的一个节点复制到特定位置,并使用该 B 结构来查看哪个结构效果最好,使用 Google 分析。

例如我们有两个节点结构,我们称它们为“Private”和“Sweden”。 它们与子节点的结构和属性完全相同。它们之间的唯一区别是属性值(内容)。 “私人”-URL 是 www.mysite.com/Private,“瑞典”-URL 是 www.mysite.com/Sweden。

我想做的是更改 B 结构上的 每个 链接,使其指向 A 结构上的匹配项。问题是因为它是两种不同的结构,它会有两个不同的替代链接。

也就是说,它应该是偶然进入B结构,然后在下一次点击时移回A结构。

我们使用脚本管理它应该加载的页面(A 节点或 B 节点),因此每个节点都有 50% 的机会,如果它登陆 B 节点,谷歌分析将保存数据。我们无法管理的是该页面上的每个链接都将指向 A 节点。

如果能得到任何帮助,我将不胜感激。

问候, 大卫

【问题讨论】:

    标签: testing hyperlink umbraco ab-testing abtest


    【解决方案1】:

    我们最终做出了使用替代模板解决方案的最终决定。由于对于我的这个问题似乎没有通用的解决方案,我们不得不创建一个带有特定宏的替代模板来为我们使用的每种文档类型呈现不同的信息。

    在项目的这个阶段,为每个页面创建动态链接是一项艰巨的工作,因为有很多页面和链接。还有一些链接是用javascript制作的,所以还有另一个问题。

    我将 a 结构复制到另一个节点,只是为了能够更改属性值。不过,使用 Google Analytics 记录和跟踪信息可能会出现问题,所以这是我们在这个项目中的下一步。在我们的替代模板中,我们从 b 结构中获取属性值。

    不过,如果有人有更好的解决方案,我将不胜感激!

    问候, 大卫

    【讨论】:

      【解决方案2】:

      我不确定我是否完全理解您需要做什么,因此请原谅任何可能被证明是错误的假设。这是我的想法:

      既然 A 和 B 节点应该共享相同的 html 内容(当然链接除外),为什么不在模板或宏中使用一点剃刀使链接 href 属性动态化:

          @{var isANode = CurrentPage.Parent.Name == "Sweden"; }
          <a href="/@(isANode ? "Private": "Sweden")/something/somethingelse.aspx"></a>
      

      如果您使用网络表单,类似的方法也可以。

      【讨论】:

      • 你好,埃洛洛斯!感谢您的输入。这也可能是一个想法,我会查看该解决方案,如果可行,我会回复您。事情是我们也有一些通过 javascript 的链接,所以不幸的是,以这种方式创建动态链接可能是一个问题。我试试看!
      【解决方案3】:

      至少有几种方法似乎可以让你开始。

      /config/urlrewriting.config 文件允许您在 umbraco 中设置多个重定向规则,因此类似以下的部分可以用于将所有请求(无论是(/sweden/pagename/ 还是 /private/pagename/)发送回私有结构。不确定 GA 将如何处理它:

      rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="http://www.mysite.com/private/$1" redirect="Domain" redirectMode="Permanent" ignoreCase="true" />
      

      其次,一个简单的 httpmodule (http://support.microsoft.com/kb/307996) 可以处理所有页面请求并根据需要重定向 - 您可以在此处直接或间接执行 gaq_push。

      我很想知道您的进展情况 - 这似乎是扩展至 Umbraco 的好地方。

      【讨论】:

      • 嗨阿梅尔文!我明白你的意思。问题是我不想重定向到另一个页面,当进入 B 结构时,我仍然想在 B 节点上查看那里所做的属性更改,并且从那个节点(例如,当我单击一个链接时) headermenu) 链接到 A 结构中的匹配页面。至少在我看来,很难解决。
      • @DavidNyqvist 然后答案(我认为)是添加一个 httpmodule,从那里重定向到 A/B 并使用它来填充模块中的 google 事件。然后导航和一切都可以从双重结构中解放出来。
      • 感谢您的意见,我会试一试并回复您!
      • 考虑一下,我仍然不确定这是否是要走的路。导航不会从双重结构中解放出来,因为它仍然从 umbraco 获得替代链接。这意味着默认情况下它将具有这些链接。在我的代码中,所有链接都是相对的,因为一个模板可以用于多个页面。
      猜你喜欢
      • 2013-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-25
      • 1970-01-01
      • 2022-11-08
      • 1970-01-01
      相关资源
      最近更新 更多