drzraf/ga-popular 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

drzraf/ga-popular

Composer 安装命令:

composer require drzraf/ga-popular

包简介

Grab popular URL from Google Analytics

README 文档

README

Collect statistics from a given Google Analytics view.

This plugin wraps a WordPress wp-cli command and is intended to be run from the command-line or from a regularly called cron script.

It uses the Google Analytics API (and relies upon a credential file) to collect the statistics from a specific Google Analytics view.

Viewing, filtering, sorting, ordering and limits, ... can be provided from command-line or from a JSON configuration file.

Output can be customized from a plain list of URL or a more extended JSON format containing desired metrics (pageViews, users, ...)

The command optionally allow to:

  • determinate post ID corresponding to URL (In some WordPress usages)
  • store the results as a WordPress option.

Benefits

  • A self-contained and simple plugin providing other themes/plugins Google Analytics data they can directly consume using get_option().
  • Protected Google Analytics credentials (Could be owned by root and piped to command's stdin. WordPress bootstrap is optional)
  • A flexible way to customize statistics: A theme could write a valid JSON configuration file to be used.

Examples

  • $ symfony-cli.php -c my-project-abcd.json -m ga:pageViews,ga:users -s 30daysAgo -r /recipes 181123123 Use said configuration and look for a service_account.json credential file to fetch URL in /recipes of view 181123123 in the last month (command-line override a possibly different start-date specified by my-project-abcd.json)

  • $ wp ga-popular --credentials-file my-project-abcd.json --metrics ga:pageViews,ga:users --regex /show 181321123 Use the WP. Fetch said metrics for URL in /show for the last 6 months (default start date) for the view 181321123 using a particular authentication file.

  • $ sudo cat /etc/ga-auth.json | wp @aeus ga-popular fetch --credentials-file=- --limit=6 --output-format=meta,ids --regex='!^/$' --db-store 176385704 Use a root-owned credential file passed as stdin and fetch up to 6 entries not including the homepage storing the result in the ga_popular_ids_default WP option.

Output format

Any other format other than the plain list of URL will result in a dict whose keys are the URL and the data (metrics, post ID, ...) are a dict. If meta is set, this result will additionally be wrapped under data (the other dict keys defining the configuration the script has been run with)

  • output-format=url (default)

    [
      "/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 (Implies a dict-like structure and metrics presence)

    {
      "/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
      }
    }
    

References

drzraf/ga-popular 适用场景与选型建议

drzraf/ga-popular 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 150 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 07 月 06 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「cli」 「wordpress」 「analytics」 「google」 「reports」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 drzraf/ga-popular 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 drzraf/ga-popular 我们能提供哪些服务?
定制开发 / 二次开发

基于 drzraf/ga-popular 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 150
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2021-07-06