Today, I was looking in the Network tab of Chrome DevTools for a future post, when I noticed something concerning. I went to a text-only post to double-check and found the same thing:
My immediate questions:
- What is all this crap?
- Why is it here?
- How is my simple text post taking 1.6 MB of resources - with 149 kB transferred (despite my having just refreshed) over 117 requests?
I didn’t have any immediate answers to #1 or #3, but I had a good idea about #2. I went to my Jekyll post layout, commented out the bit that embeds Disqus, and sure enough:
I embedded Disqus in my posts when I first set up my little blog a few years ago, after looking around briefly for static site commenting solutions. I have scarcely thought of it since - until now. My discovery today was immediate grounds for dismissal. It even made my site feel slower when testing locally (
jekyll serve). The last thing I want to do to readers who take a chance on my words is make their browser fetch a bunch of junk and track them.
So, I’m ditching Disqus out of disqust;1 by the time this post is up, it’ll be gone.
What to replace it with? My first thought was ‘nothing’: I have had some discussion about my articles in person and by email, but I have garnered a total of 0 comments through Disqus.
However, I looked around at static-site-commenting-solutions again and happily found utterances, which is an open-source comments widget that uses GitHub issues for backing (and style). On a whim, I swapped the script tag into my layout and refreshed.
Wow! The resources for my content—the reason the site exists in the first place—are not vastly out-numbered and out-weighted by the resources for the comment widget at the bottom. Imagine that.
Even the design feels cleaner and less bloated:
So, I’ll try utterances for now. Maybe I’ll end up deciding comments are overrated and strip it out, but in the meantime, it beats Disqus.
Postscript: Looks like I’m late to the party! This article in particular has a nice GIF, in case you really want to feel like your site is being hijacked by a third-party widget.
I tried to resist and failed. ↩