Isso - An Alternative Commenting System For Hugo
This post is part of the Blogging with Hugo series.
By default, Hugo comes with an option to enable Disqus comments. But if you like to go for a self-hosted alternative that respects privacy of your visitors, you might want to take a look at Isso.
This blog is hosted on ateroids 🚀. They have an extensive library of tools to install (well, you have to do it yourself, but the user contributed guides will help you along), and Isso is one of them.
I won’t replicate the install instructions here, but it basically boils down to the following steps (which you might want to adapt to your specific setup!):
- Install Isso via the Python package manager
- Add a server configuration - for a full list, please see the official server documentation
- Setup running Isso as a service or deamon
- Setup a reverse proxy to access Isso, i.e. at a subdomain like
Once you’ve got Isso up and running, you’ll need a partial to display your new commenting system.
Create one for your blog at
layouts/partials/comments.html. For this theme, I gave users the option to choose from either Disqus or Isso, based on their configuration.
This will check if the config paramter
DisqusShortname is set. If it is, it will render the internal, standard partial for Disqus comments.
DisqusShortname is not set, and instead
Params.isso.enabled is true, it will render the Isso client. Your blog’s config might look something like this:
[Params.isso] enabled = true data = "https://comments.my-hugo-blog.tld/" id = "thread-id" css = true lang = "en" replyToSelf = true requireAuthor = true requireEmail = false avatar = true avatar-bg = "#f0f0f0" jsLocation = "https://comments.my-hugo-blog.tld/js/embed.min.js"
This is basically the client configuration. There are more options, but please note that every additional parameter that is added to Hugo’s configuration has also to be added as a
data- tag to the partial.
As a last step, add this partial at the end of your post template. Check out the example for this theme.
That’s it. You’re done. Now you’ve got a comment system under your control.
Image: BiologeXY on pokemon.fandom.com