惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Martin Fowler
Martin Fowler
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
云风的 BLOG
云风的 BLOG
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
P
Proofpoint News Feed
博客园_首页
J
Java Code Geeks
C
Check Point Blog
I
InfoQ
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
D
Docker
U
Unit 42
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
GbyAI
GbyAI
N
Netflix TechBlog - Medium
T
Tailwind CSS Blog

第三夏尔 | Third Shire

白露 | 2026 年 8 月小结 立秋 | 2026 年 7 月小结 如何用法压壶拉花 小暑 | 2026 年 6 月小结 芒种 | 2026 年 5 月小结 立夏 | 2026 年 4 月小结 博文 | Archives 如何在 Mastodon 长毛象搬家到另一个实例并迁移 Neodb 清明 | 2026 年 3 月小结 惊蛰 | 2026 年 2 月小结 立春 | 2026 年 1 月小结 2025 年终总结:时间统计 2025 年 12 月小结 Part2 之东京印象 2025 年 12 月小结 Part1 之在慕尼黑的半日·回国感受 大雪 | 2025 年 11 月小结 立冬 | 2025 年 10 月小结 在加拿大办理 Q2 回国探亲签证 寒露 | 2025 年 9 月小结 作为非英语母语者,如何做好 Presentation 白露 | 2025 年 8 月小结 织毛线手账,开工! 为什么我不去理发店,和被迫短发的六年 立秋 | 2025 年 7 月小结 小暑 | 2025 年 6 月小结 芒种 | 2025 年 5 月小结 24/7 时间记录两年后的经验总结 立夏 | 2025 年 4 月小结 用 MailerLite 结合 RSS 实现邮箱订阅博客 清明 | 2025 年 3 月小结 静态博客究竟适不适合你
零成本、不需自建搭建 Umami:开源易用的网站访问量统计工具
2023-07-04 · via 第三夏尔 | Third Shire

Featured image of post 零成本、不需自建搭建 Umami:开源易用的网站访问量统计工具

天下苦 Google Analytics 久矣

目录

为什么不用 Google Analytics

因为难用。

大多数博客都自带 Google Analytics 支持,但它实在太、难、用、了!界面不友好不说,加一个内部流量过滤(Internal traffic filter)都相当麻烦。它的隐私问题也是个焦点,由于追踪过于有侵略性,很多 ad block 会把 Google Analytics 屏蔽,导致无法准确反应游客访问量。

Umami 是个不错的精简版替代,开源,界面也很好看。

Umami 访问量主界面

(几乎不需要的)准备工作

这是一篇新手也可以跟的、不需要自建的教程。你只需要:

如果要求不高的话可以直接用 Umami 官方提供的云服务Umami Cloud ,即插即用,可以直接跳到[第三步](#第三步设置 umami)。缺点是有一些限制,比如无法过滤内部访问量、只能添加最多三个网站、数据仅保存半年等。

(已过期)第一步:用 PlanetScale 建立数据库

2024-04-16 更新

很遗憾,PlanetScale 已经取消免费账户。我厌烦了找免费羊毛所以已经转移到自建的服务器上了。如果有需要的话,以下服务商有免费账户可以建立数据库,仅供参考:
Supabase
Neon
Turso
AWS RDS
CockroachDB

  1. 注册完账户后,点击 New database,起名为 umami-db
  2. 等待一段时间,直到页面右边的 Get connection strings 不再是灰色的时候,点击此按钮

点击 Get connection strings

  1. 在弹出的页面里,在 Connect with 后的下拉菜单里选择 Prisma,再复制下方窗口显示的DATABASE_URL='xxx'那一大串代码,存起来待用

数据库链接

第二步:用 Vercel 连接数据库并部署

  1. 进入 Umami 官网的Running on vercel 页面 ,直接点击里面的 Vercel 按钮
  2. 进入 Vercel 后,点击 GitHub 按钮来创建一个 Github repo,名字随便
  3. 它会要求输入填入名为DATABASE_URL的 Environment variables,这时找到第一步存好的代码,把引号内的内容填入进去,格式为mysql://xxx
  4. 填好之后点击 Deploy 进行部署,等完成之后会生成一个格式为xxx.vercel.app的链接,这个就是我们的 Umami dashboard 啦

添加内部访问过滤

流量过滤器很有用,尤其是如果一篇文章需要预览又经常改了又改,这时就需要让访问统计过滤掉这些内部流量。

在 Umami 里,内部访问量过滤可以通过设置环境变量IGNORE_IPIGNORE_HOSTNAME实现。方法为:

  1. 进入刚才创建的 Vercel 项目,Settings - Environment Variables,在输入变量的地方输入:
  • IGNORE_IP:公网 IP 地址。不知道的话可以在 Google 输入 What’s my ip address 即可得到

  • IGNORE_HOSTNAME:即本地 IP 地址。如果只用本地电脑进行网站预览的话可以不填,我经常用手机来预览博客页面,所以也需要加入这一项。具体怎么得知本地 IP 可以参考这篇文章

内部访问量过滤的环境变量

  1. 点击 Deployments,在最上方的活动日志右边点击三个点按钮(那个东西到底叫什么……),选择 Redeploy 重新部署

重新部署

(可选)自定义脚本名称

这一步是为了防止部分 ad blockers 屏蔽 Umami。同样也是进入环境变量设置里面添加TRACKER_SCRIPT_NAME这个变量:

TRACKER_SCRIPT_NAMEcustom(或任何除了 script/umami/track 以外的名字)

依旧是跟上一步一样点击 Redeploy 重新部署。等待完成后,再进入更新后的xxx.vercel.app链接就完成所有的部署设置啦!

第三步:设置 Umami

第一次进入 Umami 的时候需要输入用户名密码。根据官网文档 ,默认的用户名是 admin,密码是 umami。登录之后可以进 Profile 更改密码。

添加网站非常简单,点击 Add website,输入网站名称和地址即可,注意网址 Domain 这里不需要包括 https,格式为mywebsite.com

第四步:把代码嵌入到博客

添加完网站之后,点击 Edit,进入 Tracking code 界面并复制窗口内的代码。

Tracking code

现在需要做的就是把这行代码粘贴到博客<head></head>之间。取决于博客的不同,嵌入代码的文件也会不一样。对于静态博客一般是header.html或者其他包含<head>的 html 文件,可以参考博客文档或者全局搜索<head>。最终格式为:

<head>
  <script async src="https://xxxxxxxxx.vercel.app/script.js" data-website-id="xxxxxxx"></script>
</head>

对于我的 Hugo Stack 主题,更改的是 layouts/partials/head/custom.html 这个文件,直接将复制的代码粘贴到custom.html即可。

大功告成!Umami真的很好看又极简呀,该有的功能比如单个页面统计、地理图啥的都有,filter也很简单直观。非常推荐给个人网站使用~


❤️