Comment systems for static websites

Minimum viable interaction for the web

December 30, 2019 — March 3, 2024

computers are awful together
diy
doing internet
faster pussycat
plain text
UI
workflow
Figure 1: commenters in the shade of a blog post

Hosting comments is a weak point for static sites, since by definition there is no content server to wait around for random drive-by interactions from the internet. But it is feasible by leveraging various other hosted services, in a slightly laborious, quirky, two-tiers-of-content kind of way.

I used the hosted Disqus system but it was bloated and suspect, so I seek alternatives.

1 Bake comments into the site code

Welcomments for a monthly fee will de-spam and stash comments in the site GitHub. I currently use this service for this site. They run the app which does the commenting, and you can see the comments in your GitHub repo. They seem to have failed to leave beta status after 3 years, so while I love what they do I am not comfortable using them, although I did for a long time.

staticman is an (optionally) hosted (open source) app that integrates comments into your source. It looks mostly smooth; the lack of authentication might be tedious if there was a lot of traffic on your blog.

There is a Go option called remark42.

Netlify advocates for their own DIY solution: gotell, but it seems to be discontinued?

2 Hypothes.is

Web annotation tool hypothes.is can be used as a weird kind of web comment system.

Annotate the web, with anyone, anywhere. We’re a nonprofit on a mission to bring an open conversation over the whole web. Use Hypothesis right now to hold discussions, read socially, organize your research, and take personal notes.

It is targeted at academics who are the people whose comments I generally want, plus is run by a non-profit. It has fancy options.

Seems to be open source, and in principle one could extract one’s own data from it.

3 Self-hosted comment server

One could host a server running its own comment system.

Some I have seen:

Commento is an optionally-hosted open-source comments software. Both these have heavy dependencies if you are self-hosting.

Schnack is a simple node.js one supporting various 3rd party authentication. Another simple alternative is isso (python). It has no third-party authentication support so I am nervous about having to do my own account management, but it has a certain kind of seductive simplicity.

Talkyard is optionally-hosted open-source forum software which integrates blog comments as a side effect.

See also Cusdis, a “lightweight, privacy-first, open-source comment system”.

4 Hosted comment server less suspect than Disqus

Disqus, as mentioned, is suspect. Hyvor Talk is a Disqus alternative. The following two are self-hosted but also offer a paid non-self-hosted version:

  • Commento as mentioned can also be hosted
  • Cusdis, as above, seems to have a hosted option.

5 Comments as GitHub issues

A small amount of work can repurpose GitHub issues as a comment system, although it is clunky, and requires your users to be prepared to open GitHub issues if they want to comment, which is nerdier than one would like.

This can be made smoother with utterances which automates some of the legwork in GitHub comments at the cost of needing a helper app to run.

Utterances is supported by quarto, which is a vote in its favour.

Gitalk looks similar.

6 Comments as GitHub discussions

giscus is the main player here, as currently auditioning on this very blog.

A comments system powered by GitHub Discussions. Let visitors leave comments and reactions on your website via GitHub! Heavily inspired by utterances.

Giscus is supported by quarto, which is a vote in its favour. Since Yuhui describes this as the latest thing — Migrating Comments from Disqus and Utterances to Giscus I am inclined to regard it as the best recommendation for now. It sounds like giscus’ discussion model might be a better fit than GitHub issues.