如何为 GitHub-Pages 驱动的网站实现基本的页面浏览计数器? [已关闭]

问题描述 投票:0回答:4

我想使用 GitHub Pages 托管 Jekyll 博客。 我已购买了显示网络字体的许可证,每月页面浏览量最多为 50.000 次。 我为了不违反这个协议,我需要实现某种机制来统计浏览量,这样每当我达到 50,000 浏览量时我就可以采取行动。

我脑子里有一些相当复杂的想法。 一方面,我正在考虑调用某个 AWS Lambda 函数来计算每个页面视图的数量,并在页面视图过多时采取行动。 另一方面,我了解到 MyFonts、Linotype 和其他字体商店使用名为“现收现付”的许可模式提供一些网络字体,在这种情况下,他们确实要求客户使用页面浏览计数器他们提供,这样只要达到一定的配额,他们就可以连续收费。 他们的客户通过链接到相应字体商店托管的唯一 CSS 文件来将这些页面浏览计数器添加到他们的网站。

但是,由于我可能不是唯一需要处理这个问题的人,我想知道其他人如何解决这个问题。 我的想法似乎有点过分了,因为实际上只是一个页面浏览计数器。

有更简单的方法吗?一般是怎么做的?

fonts jekyll github-pages webfonts hitcounter
4个回答
4
投票

您有不同的选择:

1。使用他们的柜台
使用他们的(type-foundries)CSS 文件(他们根据该文件计算点击次数)是最简单的解决方案。这不是一个很好的方法,因为它需要外部请求,但肯定是最简单的。请注意,过度活跃的广告拦截器可能会阻止这些跨域请求,从而导致默认字体的页面损坏。

2。外部计数器
如果您希望字体始终加载,则应在本地托管所有内容(CSS 和字体)并使用外部计数器(如 Google Analytics)。然而,这个计数器也可以(并且将会)被阻止。您的字体将加载,但您的计数器不会非常准确。

3. AWS Lambda 或日志分析器
当您想要更准确的计数器时,您可以使用本地 Lambda 函数,也可以将 Jekyll 网站的输出放在带有 AWstats(日志分析器)的共享虚拟主机帐户上。这是迄今为止最好的解决方案。您的字体将始终加载,并且您的计数器非常准确。

4。使用不同的许可证
一个不太合乎逻辑的解决方案是不使用此类许可证。从 Google 获取一款漂亮的开源字体并自行托管。您可以使用 https://google-webfonts-helper.herokuapp.com/fonts 下载字体。这是迄今为止我最喜欢的解决方案。


2
投票

有一个免费的 API,您可以使用 JavaScript 来执行此操作。我戴着它,它的作用就像手套一样。

基本上,您创建一个键(命名空间),并且该路线的每个帖子都会递增 1。然后您可以恢复此计数以进行显示。

https://javascript.plainenglish.io/how-to-count-page-views-with-the-count-api-afc9369c1f8f

https://countapi.xyz/


2
投票

另一种想法可能是使用 CloudFlare Worker 来管理站点并使用 Worker KV 来跟踪页面浏览量。或者,如果您想更进一步,这也可能是您要计算的终点。

但是假设这些供应商只计算未缓存的请求,您可以将工作计数器放在字体文件的路径上,以跟踪服务器被这些文件命中的频率。那么,如果您与供应商匹配相同的缓存控制策略,您应该设置相同的测量系统。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.