Alternative to Disqus Needed More Than Ever


#1

Hi all.

I thought I’d start a new thread, rather than excavating the longstanding ‘Alternatives to Disqus’ one.

I don’t know if you’re aware of this but, some time in the past few months, Disqus have started hijacking links in people’s comments and channelling them through an ad network called viglink.com. My Twatter comment about it here and a censored discussion about it on Disqus’s support forums here:

https://disqus.com/home/discussion/channel-discussdisqus/bug_reports_feedback_url_replacement_in_comments/

[I say ‘censored’ because I added a comment on there pointing out how unethical this was and it’s not been published]

To say this has been done in an underhand way would be an understatement.

I’ve not received anything from Disqus, saying they were about to do this, nor did they mention anything about the possibility of doing this when I signed up for Disqus. In fact, if I remember correctly there was even an option to “not show ads in my comments” ––which you’d expect would be taken as an indication of your attitude towards any kind of advertising junk being included there.

I only found out about this myself the other day when I was trying to remember the URL of a website. I remembered I’d once linked to it from within a comment on my blog and went there to find the link. Having uBlock Origin installed in all my browsers, this is what I saw when I clicked on it:

So, for me anyway, the search for a replacement for Disqus has now reached critical point [about which, more later!].

It was bad enough having that bloated piece of junk embedded in my lovely lean & mean site, like a huge ball & chain dragging it down. But, to find out the feckers have been pimping me out as an unpaid advertising stream for them is a step too far.

[Just a “heads up”, in case any of the rest of you feel as outraged about this as I do.]


#2

Have you looked into Muut.com? I quite liked them, not in least because their JS code is much lighter than Disqus and have a cleaner layout as well.


#3

I’ve actually gone with Isso which is Python-based and uses a simple flat file SQLite3 DB to store the comments. It was a complete arse to get configured and running, but it’s nice and lightweight and it allows you to import your existing Disqus comments. So it seemed the best option.

This isn’t necessarily a recommendation for Isso, by the way. I’ve only just got it running and am still at the tweaking stage: https://discuss.gohugo.io/t/how-to-do-proxying-during-development/5517

So my internal jury’s still out as to how good a comments system it actually is.


#4

If you want to keep your comments local to the site, Staticman is worth looking at. It was originally conceived for Jekyll, but I believe works with (or will soon) Hugo. https://staticman.net/


#5

Sounds interesting. But seems kinda dependent on you using github pages to deploy your Hugo site. Mine’s self-hosted.


#6

I think GitHub pages for the comments, only, and you can self-host the app, too. If it’s of interest to you, you could reach out to Eduardo and he’ll let you know.


#7

I didn’t want to, but now I’m using Facebook Comments. For a non-tech audience, it’s the best thing. Muut seems a great alternative, but if people comment way less when using Disqus, I don’t think my comment section will be active with Muut, because it’s one more account needed for commenting.


#8

@stiobhart I installed Isso for my work blog comments as I cannot let the comments go outside the company via Disqus, etc. And I love it. Installing was easy for me as I serve my blog and comments from the same machine.

A big +1 for Isso for supporting Markdown! Writing code on Disqus is a pain.

I want to now switch to Isso on my public blog too. I’ve never dealt with hosting services (my public blog is published by Gitlab.com CI Runner).

What hosting service do you use for Isso comments? Would you be willing to briefly describe the Isso server installation process on an external host? I am all set configuring Isso from client side (i.e. my Hugo theme).

Thanks.


#9

I’ve installed Isso on the same VPS as serves my Hugo site, so it’s self-hosted.

It was a bit of a pain to get working, as the documentation’s a bit vague in places. But, once I’d worked out what I was supposed to be doing, setup was actually fairly straightforward. I was actually planning to write a blog post on the process [as an aide-mémoire for myself, as much as anything else]. If I get it done in the near future I’ll add the link here but in essence, the procedure was:

  1. Setup a Python virtualenv
  2. Change to virtualenv
  3. Install Isso
  4. Configure Isso settings
  5. Export existing comments from Disqus as XML
  6. Import XML into Isso
  7. Config server to proxy /isso URLs to Isso
  8. Create systemd startup script to automatically start Isso on server boot.
  9. Add a couple of lines of code to my Hugo header and single templates, to embed the necessary Isso code
  10. Profit!!!

#10

Thanks.

These points are new to me…

  • Setting up a VPS

and

7. Config server to proxy /isso URLs to Isso
8. Create systemd startup script to automatically start Isso on server boot.

I will tackle those as time comes.


#11

Well, you’ve inspired me to start writing a blog post about how I set it all up. So, watch this space!


#12

Thank you.

I don’t know the level of detail you would go down to in your blog post. But my questions are pretty 101/low-level:

  • What are some good VPS options? Amazon AWS?
  • If the comment server is running on 123.123.123.123:5555, how do I ensure that my blog running on Gitlab servers is able to access that IP and port?
  • Can I use that kind of IP directly? Or do I need to map it to something like foo.example.com via my domain provider’s admin tool?
  • In Isso docs, I came across Nginx and proxy setting. But I have no idea as to what those are and how to configure. I probably will need that as my blog and comment server will be on totally different IPs.
  • Never had to play with systemd as am using Unix based OS only at work where I don’t have admin rights. Would be nice to see an example of how to set that on the VPS.

Phew… just the few 101 questions that I can think of at the moment :slight_smile:


#13

Here you go:

I hope this is some use to you, if you get as far as wanting to set this up on your own server.

In the meantime, some answers to your other questions:

I use Linode. They’ve just introduced a $5/month VPS, which is a good price.

You might run into CORS issues there, because your comments [which are presumably powered by Javascript] are being served from a different domain. You can get round this by twiddling with the response headers your site sends [sorry, can’t rem the technical details at the mo] or by embedding your comments via an <iframe> [which is how Disqus does it]

Yes. If the comments are coming from a different server, you’d have to map a subdomain to the IP address of the other server.

Isso is a Python application. As a humble web server, Nginx can’t directly run Python code itself. So whenever any requests come in for parts of your site [ie. the comments] which need to be handled by Python, the proxy settings tell Nginx to pass those requests over [ie. ‘proxy’ them] to Isso instead. Then Isso processes the info and sends it back to Nginx which displays the results [ie. your comments] on the page.

Covered in my blog post I linked to. Not that complicated to set up, but for that [and most of this stuff, in fact] you would need admin access to a server.


#14

Thank you! That blog post is very useful and provides a lot of new information for me.

Thanks. I have already started with the Amazon AWS free tier. Will be shopping for the best price/value after this ends :slight_smile:

Understood.

OK.

Thanks. I noticed that you went through great effort to explain your Isso setup in full detail. As I am starting from scratch, I will just follow your post and use Caddy instead of Nginx to set up the proxy.


#15

Hi, have you tried GraphComment, maybe yet? It’s a platform that engages and build community on your site, you moderate, track, create discussions, build e-reputation, and more. Give it a go if you want, do tell how you liked it - or not :wink:


#16

I really like Isso’s “look and feel” as well as their implementation of sqlite3 (I regard Fossil as innovative and under-rated) but don’t have time to moderate/watch for spam posts. If I had time, I’d definitely jump in and modify it to suit my needs, adding oAuth, an approval queue, oAuth blacklist, and a way to flag regulars with flags, such as “auto-approve/post replies”.

As for me, I’ve decided I’m just going to go the route of using Discourse. It defeats the “keep it static” or whatever mantra but I’m not worried about being a purist. Easy integration and hassle free management. IMO, Discourse is at the top of the game as far as alternatives to Discuss are concerned.

Just my 2c…


#17

I just started to get a site setup with Disqus integrated. If I permit Disqus to run in Ghostery I get 6 additional trackers detected.

I will be turning that off now, and seeing about integrating one of the other options in this thread.

Thanks for putting together the list of alternatives.


#18

Has someone already looked into firebase?
If the site is hosted on firebase, one could simply just use the API to retrieve comments for each site and have a form to add it via API.


#19

You don’t even have to host the site on Firebase to do this. Here’s a tutorial: https://css-tricks.com/building-a-jekyll-site-part-3-of-3/


#20

Luckily for me [or unluckily, depending on your point of view], my vacuuous rantings only attract the odd comment every week or two, so the lack of advanced moderation tools in Isso hasn’t been a problem.

If someone leaves a comment, I get an email notification containing text of said comment, along with two links; one to click to approve it and one to click to reject it:

The link opens a blank browser window which pops up an “Are You Sure…” type dialogue to confirm the choice:

It’s maybe not as elegant as it might be but, for a site with low comment traffic, it’s not too onerous to keep on top of.