-
Step 1 · 选方案:Giscus / Waline / Disqus
按「是否愿意维护后端」和读者群体挑
静态站接评论只有三条路,选错会后悔很久。
| 方案 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| Giscus | 基于 GitHub Discussions | 免费、无广告、Markdown 支持好、数据在自己仓库 | 读者需 GitHub 账号登录 |
| Waline | 需自建后端(Vercel + 数据库) | 匿名可评、可自定义、有管理后台 | 要维护服务与数据库 |
| Disqus / 来必力 | 第三方托管 | 接入快、匿名可评 | 有广告、加载慢、国内偶抽风 |怎么选:
- 技术类站点、读者有 GitHub → Giscus(首选,最省心)
- 大众读者、必须匿名评论 → Waline
- 只想快速试水 → Disqus(但要接受广告)
本站的做法参考:主站刻意不做评论区,所有讨论统一引导到暗吐槽站——集中讨论比分散评论更容易形成氛围,也不用维护审核。是否做评论取决于你想沉淀什么。
合规提醒:国内站点做用户生成内容(UGC)需要内容审核机制与举报入口,纯第三方评论同样要尽到管理责任。
自查清单
- 已选定一种方案并说清理由
- 确认读者群体的登录门槛可接受
- 了解 UGC 的审核责任
-
Step 2 · 接入:Giscus 配置与页面埋入
开 Discussions、装 App、拿到参数贴进页面
Giscus 三步接入:
- 仓库开 Discussions:GitHub 仓库 → Settings → 勾选 Discussions(仓库需 public)
- 装 Giscus App:访问 giscus.app 授权,选择只对目标仓库生效
- 生成代码片段:在 giscus.app 填仓库名、选映射方式(推荐
pathname),复制生成的<script>
页面埋入(放在文章底部):
<div id="comments"></div> <script src="https://giscus.app/client.js" data-repo="你的用户名/仓库名" data-repo-id="R_xxxx" data-category="Announcements" data-category-id="DIC_xxxx" data-mapping="pathname" data-theme="preferred_color_scheme" data-lang="zh-CN" crossorigin="anonymous" async> </script>懒加载(强烈建议):评论框在页面底部,不要让它拖慢首屏。用 IntersectionObserver 等用户滚动到底再插入 script。
深色模式:
data-theme="preferred_color_scheme"会自动跟随系统。验证:换个浏览器(未登录 GitHub)打开,确认能看到「登录评论」入口而不是报错。
自查清单
- 未登录状态下能看到登录入口
- 评论框懒加载,不拖慢首屏
- 发一条测试评论能正常显示
-
Step 3 · 评论即内容:让 UGC 也能被看到
评论展示在页面上,但别让它抢走主内容的权重
评论区的价值不只是互动,好的问答本身就是可被搜索的内容(很多人搜报错信息,答案在评论里)。
三条做法:
- 有价值的问答回填正文:评论区被问三次以上的问题,直接补进文章正文(并回复评论者)——这是最优质的内容迭代来源
- 侧边「最新评论」模块:首页或文章页展示最近几条,让新访客知道这里有人讨论
- 评论页可索引:Giscus 的评论在 GitHub 上,站内只是 iframe;想让站内评论被收录,就要自己做展示页(把评论同步成静态 JSON 再渲染)
注意权重分配:评论内容质量参差,别让它出现在页面的主要 H 标签附近;正文在前、评论在后,结构层次清晰。
审核与氛围(决定评论区生死):
- 第一条 spam 出现时就处理,别等泛滥
- 置顶一条「提问前请先搜 / 附上环境信息」的评论,能显著提升问题质量
- 你自己的回复速度决定讨论氛围——前 20 条评论每条都认真回,后面自然有人帮你回
别做:关掉评论审核又不看,等发现时评论区已经没法看了。
自查清单
- 评论区的高频问题有回填正文的记录
- 有第一条 spam 的处理流程
- 自己回复过前 20 条评论
-
Step 4 · 观测:评论带来了什么
埋点看评论对停留与回访的影响,别只看条数
评论数是最虚的指标。你真正想知道的是:评论有没有让人留下来、有没有让人回来。
埋三个事件:
comment_view:评论框进入视口(有多少人看到底)comment_click:点击登录 / 输入框(有多少人想参与)comment_submit:评论提交成功(前端能感知的用 Giscus 消息事件,不能感知的看 Discussions 后台)
配合已有指标一起看:
| 现象 | 判断 |
|---|---|
|comment_view高但comment_click极低 | 门槛太高(要 GitHub 账号)或内容没激起表达欲 |
| 评论多但停留时长没变 | 互动没转化为阅读深度,讨论质量可能不高 |
| 有评论的文章回访率明显更高 | 评论有效,值得继续投入 |用 Giscus 时:提交事件前端拿不到(在 iframe 里),以 GitHub Discussions 后台为准,前端只记
comment_view/comment_click。别为了埋点去 hack 第三方 iframe。决策:如果开了三个月,
comment_click / comment_view不到 2%,说明你的读者不需要评论区——果断关掉,把精力放回内容(本站就是这么决定的,讨论集中到暗吐槽站)。别忘:把事件口径写进
data/conversion.json,否则换人接手时会不知道这些数字怎么来的。自查清单
- comment_view / comment_click 能查到
- 对比过有评论与无评论文章的停留时长
- 结论已记录(继续投入 / 关闭)