flowpack / neos-matomo
使用Matomo(Piwik)开放分析平台跟踪您的Neos网站访问量!
Requires
- ext-curl: *
- guzzlehttp/psr7: *
- neos/neos: ^5.3 || ^7.0 || ^8.0
Replaces
README
使用Matomo(Piwik)开放分析平台跟踪您的Neos网站访问量!
此包将Matomo开放分析平台集成到Neos中,并且与较旧的Piwik
安装兼容。
功能
- 为您的Neos实例添加后端模块,帮助检查您的配置
- 在属性检查器中添加标签页,显示由Matomo收集的时间、设备、操作系统和浏览器相关统计信息
- 添加可自定义的内容元素,允许访客在前端选择退出跟踪
- Matomo标签管理器支持
受neos/neos-googleanalytics和khuppenbauer/MapSeven.Piwik包的启发。
最初,此包被称为portachtzig/neos-piwik
。感谢创建者 @koernchen02 和 @sarahRehbock 所做的一切工作!
Matomo - 开放分析平台 https://matomo.org/
要求
- cURL php扩展 用于API调用
- Neos CMS >= 3.3
- Matomo >= 3.3
- 一个可通过 https 访问的 Matomo实例
- 具有 Neos.Neos:Administrator 角色的Neos后端用户
与旧版本的兼容性
此包的版本2仍然与Piwik实例兼容,但可能会在Matomo进行重大更新后无法再使用。
始终确保您的跟踪软件是最新的,并在可能的情况下使用此包的最新版本。
安装
在您的网站包中运行以下命令
composer require --no-update flowpack/neos-matomo
然后,在项目根目录中运行composer update
。
从neos-piwik
更新到neos-matomo
现在,您应该在composer.json
中要求flowpack/neos-matomo
而不是portachtzig/neos-piwik
。
如果您使用或重写了Portachtzig.Neos.Piwik:StatsTabMixin
,则必须在您的自己的节点类型配置中将命名
改为Flowpack.Neos.Matomo:StatsTabMixin
。
在您的配置文件中,您必须更改路径
Portachtzig:
Neos:
Piwik:
到
Flowpack:
Neos:
Matomo:
我们还为API请求添加了缓存。因此,默认情况下,统计信息将在刷新之前保留长达5分钟。
配置
安装包后,Neos中将出现一个额外的后端模块,称为“Matomo”。根据您的当前FLOW_CONTEXT,您可能需要刷新缓存。
要将Neos与您的Matomo安装连接起来,您只需在您的Settings.yaml
中输入一些属性以跟踪用户统计信息即可。您可以将配置放在网站包中或在部署期间添加。您还可以使用包含的后端模块来验证您的配置。
-
主机 输入您的Matomo安装的主机名,不包含协议。
-
主机 您应该始终使用https配置您的Matomo安装,但您可以在测试目的下更改它。
-
token_auth 您必须输入具有对配置站点
view
权限的Matomo用户的有效认证令牌。 -
idSite 您必须输入在Matomo中配置的网站ID。当使用Matomo标签管理器以在后台显示统计信息时,也需要此信息。
-
containerId 您必须输入在 Matomo 中配置的标签管理器容器的 ID。在这里,您也可以使用为开发环境和测试环境生成的较长 ID。
-
system 您可以更改正在使用的系统,以便它定位到正确的跟踪代码。默认为
matomo
,如果需要,请将其设置为piwik
-
apiTimeout 您可以更改默认的超时时间,超时后后端将取消对 Matomo 安装的请求。默认超时时间为 10 秒。
-
privacyManagement 您可以更改三个与 ePrivacy/GDPR 相关的变量,并设置 Matomo 的跟踪行为。默认情况下,所有三个变量都设置为
false
。您可以使用这些变量轻松地将 Matomo 配置为符合 GDPR。disableCookies
如果设置为true
,将禁用所有 cookie(请参阅 Matomo FAQ 157)。requireTrackingConsent
将要求您获取用户对跟踪的同意,而requireCookieConsent
将要求您获取用户设置 cookie 的同意。有关详细信息,请参阅 Matomo 跟踪同意指南 和/或 内容跟踪指南。- 附加资源
这是它的一个示例
Flowpack:
Neos:
Matomo:
host: 'tracking.example.org'
protocol: 'https'
token_auth: 'abcdefg1234567890'
idSite: 1
containerId: 'abcdef' # Optional
system: 'matomo' # Optional, "matomo" or "piwik"
apiTimeout: 10
cacheLifetimeByPeriod:
year: 86400
day: 3600
附加功能
跟踪退出的内容元素
此包为 Neos 提供了一个小型可配置的 iframe 内容元素,允许用户在浏览器未启用 "Do-Not-Track" 的情况下手动退出跟踪。iframe 的内容从配置的跟踪主机加载。
您可以通过它们的 API 调整 Matomo 提供的所有设置。
API 请求缓存
默认情况下,对 Matomo API 的请求将根据正在检查的统计数据的周期进行缓存。一些信息基于一年的周期显示。这里我们使用默认的超时时间为 1 天。其他统计数据为 1 到几天。这里超时预设为 1 小时。
您可以在 Settings.yaml
中覆盖按周期的时间超时。请参阅上面的示例。
您可以在自己的 Caches.yaml
中覆盖此包的缓存后端设置。
FlowpackNeosMatomo_ApiCache:
backend: Neos\Cache\Backend\FileBackend
backendOptions:
defaultLifetime: 300
如果您根本不想使用缓存,请改用后端 Neos\Cache\Backend\NullBackend
而不是配置的 FileBackend
。
访问 Matomo API
您可以通过此包通过注入 Flowpack\Neos\Matomo\Service\Reporting
类来访问 Matomo API。
然后,您可以使用公共方法 callAPI($methodName, $arguments = [], $useCache = true)
调用 Matomo 的任何 API 方法,并将以数组形式获得解析后的 JSON 响应。一些方法可能需要特定的用户权限;如果您的令牌用户没有这些权限,则数组中将包含错误消息。
多站兼容性
Settings.yaml
中的 Matomo 站点 ID 和令牌也可以定义为数组,这样您就可以配置任意数量的站点。然后插件将检查当前站点的 nodename 是否在这个数组中。如果没有找到匹配的站点,则将使用第一个条目。
请参阅此示例,其中只有一个令牌但多个站点
Flowpack:
Neos:
Matomo:
host: tracking.example.org
token_auth: 12345678910
idSite:
myfirstsite: 1
mysecondsite: 2
mythirdsite: 2
当与标签管理器一起使用时,也是同样的情况
Flowpack:
Neos:
Matomo:
host: tracking.example.org
token_auth: 12345678910
idSite:
myfirstsite: 1
mysecondsite: 2
mythirdsite: 2
containerId:
myfirstsite: 'abc'
mysecondsite: 'def'
mythirdsite: 'ghi'
许可证
Neos Matomo 包在 GPL v3(或更高版本)许可证下发布。
屏幕截图
后端视图,在属性检查器中选择了 Matomo 面板
上个月每天的访问量
上周每日访问量
所选页面的所有时间访问量和页面浏览量(点击量)
浏览器每日访问量(所有时间)
操作系统每日访问量(所有时间)
设备类别每日访问量(所有时间)