如何为使用GitHub Pages的网站实现基本的页面浏览计数器?

14

我想使用GitHub Pages托管一个使用Jekyll搭建的博客。 我购买了一份授权许可证,可以在每月50,000次页面浏览量以下展示网页字体。 为了不违反许可协议,我需要实现某种机制来计算页面浏览量,以便在达到50,000次页面浏览量时采取行动。

我有一些相当复杂的想法。 一方面,我想到要调用一些AWS Lambda函数来计算每个页面浏览量,并在超过限制时采取行动。 另一方面,我了解到MyFonts、Linotype和其他字体店提供一些Web字体,使用“按使用量付费”的授权模式,这种情况下他们要求客户使用他们提供的页面浏览量计数器,以便在达到某些配额时可以持续收费。 他们的客户通过链接到各自字体店托管的唯一CSS文件将这些页面浏览计数器添加到其网站中。

然而,由于我可能不是唯一需要处理此问题的人,我想知道其他人是如何解决这个问题的。 我的想法似乎有点过于复杂,而这些只是一个页面浏览计数器。

有更简单的方法吗?通常都是如何处理的?

4个回答

3

您有不同的选择:

1. 使用他们的计数器
使用他们(字体厂商)的CSS文件,其中包含他们进行统计的点击量,是最简单的解决方案。这并不是一个非常好的方法,因为它需要进行外部请求,但肯定是最简单的方法。请注意,过于积极的广告拦截器可能会阻止这些跨域请求,导致页面出现默认字体的问题。

2. 外部计数器
如果你想要你的字体始终加载,你应该本地托管所有资源(CSS和字体),并使用外部计数器(如Google Analytics)。然而,这个计数器也可能会被屏蔽。你的字体将被加载,但你的计数器将不太准确。

3. AWS Lambda或日志分析器
当你需要一个更加准确的计数器时,你可以使用本地Lambda函数或者将Jekyll网站的输出放在具有AWstats(一种日志分析器)的共享Web主机账户上。这是迄今为止最好的解决方案。你的字体将始终加载,并且你的计数器相当准确。

4. 使用不同的许可证
一个不那么逻辑的解决方案是不使用这种类型的许可证。从Google获取一个漂亮的开源字体并将其托管在自己的服务器上。你可以使用https://google-webfonts-helper.herokuapp.com/fonts下载字体。这是我最喜欢的解决方案。


感谢您的回复。显然,我正在自己托管字体。我的问题是如何方便地计算页面浏览量。这必须是可能的 - 即使是使用 GitHub Pages - 否则字体商店无法提供其“按使用付费”的服务。而且,如果不可能,没有人可以在GitHub Pages上使用商业字体 - 我对此表示怀疑。 - typeduke

2
另一个想法是使用CloudFlare Worker作为站点前端,并使用Worker KV来跟踪页面浏览量。或者,如果你想更进一步,这也可以是计数的终端节点。
但是假设那些供应商只计算未缓存的请求,你可以将你的工作计数器放在字体文件的路径上,以跟踪服务器被访问这些文件的频率。然后,如果你匹配与供应商相同的缓存控制策略,你应该有相同的测量系统设置。

需要注意的是,Cloudflare Workers 免费版每天限制1000次写入操作。https://developers.cloudflare.com/workers/platform/limits/#kv-limits - retep

2

0
许多 GitHub 的点击计数器需要服务器或数据库。但是有一个使用 GitHub API 的 GitHub Action。它每天更新,不需要任何服务器或数据库。它会自动将更改保存到仓库中。请访问模板 GitHub Insights Template

2
我认为这对于非存储库GitHub页面并不起作用,而问题所问的正是这个。 - Mario Olivio Flores

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接