1. Accept comments via email, CGI scripts, server-side program or by any other means that suits you. A simple hack that requires no server-side scripting: if you run your own web server, you can submit comments as GET query parameters logged in access.log, then extract them using grep, sed, etc. Personally, I use a server-side program to accept POST requests and write comments to a text file on the web server.
2. Review submitted comments. Delete spam.
3. Add comments to your website source repository as .md, .html or whatever format you use, similar to how you add blog posts as content files to your source.
4. Render comments alongside the rest of your site using your static site generator. Depending on the nature of your static site generator, this may require using or creating a template or layout that iterates over the comments and renders them.
It is a fairly hands-on workflow, so it may not suit everybody, but this is how I do it for my personal website. I see two main benefits of this approach. Since the review is manual in step 2, no spam can ever make it to my website. Step 3 ensures comments live entirely under my control, so I never need to worry about migrating them between platforms in the future.
It's very themeable. If for some reason you want your comments to look like Hacker News, there's a theme here: See the playground here: https://bluesky-comments.netlify.app/theme/
https://jesse.id/blog/posts/you-can-now-comment-on-my-blog-f...
I'm asking of curiosity, when it started I disabled commenting on my web page
You can now review places with an ATproto account. Any app can implement the same lexicon. Review data belongs to users, as JSON on their PDS.
I will not be tempted to have comments on my personal blog.
I did something similar, but with GitHub Discussions because my blog is hosted on GitHub Pages and composited with Hugo, and I wanted all components to run as close as possible to one another: https://jasoneckert.github.io/myblog/github-discussions-blog...
I didn't build it myself, I use Giscus, but it seems to work fine. Tough to say, though, since no one comments on my blog :)
That said in Wordpress you spend zero devops time, and get comments and decent spam filtering options. You also don't need users to have a social account.
It definitely can. Bluesky is not as decentralised as you think.
(*) the entire post, not a excerpt and link to another platform
(*) long posts - posts need to be the size of stack overflow questions
(*) code blocks - it's a tech questions, posters need to be able to post code
(*) screenshots - posters need to be able to post pictures of what's wrong.
(*) serving a static site - I don't want to run a server so a script with an iframe is best. Though it would be nice if they had a message protocol for sizing.
(*) good a blocking/dealing with spam - it should be good at blocking spam. It should be easy to deal with 1000 spam messages should it ever happen. If I have to manually delete them one at a time then no.
(*) free - haha. the stuff I write is open source. I don't want to have to pay on top of my time.
(*) a sustainable business model - not sure what this means except my impression of things like giscus is they either require a server (see above), or they're running the service at a loss so it will probably eventually die.
(*) editable by mod - the posts need to be useful to other users and often posters mis-format
I don't use anything related to github because I expect github will eventually disallow this. I would consider using github if github itself offered the service. Github has one of the best UIs for tech question IMO. Markdown, drag and drop images, drag and drop video, large message size.
I use disqus because even though it sucks, it mostly checks all of those boxes. It's worst part is code blocks. It supports them but they are hard to use.
I looked into things like giscus and utterance. They both require a server or you trusting that they'll run theirs forever. They also use that ludicris "Act on your behalf" BS github permissions system.
Twitter split into x, bluesky, and truthsocial. By picking one, you now allow comments from only 1/3 of your readers. Maybe that's intentional, a sort of ad hoc political filter or gate. But I think it's noteworthy.