12

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

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

但是,由于我可能不是唯一一个必须处理这个问题的人,我想知道其他人是如何解决这个问题的。对于真正只是一个页面浏览计数器的东西,我的想法似乎有点过头了。

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

4

4 回答 4

3

你有不同的选择:

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

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

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

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

于 2019-09-03T10:25:11.773 回答
2

另一个想法可能是使用 CloudFlare Worker 来前端站点并使用 Worker KV 来跟踪页面浏览量。或者,如果您想走得更远,那也可能是您要计算的终点。

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

于 2019-09-25T15:22:27.117 回答
1

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

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

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

https://countapi.xyz/

于 2021-06-07T13:55:15.300 回答
0

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

于 2021-06-07T01:37:24.807 回答