留言功能上線

發表時間: | 分類: 網站開發記錄 | 字數:1083 | 閱讀時間:2分鐘

為什麼想要有留言功能

最主要還是想維持網站更新動能。留言功能對我來說好像不太重要,主要是我的文章還是偏心得為主,感覺互動的需求很低。不過可以透過實裝留言功能來檢驗真實的情況也蠻有趣的。另外雖然也可以透過 Twitter 和 Email 聯繫我,但總覺得在網頁上直接有方式留言還是會比較順暢。

選擇留言功能的考量點

在 Zola 並沒有官方推薦的留言功能實現方式,而 Hugo 內建是用 Disqus。但 Disqus 有蠻多負面評論 ,不管在網站效能影響和用戶隱私性上都有一些問題。

既然 Zola 和 Hugo 同為 SSG(Static Site Generator),這次打算從 Hugo 的 Disqus Alternatives 當作嘗試的列表。

原本對於留言功能的考量點沒有太多的想法,不過在嘗試中也漸漸感受到各種方法的差異。

以下以我覺得的重要程度排序:

  1. 費用及實現容易度
  • 是否收費?
  • 是否需要自架服務?
  1. 可控性
  • 是否有很大的網站效能影響?
  • 是否是 open source?是否還有持續更新?
  1. 功能性
  • 是否支援匿名留言?是否支援使用者填入其他資訊?是否提供第三方 Identity Provider (Twitter, Facebook, ...) 登入的方式?
  • 是否支援留言通知功能?
  • 是否只能單純留言,或是可以巢狀回應留言?
  1. 安全性
  • 留言內容儲存在自己能控制的地方,還是在提供服務的網站上?
  • 資訊安全考量,第三方的 javascript 是否有插入惡意程式的可能性?

Disqus Alternatives 的嘗試

費用及實現容易度

目前還在評估網站留言功能重要性的階段,不想在現在就產生固定成本,就算有成本也希望能根據用量來計算,至少在留言很少的初期可以幾乎不用費用。於是就淘汰大量的收費服務如 Commento、Hyvor Talk、Mutt、ReplyBox、Talkyard,當中 ReplyBox 有根據流量設計不同的方案,但最低還是要每個月 5 美元。找價格低廉的雲端服務自架或許是可考量的方式,不過目前還沒有想投入太多時間研究,所以也就淘汰了 Isso、Remark42、Staticman、Talkyard。

可控性

照順序嘗試到 IntenseDebate 的時候覺得還可以,不用收費,有通知功能,安裝上也很簡易。不過似乎跟 Disqus 有一些共同的問題,也有人提到一些效能上的問題,不過有在實裝後跑了 PageSpeed,覺得效能上好像問題不大。不過反而是 Accessibility 忽然降低很多,想像上是安插了留言功能的程式碼的品質不好。此外在開啟 Twitter 登入功能也遇到 Token 失效的問題,加上不是 open source,忽然有一種如果有問題會難解決的感覺,就降低了想使用的慾望。

功能性

Cactus

只能簡易用名稱留言、沒有留言通知、沒有巢狀留言

IntenseDebate

預設支援用 IntenseDebate 和 Wordpress 的帳號,可以額外開啟 Twitter 和 Facebook 登入,但是 Twitter 開啟後發現有錯誤且無方法修正。支援 Email 留言通知、支援巢狀留言。

GraphCommento

在設定上卡關無法嘗試。

Utteranc.es

用 Github Issues 當作儲存留言的地方,只支援用 Github 帳號留言。新留言可以直接透過 Github 的通知。無法用巢狀回覆。

最後選擇 Utteranc.es

最後在嘗試完 Utteranc.es、IntenseDebate、Cactus、GraphCommento 後暫時先選了 Utteranc.es。在上線後用 PageSpeed測試的差異不大,javascript 也很簡單。

目前留言功能就會用 Utteranc.es 的樣貌先上線,或許我應該要做個簡易的按鈕讓使用者可以回報討厭用 Github 登入來收集反向的聲音。下一步可以考慮一下這件事要怎麼達成。歡迎大家可以利用留言功能與我互動。

#SSG   #zola   #utteranc.es

1 Linked References