0

我在 AEM 6.0 中看到有一个用于页面查看统计的内置组件,在作者站点管理员中显示为印象列。但是这个内置不支持过滤站点中的首页视图等。这对于计算每个页面的页面浏览量很有用。我面临着计算超过一千页的首页浏览量的性能问题。有人对此有解决方案吗?非常感谢和赞赏。

4

3 回答 3

0

您可以使用选择器创建页面的变体。类似于:您的页面节点中的 statistics.html.jsp,然后:

http://example.com/a.html是普通页面 http://example.com/a.statistics.html是添加统计组件的页面。

于 2014-12-12T12:13:44.140 回答
0

虽然印象数据最初看起来很诱人,但它并不适用于最终用户的页面浏览分析。CQ 与 SiteCatalyst 等的集成用于真正的分析(或第三方解决方案,例如 Google Analytics)。

如果您考虑作者显示印象,则 1+ 发布实例将不得不将印象数据“反向复制”回作者,这将被推回发布实例。

当您考虑 Apache Dispatchers 提供缓存页面而不将请求传递给发布实例时,您可以理解即使您的生产发布实例也看不到所有流量。

于 2014-12-10T04:59:07.103 回答
0

使用 CQ 提供的 Impression 服务查找前 10 个最受欢迎的页面或根据其受欢迎程度对所有页面进行排序有点棘手,原因如下

  1. 页面视图可能在外部系统中,然后您希望将这些数据作为印象导入 CQ 以获得更多应用程序上下文。
  2. 您必须汇总所有发布实例中的所有数据。
  3. 它很慢。

要计算超过一千页的首页浏览量,您有三个选项

  1. 创建您自己的印象服务
    您可以通过扩展 com.day.crx.statistics.Entry 创建自己的印象服务。然后你可以做所有的优化。
  2. Adobe 分析:如果您有数千个页面,请使用 adobe 分析。它将通过他们的 Rest Service 为您提供最佳结果和其他过滤选项。

  3. 修改 OOTB 服务实现。

您不想编写自己的服务,但想使用您可用的 OOTB 服务。唯一的问题是,您有多个发布实例,并且您希望如何将所有数据合并为一个,以便获得准确的图片。从所有发布实例(通过反向复制)获取所有数据然后在作者上组合它们然后再次推送它们有点棘手。但是,您可以使用一个实例收集所有统计数据(单一事实来源之王,然后每天将其复制回所有实例)

确保通过添加以下行来启用页面查看跟踪

       <cq:include script="/libs/foundation/components/page/stats.jsp" />

然后使用以下配置将所有发布实例配置为指向一个 DNS(您始终可以在 /apps 下覆盖它)/apps/wcm/core/config.publish/com.day.cq.wcm.core.stats.PageViewStatistics /apps/ wcm/core/config.publish/com.day.cq.wcm.core.stats.PageViewStatisticsImpl

确保 pageviewstatistics.trackingurl 指向单个域(您需要创建一个域,例如impression.mydomain.com,它将是独立的 CQ 实例来获取所有展示请求)现在您已经在一台机器上合并了页面展示您可以轻松编写一个每天晚上运行的调度程序,并将所有数据反向复制到作者实例。一旦它是作者实例,您就可以使用复制器服务复制到所有其他发布实例然后您可以调整自定义方法中提到的一些代码以获取流行资源。如需了解有关自定义实施的更多信息: 实施说明:

于 2015-11-17T21:46:45.753 回答