What a modern comment system should actually do
Comment tools all look similar in a screenshot: a box, a button, a list of replies. The differences that matter show up later, when you are moderating a spam wave, watching your page speed, or trying to move your data somewhere else. This is a checklist you can hold any comment system against before you commit. Gabden meets each of these, but the list is useful whatever you end up choosing.
Flexible reader identity
People comment more when the barrier is low. A good system lets a reader post anonymously, as a guest with just a name and email, or signed in with a provider like Google or GitHub. Forcing account creation before someone can leave one line is the fastest way to an empty thread. Hosted profiles are a bonus: they let returning readers build a recognizable identity across your threads.
Real moderation, not just an on/off switch
Moderation is where most of the work happens, so the controls need range. Look for:
- Multiple modes: pre-moderate everything, auto-approve, auto-approve returning verified people, or moderate only anonymous users.
- A blocked-word filter you control.
- A spam and pending queue you can work through quickly.
- Threaded replies so conversations stay readable.
- Per-page rules, so you can turn comments off on specific URLs without disabling them everywhere.
A system with only "approve everything" or "approve nothing" will force you into a bad choice the first time volume climbs.
Privacy by default
Your comment widget runs on every page it appears on, so its privacy posture becomes your site's. The features to require: no tracking cookies, no fingerprinting, no cross-site tracking, and analytics that are anonymous aggregate counts rather than per-reader profiles. This is not just an ethics point. A tracking-heavy widget creates consent-banner and compliance work you would rather avoid, and it erodes the trust that makes people comment in the first place.
Speed and page weight
A comment embed that ships hundreds of kilobytes of script will show up in your Core Web Vitals and can drag your rankings. Ask how large the embed is and whether it loads without blocking the rest of the page. A small embed, in the range of 10KB, keeps comments from becoming a performance problem. Our piece on how your comment system affects performance and SEO goes deeper on why this matters.
Engagement features that fit
Reactions like a like and a heart give readers a low-effort way to participate, which warms up a thread before anyone writes a full comment. Threaded replies keep discussions coherent. Light and dark themes with presets let the widget match your site instead of looking bolted on. These are not luxuries. They are the difference between a comment section that looks native and one that looks like an ad unit.
Team roles and permissions
If more than one person touches moderation, you need roles with per-module permissions, so a contributor can review comments without holding the keys to billing or settings. Even for a small team, this keeps responsibilities clear.
Data ownership and export
You should be able to leave. A system that lets you export your comments as JSON or CSV means your discussion history is yours, not a hostage. This also makes migrations sane. Speaking of which, look for import support too: bringing in existing comments from Disqus, native WordPress, or another system, mapped to each page's URL, saves you from starting cold.
Works where your site lives
The install should be one script tag that works on WordPress, Ghost, Hugo, Jekyll, Astro, Next.js, Webflow, Wix, Squarespace, Shopify, Framer, Notion, Docusaurus, static sites, and plain HTML. If a tool only works on one platform, you are locked to that platform.
Using the checklist
Score any candidate on identity, moderation range, privacy, speed, engagement, roles, export, and platform coverage. A tool can be strong on the demo and weak on three of these, and you will not notice until you are living with it. If you want to check the features against a running install, you can create an account and try them on your own pages, or read the full details in the docs.




Join the discussion