sylvainjule / matomo
Matomo 辅助工具,Kirby 面板区域和部分
Requires
README
此插件帮助您生成 Matomo 的跟踪代码,并在面板中直接显示一些有用的指标。
概述
此插件完全免费,并按照 MIT 许可证发布。然而,如果您在商业项目中使用它,并希望帮助我进行维护,请考虑捐赠。
TLDR – 让我开始吧 👀
- 在您的服务器上安装 Matomo。
- 下载并复制此存储库到
/site/plugins/matomo
- 在
site/config/config.php
中设置以下值
return array( 'sylvainjule.matomo.url' => 'http://your-matomo.url', 'sylvainjule.matomo.id' => 'mywebsite', 'sylvainjule.matomo.token' => 'token_auth', );
- 将此代码添加到您的页脚代码片段中:
<?php echo snippet('matomo') ?>
- 访问 Matomo 面板区域或复制面板中专用选项卡/页面下的此蓝图。
一切准备就绪。
1. 为什么选择 Matomo?
- 它是开源的(谁不喜欢开源?)
- 它是免费的(真的是免费的。你不使用数据付费)
- 它是自托管的(这意味着你可以更好地控制你的数据)
- 它尊重你的访客隐私(IP 匿名化,自动删除日志,数据所有权)
- 现在它已与 Kirby 4 无缝集成 ✌️
2. 安装
Kirby 3: 1.0.7 及以下 Kirby 4: 2.0.0+
下载并复制此存储库到 /site/plugins/matomo
或者,您可以使用 composer 安装它:composer require sylvainjule/matomo
3. 选项
以下是可用选项及其默认值的概述
return array( 'sylvainjule.matomo.url' => false, #required 'sylvainjule.matomo.id' => false, #required 'sylvainjule.matomo.token' => false, #required for the panel integration 'sylvainjule.matomo.active' => true, 'sylvainjule.matomo.debug' => false, 'sylvainjule.matomo.trackUsers' => false, 'sylvainjule.matomo.disableCookies' => false, 'sylvainjule.matomo.blacklist' => ['127.0.0.1', '::1'], 'sylvainjule.matomo.basicAuth' => null, 'sylvainjule.matomo.area' => true 'sylvainjule.matomo.area.label' => 'Matomo', 'sylvainjule.matomo.area.headline' => null, );
3.1. url
(必需)
您的 matomo 安装位置
'sylvainjule.matomo.url' => 'https://analytics.yourdomain.com'
3.2. id
(必需)
单个 Matomo 安装可以托管多个网站。插件需要知道要查找的 id
'sylvainjule.matomo.id' => 'mywebsite'
3.3. token
(面板集成必需)
面板部分需要调用您的 Matomo API。需要一个 token_auth
,您可以在控制面板的“设置 > API”中找到它。复制粘贴字符串,不要包含 &token_auth=
前缀。
以下是一个示例令牌。请注意,此令牌是私有的,不应公开。一旦添加,如果您需要发布代码,请创建类似
config.github.php
的副本,其中将包含非敏感信息,并将您的真实config.php
添加到您的.gitignore
。
'sylvainjule.matomo.token' => 'gQ7TQgg8EFe3h29F9t4aJqC33VQdPfFP4M'
3.4. active
您可以通过将此值设置为 false
来禁用片段。
'sylvainjule.matomo.active' => true
3.5. blacklist
默认情况下,localhost 在黑名单中。您可以更改它。
'sylvainjule.matomo.blacklist' => ['127.0.0.1', '::1']
3.6. trackUsers
默认情况下,脚本只为未登录用户激活。如果您想更改它,将此选项设置为 true
。
'sylvainjule.matomo.trackUsers' => false
3.7. debug
如果您希望始终运行脚本(即使在本地主机或登录状态下),请将此选项设置为true
。
'sylvainjule.matomo.debug' => false
3.8. disableCookies
如果您想在用户端不使用任何跟踪cookie的情况下使用Matomo,请将此选项设置为true
。您可以在Matomo常见问题解答中了解更多关于此设置的信息。
'sylvainjule.matomo.disableCookies' => false
3.9. basicAuth
如果您的Matomo实例通过基本身份验证进一步受到保护,您可以使用USERNAME:PASSWORD
格式配置这些凭据。
'sylvainjule.matomo.basicAuth' => null
3.11. area
如果您想隐藏Matomo面板区域,请将此选项设置为false
。
'sylvainjule.matomo.area' => true
3.11. area.label
如果您想更改Matomo面板区域的标签(在菜单和面包屑中显示),您可以进行配置
'sylvainjule.matomo.area.label' => 'Matomo'
3.12. label
如果您还想更改Matomo面板区域的标题,您可以使用area.headline
选项。如果未指定,则使用标签作为后备。
'sylvainjule.matomo.area.headline' => 'Custom area headline'
4. 模板使用
您只需在代码中某处包含此片段即可
<?php snippet('matomo'); ?>
5. 面板显示:区域
面板区域显示整个网站的指标。它在{ site.url }/panel/matomo
路由中可用。或者,您可以在自定义标签页/蓝图中进行配置(见下文)。在这种情况下,您可能希望完全禁用该区域。
'sylvainjule.matomo.area' => false
您也可以使用area.label
选项自定义其标题
'sylvainjule.matomo.area.label' => 'Analytics'
6. 面板显示:部分
可以在自定义标签页/蓝图中使用部分配置面板仪表板。
6.1. 基本蓝图示例
请确保您已在配置中包含了您的
token_auth
。
将此片段放置在专用标签页/蓝图中
columns: - width: 3/4 sections: main: type: matomo-main - width: 1/4 sections: sidebar: type: matomo-sidebar
6.2. 选项
隐藏组件
有一些选项可以帮助您调整此默认面板视图。两个部分都有三个组件
- 主视图(
matomo-main
)包括chart
、overview
和widgets
- 侧边栏(
matomo-sidebar
)包括link
、realtime
和summary
您可以选择像这样隐藏它们
columns: - width: 3/4 sections: main: type: matomo-main chart: false overview: false widgets: false - width: 1/4 sections: sidebar: type: matomo-sidebar link: false realtime: false summary: false
(好吧,这里就没有东西可以工作了,但您应该明白了)。
隐藏和排序小部件
您可以根据自己的喜好对小部件进行排序。您还可以选择仅显示其中的一些。以下是一个所有小部件都明确设置、更改其列表顺序或删除条目以过滤小部件的选项的示例。
columns: - width: 3/4 sections: main: type: matomo-main widgets: - referrerType - websites - socials - devicesType - keywords - popularPages
隐藏时间段
默认情况下,显示所有4个范围(本年、本月、过去7天、今天)。您可以通过从periods
列表中明确排除它们来选择隐藏其中的一些。
columns: - width: 3/4 sections: main: type: matomo-main periods: - year - month - week - day
更改默认值
您可以访问两个默认选项,即period
和widgets的limit
。
period
是首次加载部分时的默认活动时间段。它是一个字符串,用于从上面的时间段中选择。默认为month
。limit
是小部件中显示的条目数。默认为5
。
columns: - width: 3/4 sections: main: type: matomo-main defaults: period: month limit: 5
6.3. 完整蓝图示例
以下是蓝图的所有选项都明确设置的示例。
columns: - width: 3/4 sections: main: type: matomo-main chart: true overview: true defaults: period: month limit: 5 periods: - year - month - week - day widgets: - referrerType - websites - socials - devicesType - keywords - popularPages - width: 1/4 sections: sidebar: type: matomo-sidebar link: true realtime: true summary: true
7. 面板页面小部件
面板页面小部件显示特定页面的指标,无论是单语言网站还是多语言网站。
欢迎对有关此小部件行为的反馈。它可能还需要进行改进,来自更多活网站的反馈将非常有帮助。请检查下方的潜在陷阱。
7.1. 基本蓝图示例
请确保您已在配置中包含了您的
token_auth
。
将此片段放置在您的页面蓝图
columns: - width: 1/3 sections: matomo: type: matomo-page
该部分将自动检测页面URI,并获取给定时间段内的指标。
7.2. 选项
时间段
您可以选择要显示的时间段,可以是year
、month
、week
或day
。默认为month
。
matomo: type: matomo-page period: month
多语言概述
插件将自动检测多语言是否开启,并获取当前语言的指标。
可选地,您也可以使用 overview
选项显示所有语言的指标。默认为 false
。
matomo: type: matomo-page overview: false
7.3. 可能的问题
- Matomo 接收公共 URL,这意味着它的 URI 仅在应用路由后才会被获取。因此,插件使用从页面公共 URL 创建的 URI 过滤 Matomo 的响应。如果您已设置自定义路由,例如跳过子文件夹,请确保用页面模型重写模板的
url
方法,否则 URI 不会正确。 - 如果您在 Matomo 开始数据收集后更改了默认语言,则显示的指标可能不准确/不完整。
8. 许可证
MIT
9. 致谢
Kirby 2 之前有一些 Piwik 集成插件
- kirby-piwik 由 @schnti
- kirby-analytics 由 @l4ci
- kirby-piwik-widget 由 @mauricerenck
- 一个有希望的但遗憾的是从未发布的 Piwik Suite,它为开发一个全面和详尽的插件提供了灵感。
片段集成是从 @jenstornell 的 kirby-ga 无耻地改编的。👏