Comment System For a Static Website

Before static blogs became a thing, it was pretty simple regarding the commenting system because any popular blog platform supported it out of the box. You just could turn it on or off in the settings.

It’s completely different with static blogs because a static blog doesn’t have a backend, or in other words, a server, where comments can be stored. Of course, that doesn’t mean that there is no way to communicate with your readers on a static blog.

Let’s look at what the options are when you need to have a comment system on a static website.

First, it’s necessary to mention that all the solutions that bring the commenting capability to a static blog can be divided into two categories. One of the categories is the tools that use JavaScript to fetch comments from the server and render on a static page. Another category of tools works by rebuilding and redeploying the website each time a new comment is submitted.

Both categories have their pros and cons.

Sites that use JavaScript to display comments might suffer from longer load times and are harder for Googlebot to crawl and index the comments.

In contrast, sites that need to redeploy with each new comment show old comments immediately, but don’t feel as responsive as they could be when a new comment is created. After submitting a comment, the visitor would have to wait a few minutes for the comment to appear on the website. In addition, rebuilding the blog takes build minutes, a resource that is often limited to some extent on free static hosting platforms.

What commenting systems already exist

The problem has been around for some time, so it is not surprising that there are already quite a few commenting systems out there. I’ve looked at five of them in detail, although there are many more.

Disqus

Disqus is probably the most feature-rich and the most popular commenting system for blogs. It’s very easy to integrate Disqus as it offers a dedicated plugin for many popular blogging platforms. If your blog is not supported by a Disqus plugin, you can integrate it just by copying a simple HTML code into your blog’s HTML template.

However, Disqus is a freemium service. It offers a free plan, but you’ll get only a limited set of features. In addition, it displays ads alongside comments and tracks and collects data about your visitors when using the free plan.

Schnack

Schnack is a free and open-source comment system written in JavaScript. It supports comment moderation, social login, and lets you import existing comments from Disqus or WordPress. Adding it to your website is as easy as using Disqus-you just need to add a simple HTML code to your blog template.

It’s completely free to use it, and it doesn’t display ads nor tracks your users, but you have to host it yourself.

Utterances

Utterances is another free and an open-source comment system, but it is built quite differently from Schnack or Disqus. It works by using GitHub issues to store comment data. Every post of your blog has its own issue on a GitHub repository. When a comment is posted to your blog, it is actually posted to a GitHub issue. The main advantage of such a comment system is that you don’t need to self-host it yourself, or pay for a hosted comment system. However, it also means that a visitor needs to have a GitHub account to comment on a blog post.

Isso

Isso is also an open-source and free comment system for a static website. It’s very similar to Schnak, but with fewer features and written in Python. Integrating it into your blog is very easy-you just need to embed a single JavaScript file. However, then comes the not so easy part-you need to host it and take care of it yourself.

Commento

Commento is yet another open-source comment system that you can run on your own server completely for free. However, if managing your own server is quite a tedious task, you can pay $10 a month to its creators to host it for you. It’s packed with features and looks slick. What I didn’t like about it after trying the demo, that it took a while to load the page. I should note that the demo page had a lot of comments, but still, that shouldn’t be an excuse to be slow.

Lambda Comments

It’s an interesting open-source project because it uses serverless functions to handle comments, while the other open-source projects discussed above use the traditional hosting model. The main advantage of going serverless over a traditional hosting model is the cost-you pay only for the resource you use.

I liked the idea of Lambda Comments, but the project seems abandoned now. The setup process looks a bit complicated and confusing. This is likely because the AWS tooling wasn’t as sophisticated as it is today when Lambda Comments project was created.

Conclusion

I needed to add support for comments on this blog, so I started writing this article. Before evaluating the available options, I laid down some features that I think are important:

I could probably live with one of the available commenting systems, but I wouldn’t be completely happy with it. I plan to create a basic commenting system that incorporates concepts from both Utterances and Lambda Comments, and to document the progress on this blog.