先说清楚:这里的“0 成本”指不新增工具订阅费,不代表域名、主机、时间和维护成本为零。域名和网站本来就需要;免费额度也可能变化。但如果你的网站已经上线,下面两套方案都能把新增现金成本压到 0。
Plausible 官方 Starter 目前是 $9/月,包含每月 1 万 pageview。它很好用,但自建会更重,Plausible 的自建架构仍需要 PostgreSQL 和 ClickHouse。对没有服务器、只想把 SEO 数据和用户行为看明白的人,没必要一开始就上这套基础设施。
更实用的顺序是:
- 先用大厂全免费组合把 SEO 的底层数据补齐。
- 再用 Umami 把网站访问和关键事件收进一个轻量面板。
注意先后顺序。GSC 回答“用户在搜什么、你有没有曝光、页面有没有被收录”,Umami 回答“来了多少人、从哪里来、做了什么”。两套不是互相替代。下面故意按 2 → 1 的顺序展开:先讲最值得优先落地的大厂三件套,再讲 Umami。
先看结论:两套方案分别解决什么
| 方案 | 适合谁 | 新增订阅费 | 主要价值 | 最大限制 |
|---|---|---|---|---|
| 2. GSC + Cloudflare Web Analytics + Microsoft Clarity | 想让 SEO 尽快可测量的人 | $0 | 搜索曝光、收录、访问、CWV、点击与录屏 | 数据分散在三个后台 |
| 1. Umami Cloud 或自建 | 想要统一、轻量的网站分析面板 | $0 起 | 页面访问、来源、事件、UTM、目标 | 不能替代 GSC 的搜索与索引数据 |
如果只能先做一件事,先做第 2 套。它不需要服务器,能直接回答 SEO 最关键的问题。第 1 套是在此基础上补齐“网站分析”体验。
2. 先搭大厂全免费 SEO 三件套
这套组合的重点不是“免费”,而是三个工具各自回答不同问题:
| 工具 | 它回答的问题 | 它不负责回答 |
|---|---|---|
| Google Search Console | 哪些查询带来曝光和点击?页面收录了吗? | 站内点击、滚动、录屏 |
| Cloudflare Web Analytics | 哪些页面有人访问?来自哪里?CWV 怎么样? | 关键词曝光、搜索排名 |
| Microsoft Clarity | 用户到底点了哪、滑到哪、卡在哪? | 作为 SEO 排名的权威数据源 |
2.1 Google Search Console:先建立搜索基线
GSC 是这套组合里最重要的工具。它直接来自 Google,提供搜索曝光、点击、CTR、平均排名、页面收录和站点健康信息。
第一步:添加资源(property)
- 登录 Google Search Console。
- 点击左上角资源选择器,再点“添加资源”。
- 优先选择“域名”资源,输入根域名,例如
example.com,不要带https://,也不要在根域名前加www。 - 按向导复制 DNS TXT 验证记录,添加到域名服务商。
- 回到 GSC 点击验证。DNS 记录可能需要一段时间生效,最长可能要到两三天。
- 验证成功后不要删除 TXT 记录,否则之后可能失去验证。
域名资源覆盖该域名下的 http、https 和所有子域名,适合绝大多数独立站。如果你完全不能改 DNS,也可以改用“网址前缀”资源,再用 HTML 标签或 HTML 文件验证。不要把两种资源理解成两种账号,它们只是覆盖范围不同。
第二步:提交 sitemap
- 打开 GSC 左侧“索引”下的“站点地图”。
- 确认你的 sitemap 能在浏览器无登录访问,例如
https://example.com/sitemap.xml。 - 在“添加新站点地图”里输入完整 URL,点击提交。
- 回到报告确认状态。常见状态包括“成功”“无法获取”“存在错误”。
- 新站不要只等数据。用顶部“网址检查”检查首页和最重要的落地页,确认“网页可编入索引”。
提交 sitemap 只是告诉 Google 去哪里找,不保证每个 URL 都会被抓取和收录。这个区别很重要。
第三步:每周只看四个视图
| 视图 | 怎么看 | 用来做什么 |
|---|---|---|
| 查询 | 曝光、点击、CTR、平均排名 | 找高曝光低点击、低排名但有需求的词 |
| 网页 | 按 URL 看表现 | 找“有曝光但不被点”的页面 |
| 页面索引 | 已编入索引、未编入索引及原因 | 判断问题在收录还是内容 |
| 网址检查 | 单页抓取、规范链接、可索引性 | 新页上线和异常页排查 |
建议固定看 最近 28 天对比前 28 天,不要每天盯着曲线。GSC 最新数据可能是临时数据,通常会继续变化;做判断时优先看已经完整的日子。
一个很实用的检查顺序是:
- 有曝光、没有点击:先改标题和描述,再看页面是否匹配搜索意图。
- 有收录、没有曝光:可能关键词太窄,也可能是页面还没有足够竞争力。
- 没收录:先看页面索引报告和网址检查,再检查
robots.txt、规范链接、登录限制和页面质量。 - 排名很差:先补内容深度和内部链接,不要只改 meta 标签。
GSC 不提供所有查询词,部分查询会被匿名化或截断;它也可能和站内分析工具的访问数不一致。这不是谁“算错了”,而是两套系统的统计口径不同。
2.2 Cloudflare Web Analytics:看全站访问和真实 CWV
Cloudflare Web Analytics 是隐私优先的 RUM(真实用户监测)工具,不需要 Cookie 或 localStorage。它能看到页面访问、访客、来源、路径、国家和浏览器,也能看到 LCP、INP、CLS 三项 Core Web Vitals。
如果你的网站托管在 Cloudflare Pages
- 进入 Cloudflare 控制台的“Workers 和 Pages”。
- 打开对应的 Pages 项目。
- 进入“指标”,在 Web Analytics 下点击启用。
- 下一次部署时,Cloudflare 会自动注入脚本。
- 发布后访问任意页面,几分钟后回到后台看数据。
如果域名已经通过 Cloudflare 代理
- 进入 Cloudflare 控制台的“Web Analytics”。
- 点击“添加站点”,选择已有的 Cloudflare 主机名。
- 完成后确认自动设置已开启。
- 在“管理站点”里可以选择 EU 访客排除、手动脚本或关闭。
如果站点没有走 Cloudflare 代理
- 在 Web Analytics 页面点击“添加站点”。
- 输入主机名,例如
example.com,不要带协议和路径。 - 复制 JS snippet。
- 把它放在网站所有页面
</body>之前。 - 重新部署,并确认页面源码里能看到脚本。
非代理站点目前最多可以跟踪 10 个主机名,代理站点通常没有这个数量限制。免费并不等于无限资源,但个人站和中小站基本够用。
每周重点看什么
- 先看 7 天和 28 天的页面访问趋势,再看具体路径。
- 对比来源域名,判断流量是搜索、外链还是直接访问。
- 打开 Core Web Vitals,先解决 P75 表现最差的 LCP、INP 或 CLS,而不是只做一次 Lighthouse 截图。
- 新版本上线后按同一 URL 对比改动前后,不要混入整站平均值的波动。
Cloudflare 的优势是真实用户性能数据,但它不会告诉你“用户搜了什么”。关键词层面的判断仍然要回到 GSC。
2.3 Microsoft Clarity:看用户进站后的真实行为
Clarity 提供录屏和热力图,适合判断“用户看到了什么、点了什么、在哪里卡住”。官方当前说明是免费、无流量上限;录屏数据保留 30 天,热力图数据保留 9 个月。它适合行为诊断,不适合当作财报级的访问统计。
安装
- 创建 Clarity 账户,新建项目并填写站点信息。
- 进入项目设置里的 Setup。
- 选择手动安装,复制 tracking code。
- 把代码放到全站
<head>中,或通过 Google Tag Manager、站点后台提供的集成方式安装。 - 用无痕窗口访问网站,在开发者工具 Network 里确认有发往
https://www.clarity.ms/collect的 POST 请求。 - 回到 Clarity 控制台,看到 current live users 或 recording 后,再去热力图页面。
怎么用才不浪费时间
先只检查三种页面:
- 有流量但没有转化的落地页:看点击热力图和录屏,确认 CTA 是否被忽略、表单是否难用。
- 跳出率高的文章页:看滚动深度和用户在哪里停止阅读。
- 新上线页面:找真实用户的首次使用问题,而不是凭自己反复点击判断。
隐私和合规必须先做
Clarity 默认会屏蔽敏感内容,但它仍然是使用 Cookie 的行为分析工具,不是无 Cookie 的访问计数器。你需要:
- 在隐私政策中披露 Clarity 及其 Cookie。
- 按适用法律配置同意提示或 Consent API,尤其是 EEA、英国和瑞士访客。
- 不要把密码、支付信息、身份证件等敏感内容送入录屏。
- 不要把 Clarity 用在面向 18 岁以下用户的网站或应用上,这是官方明确的限制。
如果你要做的是 B2B 或隐私敏感业务,先做隐私评估,再决定是否安装。免费不代表可以跳过用户告知。
2.4 三个工具怎么串起来
不需要每天打开三个后台,按问题走就够了:
| 你看到的现象 | 先打开 | 下一步 |
|---|---|---|
| 搜索曝光上升,点击不涨 | GSC | 看查询 CTR、页面标题和搜索意图 |
| 页面有访问,但转化没变化 | Clarity | 看 CTA 热力图、表单录屏和滚动深度 |
| 访问正常,但 LCP/INP/CLS 很差 | Cloudflare | 先定位最差的元素和页面,再优化资源加载 |
| 新页面没有数据 | GSC + Cloudflare | 先查网址收录,再查访问脚本是否漏装 |
| 某篇文章突然有访问 | GSC + Cloudflare | 看是新查询带来的,还是外部来源带来的 |
这也说明为什么 Clarity 不能代替 GSC:它能告诉你用户进站后做了什么,但不能告诉你用户在 Google 搜了什么。
2.5 一次上线检查清单
- 域名资源已验证,TXT 记录保留。
sitemap.xml可以无登录访问,并已在 GSC 提交。- 首页和最重要的几个落地页已用网址检查确认可索引。
- Cloudflare Web Analytics 只安装一次,没有重复 snippet。
- Clarity 脚本放在
<head>,且全站生效。 - Clarity 已配置敏感内容遮蔽、隐私披露和适用地区的同意机制。
- GSC 基线固定看 28 天,不把临时数据当成最终结果。
- Cloudflare 和 Clarity 的数据没有混在一起当作“访客数唯一真相”。
这套三件套做完,SEO 已经可以开始闭环:GSC 找需求,Cloudflare 看到达与性能,Clarity 查页面卡点。
1. 再上 Umami:把网站分析收进一个面板
Umami 是开源、无 Cookie、界面极简的网站分析工具。它很像 Plausible,但底层只需要 PostgreSQL,不用自己维护 ClickHouse。当前有两条路线:
| 路线 | 新增现金成本 | 维护成本 | 适合谁 |
|---|---|---|---|
| Umami Cloud 免费档 | $0 | 最低 | 1 个网站、每月不超过 10 万 events、快速上线 |
| Vercel + Neon/Supabase 自建 | $0 起 | 中 | 想自己掌控数据、愿意处理数据库和部署 |
| 单服务器 Docker 自建 | 服务器可能收费 | 高 | 已有服务器、懂运维的人 |
官方 Cloud 免费档当前是 每月 10 万 events、1 个网站、6 个月数据保留。自建则没有 Umami 自己的订阅费,但受 Vercel 和数据库免费额度约束。
1.1 最省事:Umami Cloud
如果你只有一个网站,优先走这条。它的真正优势不是“免费”,而是你不用维护数据库、迁移和升级。
- 打开 Umami Cloud 注册页,创建账户。
- 登录后进入 Websites,点击 Add website。
- 填写名称和真实域名,保存。
- 点该网站的 Edit,在 Tracking code 里复制脚本。
- 把脚本放进网站
<head>,或通过模板的统一 head 配置注入。 - 访问网站,在浏览器开发者工具里确认脚本和发送请求都成功,再回面板看实时数据。
Cloud 的脚本形式大致如下,data-website-id 必须换成你自己的 ID:
<script
defer
src="https://cloud.umami.is/script.js"
data-website-id="YOUR_WEBSITE_ID"
></script>
如果你要记录站内自定义事件,再用 umami.track() 标记按钮点击、表单提交、注册完成等动作。不要一上来就埋十几个事件,先定义 2 到 3 个真正能指导决策的事件。
1.2 0 订阅自建:Vercel + Neon 或 Supabase
这条路可行,官方目前仍然提供 Vercel、Neon 和 Supabase 的独立指南。关键不是“把代码扔上 Vercel”,而是把数据库连接分对:运行时走连接池,迁移走直连。
先选数据库:
| 免费数据库 | 当前免费额度 | 使用时要注意 |
|---|---|---|
| Neon | 1 GB 存储、100 CU-hours/项目、5 GB 公网传输、计算空闲 5 分钟自动挂起 | 低流量站更省心,休眠后按请求恢复 |
| Supabase | 500 MB 数据库、5 GB egress、最多 2 个活跃项目 | 免费项目连续 7 天无活动会暂停 |
如果你没有既有偏好,优先选 Neon。它更适合低流量、偶发访问的 analytics 服务;如果你已经在用 Supabase,继续用也可以,但要使用池化连接和直连两套地址。
部署步骤
- 在 GitHub 上 fork Umami 仓库。
- 在 Neon 或 Supabase 创建项目,区域尽量靠近 Vercel 部署区域。
- 在数据库后台分别复制 pooled connection string 和 direct connection string。
- 在 Vercel 导入 fork,框架通常会自动识别 Next.js。如果没有识别,Build Command 填
pnpm build,Output Directory 填.next。 - 在 Vercel 项目的 Environment Variables 里添加下面三项。
- 执行部署,等待构建和数据库迁移完成。
- 打开部署域名,使用初始账号
admin、密码umami登录,并立刻修改密码。 - 添加网站、复制 tracking code,放回你自己的站点验证数据。
环境变量示例。下面以 Supabase 的池化/直连形式为例:
DATABASE_URL=postgresql://USER:PASSWORD@HOST:6543/DB?pgbouncer=true&connection_limit=1
DIRECT_DATABASE_URL=postgresql://USER:PASSWORD@HOST:5432/DB
APP_SECRET=用-openssl-rand-hex-32-生成
不同数据库的连接串不一样,不要机械照抄端口和参数:
- Supabase:池化连接通常走
6543,直连走5432;池化串加pgbouncer=true&connection_limit=1。 - Neon:使用池化串作为
DATABASE_URL,再加pgbouncer=true&connect_timeout=10;直连串作为DIRECT_DATABASE_URL。 - Umami 版本:
DIRECT_DATABASE_URL从 v3.2.0 起支持,尽量使用当前稳定版本,不要拿旧版脚本硬套新指南。
APP_SECRET 用下面命令生成一次,不要提交到 Git:
openssl rand -hex 32
部署成功后,自建站点的追踪脚本改成你自己的域名:
<script
defer
src="https://YOUR-UMAMI-DOMAIN/script.js"
data-website-id="YOUR_WEBSITE_ID"
></script>
如果页面能打开但数据不来,按下面顺序排:
| 现象 | 先检查 |
|---|---|
| 登录页正常,网站访问不上报 | 脚本域名、data-website-id、Network 里的 /api/send 请求 |
| 构建时报数据库连接错误 | 是否同时配置了池化 DATABASE_URL 和直连 DIRECT_DATABASE_URL |
| Vercel 日志出现连接数耗尽 | 是否真的使用 pooled URL,是否误用了直连串作为运行时连接 |
| 部署后数据库没有表 | 确认当前版本不低于 v3.2.0,并检查构建日志里的 migration 是否成功 |
| 本地能跑、Vercel 不能跑 | 检查环境变量是否只加到了 Preview 或 Local,而没有加到 Production |
1.3 自建不是“零维护”
Umami 帮你省掉的是 Plausible 的 ClickHouse 负担,不是所有运维工作。自建后你仍然需要:
- 关注 Umami 更新和数据库迁移。
- 定期确认免费数据库额度、休眠和恢复策略。
- 备份重要事件数据,至少保留导出记录。
- 给默认账号改密码,不要长期使用
admin/umami。 - 定期检查脚本是否被主题或模板升级覆盖。
这也是为什么我把 Umami Cloud 放在自建前面。对只有一个网站的人,省下的时间通常比每月 $9 更值钱;自建更适合需要多站、数据控制或想学习完整部署链路的人。
最后一个选择建议
先做第 2 套,不要先折腾第 1 套。 GSC、Cloudflare Web Analytics、Clarity 都不需要服务器,一天内就能上线,而且能立刻建立 SEO 的搜索、性能和用户行为基线。
然后按这个顺序加 Umami:
- 只有一个网站,先上 Umami Cloud 免费档。
- 需要自己的域名、数据控制或多个网站,再走 Vercel + Neon/Supabase。
- 只为了省 $9 而从头维护数据库,通常不划算。
还有一个必须明确的边界:Vercel Hobby 免费计划目前只允许非商业的个人使用。商业网站不能把“Vercel 免费档 + 免费数据库”当作合规的 0 成本方案。商业站可以先用 Umami Cloud 的免费档,或把托管费用正式纳入预算。
总之:
- 只看 SEO 搜索表现:GSC 必须有。
- 看全站访问和性能:Cloudflare Web Analytics 足够轻。
- 看用户点击、滚动和录屏:Clarity 最直接,但先做隐私配置。
- 想要统一网站分析面板:Umami 是最顺滑的 Plausible 平替。
- 想绝对 0 现金且不维护:优先免费云额度,不要为了“自建”而自建。
官方资料
以下信息核对时间为 2026 年 10 月 25 日。免费额度和套餐限制可能变化,正式上线前请重新确认官方页面。
- Google Search Console:添加资源
- Google Search Console:验证网站所有权
- Google Search Console:站点地图报告
- Google Search Console:搜索效果报告
- Plausible:定价
- Plausible:自建架构说明
- Cloudflare Web Analytics:入门
- Cloudflare Web Analytics:Core Web Vitals
- Cloudflare Web Analytics:限额
- Microsoft Clarity:安装
- Microsoft Clarity:常见问题与免费额度
- Umami:价格与免费档
- Umami:Vercel 部署
- Umami:Supabase 数据库
- Umami:Neon 数据库
- Umami:环境变量
- Vercel Hobby:免费计划与使用限制
- Neon:免费计划
- Supabase:免费计划