一个简单的 DotNetNuke Google Analytics 模块






4.78/5 (11投票s)
以简单的方式为您的 DotNetNuke 网站添加谷歌分析跟踪。
引言
Google Analytics 非常棒。这是一个免费、功能齐全的网站跟踪和报告系统。如果您使用 Google Adwords 并想测试不同广告如何吸引访客,它会更好。DotNetNuke 非常棒。这是一个免费、功能齐全的 Web 平台,可以轻松快速地开发网站。然而,我发现将两者结合起来,虽然不难,但相当笨拙。因此,我着手创造一种更好的方法。
背景
Google Analytics 的工作原理是您(网站管理员或开发人员)将一段 JavaScript 插入到您要跟踪的每个页面中。当访问者浏览您的网站页面时,Google 会记录所有页面浏览量。然后,您可以访问 Analytics 网站并查看您的报告。
在 DotNetNuke 中输入 JavaScript 到页面中很困难,因为您不想修改基础代码。您可以将脚本放入皮肤中,但如果您下载了网站的皮肤,您可能不想对其进行修改。没有简单的方法来控制 DotNetNuke 页面上 JavaScript 代码的放置位置。
引入 DotNetNuke Google Analytics 模块 - 一种免费且简单的方法将两者集成在一起。
DotNetNuke Google Analytics 模块
Google Analytics 模块是“普通”的 DotNetNuke 模块,因此如果您拥有 DotNetNuke 网站的管理权限来安装模块,那么您就可以安装这个模块。它不使用任何数据库表或 web.config 修改,因此对于任何共享主机上的用户来说应该都可以使用。它是一个轻量级的模块,旨在不给网站增加额外负载。
如何将 Google Analytics 连接到您的 DotNetNuke 网站
第 0 步: 创建和/或查找您的 Google Analytics 帐户登录信息。如果您还没有帐户,请按照 Analytics 网站上的说明创建帐户和网站配置文件(http://analytics.google.com)。
第 1 步: 从此页面下载模块安装 Zip 文件。
第 2 步: 使用 DotNetNuke Portal 中的“模块安装”功能安装模块。要检查模块是否正确安装,它应该出现在控制面板的“模块”下拉列表中,名称为“iFinity Google Analytics”。
第 3 步: 转到您的 DotNetNuke Portal 主页,并使用“添加新模块”功能将 iFinity Google Analytics 模块的一个实例添加到页面。我通常使用底部窗格,将其放在其他模块的干扰之外。不要担心您在“编辑”模式下看到该模块。当您注销管理员身份后,该模块将消失。
第 4 步: 单击您刚刚创建的 Google Analytics 模块的“设置”控件。然后,滚动设置页面直到找到“高级设置”部分,并勾选“在所有页面上显示模块”。这确保 Google Analytics 跟踪您网站上的所有页面。
请看红色高亮区域
DotNetNuke 模块的高级设置部分
如果出于任何原因,您不希望跟踪您网站上的所有页面,您可以将模块从主页复制到您想要跟踪的页面。向下滚动页面,展开“页面设置”部分直到找到“基本设置”部分,然后选择 **可见性**:无,并取消勾选 **显示容器**。这将隐藏 Google Analytics 模块对访问者的可见性。
请看红色高亮区域
DotNetNuke 模块的基本设置部分
第 5 步: 继续向下滚动页面,直到找到“Analytics Script Generator Settings”(分析脚本生成器设置)部分。在此下方是您网站的特定设置。在此页面停留一分钟,然后打开一个新的浏览器窗口访问 Google Analytics。
第 6 步: 访问 Google Analytics(http://analytics.google.com)(确保您使用您的帐户登录),然后点击您已设置的网站配置文件的“编辑”。这将显示网站配置文件的详细信息。然后,在页面上找到“检查状态”链接并单击它。您应该会看到一个包含一些 JavaScript 的框。您不需要像指示的那样复制所有 JavaScript,只需要帐户编号,或者“UA”编号。将 UA 编号从 Google 页面复制到您的 DotNetNuke 网站的“Google Analytics Tracking ID”(Google Analytics 跟踪 ID)字段中。编号周围不需要引号。
请看以下示例
DotNetNuke 模块的 Analytics 设置部分
第 7 步:(可选)如果您想限制跟踪,以便某些访问者的报告中不显示其活动,您可以在下一个下拉列表中选择一个 DotNetNuke 安全组。例如,您不希望管理员编辑显示在 Google Analytics 的页面访问量中。在这种情况下,您将选择“管理员”作为要排除跟踪的组。
第 8 步:单击更新。页面应刷新并返回到您网站的主页。如果您在浏览器中执行“查看源代码”并滚动到 HTML 底部,在 body
标签之前,您应该会看到生成的脚本。(注意:如果您选择了管理员组,则必须先注销。)
第 9 步:返回您的 Google Analytics 帐户。它应该仍然在显示要添加跟踪代码的页面上。点击底部的“完成”按钮。当返回到网站配置文件页面时,您应该会看到一个绿色的勾号和“正在接收数据”字样。如果您看到此信息,说明您的网站正在向 Analytics 提供统计数据,一切就绪。
高级选项
安全组选项是为了让任何编辑和其他管理活动不显示在 Analytics 报告中。但是,如果您想将用户使用情况分开,例如,区分注册用户和非注册用户,您可以在 Analytics 中设置两个配置文件,并在您的 DotNetNuke 网站中创建两个 Analytics 模块。然后,您可以设置一个模块来跟踪非注册用户,方法是排除注册用户,反之亦然。设置页面上的另一个框是“不要为对该主机的调用生成跟踪脚本”。此选项允许您在站点使用特定主机名调用时中断对 Google 的调用。我通常使用此选项,以便在本地主机上进行测试时,不会打扰 Google 服务器。但是,与完全隐藏代码不同的是,发生的一切是 `urchinTracker()` JavaScript 调用被注释掉了,因此您仍然可以检查它是否正常工作。
那么它是如何工作的?
如果您想查看代码,它包含在模块安装中。对于高级介绍,模块中所做的一切就是收集模块设置(UA-ID、安全组和主机名)。代码确定是否应为传入请求执行跟踪,并根据这些变量进行检查。如果答案是肯定的,则使用 'RegisterClientScript
' ASP.NET 调用插入一些 JavaScript。就这样。
唯一棘手的地方是使用了创建的 `BasePage` 属性,这是我从 Scott McCulloch(来自 www.ventrian.com.au)那里学到的技巧。通过在派生自 `PortalModuleBase` 的类中创建此属性,您可以访问元标记、标头和页面的基本 `ClientScript` 对象等各种有用功能。
//snip
//now register the script
this.BasePage.ClientScript.RegisterStartupScript(GetType(),
"analytics", script);
//end snip
//expose the base page
public DotNetNuke.Framework.CDefault BasePage
{
get
{
return (DotNetNuke.Framework.CDefault)this.Page;
}
}
历史
- 首个版本:2007 年 8 月 27 日。