1

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

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

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

换句话说,它进入B结构应该是一个巧合,然后在下一次点击时被移回A结构。

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

我会很感激我能得到的任何帮助。

问候,大卫

4

3 回答 3

1

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

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

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

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

于 2013-04-25T12:06:03.887 回答
1

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

/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 的好地方。

于 2013-04-24T11:16:19.223 回答
0

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

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

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

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

问候,大卫

于 2013-04-26T08:53:38.663 回答