背景:个人博客,Hugo 生成,扔在 Cloudflare Pages 上,没有后端也没有数据库。
一直没放联系方式,原因有两个。公开邮箱三天就被爬虫抓走,垃圾邮件到现在还没清完;放个人微信二维码,等于要求每个想留言的人先加好友——多数人不会加,包括我自己。
但「有人找我时能第一时间知道」这件事一直没解决。把能想到的方案挨个试了一遍,记一下结论,也顺便求个更优解。
先把需求拆成三条
- 访客侧:不注册、不加好友,邮箱和手机最好都能不填。
- 站主侧:消息落到手机上,且不要求我为此多装一个 App 、多开一个后台。
- 隐私侧:访客说的是私事,服务端最好别存。
后面的评价都对着这三条,而不是对着功能表。
一、评论系统
最省事的是 Disqus,但国内加载不稳,页面上还会塞它自己的推荐位。Waline、Twikoo、Artalk 这几个开源的体验好得多,代价是要自己部署服务端并配数据库——对纯静态博客来说,为了留言区维护一套后端不太划算。Giscus 不用额外部署,基于 GitHub Discussions ,但访客得有 GitHub 账号,我这点读者里一半没有。
这类方案的定位很清楚:适合文章下面的公开讨论,不适合私下的联系。公示在评论区里的内容,没人会写自己的联系方式。
二、客服 SaaS
Tawk.to 免费档很能打,Crisp 界面更精致,Intercom 是企业定价。它们的设计前提是「客服坐席」:开面板、装 App 、配工作时间,脚本还会给页面加一两百 KB 。个人博客一天来不了几个访客,为它装个 App 不划算。
还有一个容易忽略的细节:访客常常在窗口资源加载完之前就走了。
三、表单转邮件
Formspree 这类把表单提交转成邮件,或者自己写个 Cloudflare Worker 转发。门槛低、够用,但「邮件」这个通道的时效性是硬伤:我一天开两次邮箱,访客发完就去干别的了。
适合非实时的需求收集(合作、反馈、投稿)。
四、IM 中继
这一类是把消息推到站主本来就在用的聊天软件里。国内有几个成熟服务:Server 酱、PushPlus、WxPusher,都是「一条 HTTP 请求 → 微信」的管道,最初是为服务器告警、脚本通知设计的。
注意它们解决的是「我主动推给自己」,不解决「访客说话」——这两件事经常被混为一谈。
要同时满足「访客能说话」和「站主在 IM 里回」,就得有个站内聊天页做入口。这类东西我找到的不是要自建就是半自建,最后我用的是信鸽:访客打开链接、填个称呼就能发消息(邮箱手机可选),消息进微信或 Telegram ,我引用那条消息回复就回到对应访客;聊天记录不落服务端,只存在访客浏览器里;嵌入是一行 iframe ,不用部署、不用配数据库。
怎么选(按场景,不按谁更强)
- 想让文章下面有人公开讨论:Waline / Twikoo / Giscus。
- 有客服团队、要 SLA:Tawk.to / Crisp / Intercom。
- 只收非实时的合作邮件:Formspree 这类表单转邮件。
- 只想「有人找我时,手机上立刻能回」:IM 中继这一类,前提是它有站内聊天页。
说清楚立场
第四类那个工具(信鸽)是我做的,所以看到这一段时你可以打折听。它的短板我直接列:
- 免费档每天 20 条消息(通知与聊天合计),流量一起来就不够;
- 不是工单系统:没有历史归档、没有多人协作,服务端不存聊天记录,回头找对话只能翻微信;
- 海外访客更适合走 Telegram ,纯微信适合站主人在国内。
前三类的链接与评价没有因为我要推自己的东西而改动。
求教
你们站上现在放的是什么?有没有「访客零门槛 + 站主手机直达」的其它方案,我大概率漏了。