web development

Why I chose a self-hosted comments plugin for my personal blog

The Commentions plugin for Kirby CMS

Throughout this long pandemic, I’ve spent far too much time building my new blog — much more than either writing it, or promoting it.

But, I’ve enjoyed taking the time to learn basic PHP code, and slowly evolving my blog’s simple design and structure.

And now, although my traffic is still very low, I want to add just one last feature, before I start using my blog ‘for real’ — readers’ comments.

Why a self-hosted plugin, instead of a hosted app?

  • I originally chose to use Kirby CMS for my blog because I liked the simplicity of its flat-file, text-based system. So it makes sense for me to want the same advantages for comments. With a self-hosted plugin, all the files for my blog, including all the comments, are held on my own computer and server, in an easily-readable, highly-portable, text-only format. They are completely under my control, using an FTP app, like Transmit, or the macOS Finder.

  • The design I’ve evolved for my blog has prized simplicity above all else. I’ve added as little as possible to its blogging interface — no fancy icons, emoji, Unsplash images, extra sidebars, or animations — just plain typography, directly-relevant images, and a simple layout. So I wanted a commenting system that either has exactly the same design (unlikely), or which allows me to fully customise its styling and options.

  • I’m not sure what I’m aiming for in readers’ comments. I don’t expect it to become any kind of ‘live’ discussion forum. More likely — just a few occasional contributions that add to (or correct) my original posts. So, I’m hoping that I won’t need powerful moderation tools to manage its low volume feedback and conversations.

A choice of two plugins: Commentions or Komments?

After learning and using Kirby for the last year, I’ve come to see it as a ‘perfect’ blogging platform — but with one missing feature: readers’ comments.

So huge thanks to these two developers who have put months of their own free time into creating the two currently available Kirby plugins:

I’ve only tried out Commentions so far — but I’m equally grateful that the Komments plugin exists as an alternative.

How I’ve customised Commentions

  • I’ve stripped my comments’ layout and styling to the minimum, so that it’s well integrated with the rest of the post, yet still visually different.

  • When the comments styling closely matches the site design, it becomes important for the headings text to match the author’s ‘voice’ too. So I’ve followed Sebastian’s super-detailed instructions to personalise a few of the translation strings in the site config.php file.

  • I love the concept of Webmentions, but I’ve not yet got my brain around its underlying mechanisms. And in honesty, I don’t want to end up with a messy UI, and too much detail. So, for now, I’ve used Commentions’ toggle switch in the control panel to suppress all the webmentions options.

  • I’ve also hidden Commentions’ Markdown help dropdown, and replaced it with a link to Mark Cone’s excellent Markdown cheat-sheet. (I even toyed with the notion of a ‘Comments Policy’ page, like Dave Winer’s when he had Disqus comments.)

Moderating Commentions in Kirby’s control panel


New comments queued on the blog page
Approved comments on the post page

New comments are all queued together, awaiting approval, on the blog page in Kirby’s control panel. At the same time, I should get an automatic email to tell me that a comment is waiting. (I’ve still to test this properly). Comments can then be individually approved, deleted, or even edited here, using controls that are well integrated into Kirby’s panel UI.

On approval, comments are automatically moved to their individual post page, below Kirby’s main text entry field, and the options to un-approve, re-approve, delete, and edit, all remain here for the life of the post.

Some comments about Commentions

  • It’s great to have comment moderation tools ‘live’ in Kirby’s control panel, instead of having to log on to a separate site with a completely different UI.

  • But it would be even nicer to be able to ‘bulk-select’ several comments in the control panel, to be approved or deleted as a group. This would be the first timesaver I’d look for if I had more comments traffic.

  • Live preview of Markdown text would be a tempting enhancement. However, its absence keeps my blog layout simple, and encourages readers to keep their comments minimalist too!

My new comments system

My very first comments panel is now ‘live’ below. Will my optimistic assumptions about comments prove to be naive? Do you like my minimalist design? Let me know what you think.

Update, 4 July 2024: I appreciate the massive effort Sebastian Greger has already put into his Commentions plugin, and I’ve had a wholly positive experience using it. But sadly, just before the launch of Kirby CMS version 4, Sebastian stopped maintaining it.

So, as it’s now incompatible with Kirby 4, I’ve now stripped out all the old Commentions code, and manually reinstated the few (but much appreciated) comments I’ve had so far.