drzraf / ga-popular
从 Google Analytics 获取流行 URL
Requires
- google/analytics-data: ^0.9.2
- google/apiclient: ^2.0
Requires (Dev)
- symfony/console: ^5.2
README
从指定的 Google Analytics 视图中收集统计数据。
此插件封装了一个 WordPress wp-cli 命令,并旨在从命令行或从定期调用的 cron 脚本中运行。
它使用 Google Analytics API(并依赖于凭证文件)从特定的 Google Analytics 视图中收集统计数据。
查看、过滤、排序、排序和限制等可以通过命令行或 JSON 配置文件提供。
输出可以自定义,从纯 URL 列表或包含所需度量(页面浏览量、用户数等)的更广泛的 JSON 格式。
命令可选地允许
- 确定与 URL 对应的帖子 ID(在某些 WordPress 应用中)
- 将结果存储为 WordPress 选项。
优点
- 一个自包含且简单的插件,为其他主题/插件提供 Google Analytics 数据,它们可以使用
get_option()
直接消费。 - 受保护的 Google Analytics 凭证(可能归 root 所有,并通过管道传递到命令的 stdin。WordPress 引导程序是可选的)
- 灵活地自定义统计数据:主题可以编写一个有效的 JSON 配置文件来使用。
示例
$ symfony-cli.php -c my-project-abcd.json -m ga:pageViews,ga:users -s 30daysAgo -r /recipes 181123123
使用此配置并查找service_account.json
凭证文件以获取/recipes
中 181123123 视图上个月的 URL(命令行覆盖了由my-project-abcd.json
指定可能不同的开始日期)$ wp ga-popular --credentials-file my-project-abcd.json --metrics ga:pageViews,ga:users --regex /show 181321123
使用 WP. 获取/show
中 URL 的指标,对于默认开始日期的最后 6 个月针对 181321123 视图使用特定的身份验证文件。$ sudo cat /etc/ga-auth.json | wp @aeus ga-popular fetch --credentials-file=- --limit=6 --output-format=meta,ids --regex='!^/$' --db-store 176385704
使用 root 拥有的凭证文件通过 stdin 传递并获取最多 6 个条目,不包括主页,将结果存储在ga_popular_ids_default
WP 选项中。
输出格式
除纯 URL 列表之外的其他格式将导致一个字典,其键是 URL,而数据(指标、帖子 ID 等)是字典。如果设置了 meta
,则此结果将还包含在 data
之下(定义脚本运行时的配置的其他字典键)
output-format=url
(默认值)[ "/blog/2019/09/30/foo-bar", "/news/baz-blah/", "/blog/2019/07/26/nop-zob/" ]
output-format=metrics
{ "/blog/2019/09/30/foo-bar": { "ga:pageViews": [ "31724" ] }, "/news/baz-blah/": { "ga:pageViews": [ "23828" ] }, "/blog/2019/07/26/nop-zob/": { "ga:pageViews": [ "18997" ] }, "data": null }
output-format=meta
{ "view_id": "176123132", "date": 1625591485, "data": [ "/blog/2019/09/30/foo-bar", "/news/baz-blah/", "/blog/2019/07/26/nop-zob/" ], "metrics": "ga:pageViews", "start-date": "180daysAgo", "query-string": false, "regex": "!^/$", "limit": "3", "db-store": false, "json-config": false, "output-format": "meta", "output-file": "php://stdout", "credentials-file": "-" }
output-format=wp-id
(意味着类似字典的结构和metrics
的存在){ "/blog/2019/09/30/foo-bar": { "ga:pageViews": [ "31725" ], "id": 13196 }, "/news/baz-blah/": { "ga:pageViews": [ "23829" ], "id": 4846 }, "/blog/2019/07/26/nop-zob/": { "ga:pageViews": [ "18999" ], "id": 12617 } }