Skip to content
CommentAura

WordPress plugin · Free and GPL

Comments that stay WordPress comments.

Threading, voting, reactions, subscriptions and editing — all of it stored in your own wp_comments table. Turn CommentAura off and every comment, reply and permalink still works.

  • No iframe
  • No third‑party requests
  • Works without JavaScript
One post · one database · two plugin states

… which is why the comment table is the only part of a discussion plugin that really matters.

3 comments Newest first
Pinned

Editorial team 12 August 2026

Keep the discussion on the design itself, please — comparison spam gets removed.

Reply ▲ 12 ▼ ♥ 4 Edit

Katarzyna 13 August 2026

The part nobody checks before installing: where does this actually put my comments?

Reply ▲ 31 ▼

marcus 14 August 2026

wp_comments, same as core. That is the entire answer.

Reply ▲ 137 ▼ ♥ 41

Every control you see is CommentAura's. Votes and reactions went quiet — they are the plugin's own. Three comments, three authors, three dates, one reply nested under its parent. Not one of them moved.

Zero lock‑in

There is no second server in the path

A hosted comment service puts somebody else's machine between your readers and your discussion. CommentAura does not have a machine. Every comment is selected from your own database and returned inside your own page.

YOUR SERVER Reader request WordPress SELECT wp_comments HTML, already rendered never any third-party service YOUR SERVER Reader request HTML WordPress SELECT wp_comments never any third-party service
Nothing sits between your reader and your database. Which is also why the thread survives you removing the plugin — there is nothing to disconnect from.

Your comments are never moved

Everything lives in wp_comments and wp_commentmeta, where WordPress already puts it. No iframe, no external account for your visitors. Uninstalling removes CommentAura's own tables and never touches a comment.

It runs without JavaScript

The thread is rendered on the server, inside your page's HTML. Reading, posting, editing, voting and reacting are all plain form submissions — which is also why search engines index the discussion and screen readers can read it.

Nothing is sent anywhere

No trackers, no CDN, no analytics beacon, no sponsored content in your discussions. The plugin makes zero outbound HTTP requests, and guest identities are stored as a one‑way salted hash rather than a raw IP address.

Performance

Measured, not asserted

Comment plugins have a reputation for being the heaviest thing on a page. These are the four numbers that reputation is built on, and what CommentAura does about each.

0 KB loaded on a page with no comment thread. Not a small file — none at all.
Flat queries per thread, whether a post has ten comments or ten thousand.
0 outbound HTTP requests. There is no service to be slow or to go down.
100% of the thread is in the HTML before a single line of script runs.

Replies are fetched per level, not per comment

The usual failure is one query per comment to find its children, which turns a popular post into a slow one. CommentAura reads a whole nesting level at a time, so the query count is decided by thread depth and never by thread size.

Nothing loads until there is something to render

A page with no discussion on it gets no stylesheet, no script and no inline payload from CommentAura. The decision is made early enough in the request to keep the asset off the page entirely, rather than shipping it and hiding it.

Page caching is not a special case

Reading a thread sets no cookies and needs no per‑visitor state, so a post with comments caches exactly like a post without them. Posting goes through WordPress's own comment handler, which is never served from a cache.

Screens

Quiet on the front. Plain in the back.

Real screens from a real install, not mock-ups — and not a state the plugin cannot actually reach.

A CommentAura thread on the front end: a pinned comment at the top, replies indented under their parent, and a compact action row of Reply, a vote pill and reaction counts under each comment.
The thread. Reaction chips only appear once somebody has used one; the rest sit behind a single control.
The same thread at phone width, with a narrower avatar gutter and the action row wrapping onto its own line.
The same thread at 400 px, shown at its real size. The avatar gutter narrows, because every nesting level pays for it again.
The CommentAura dashboard in WordPress admin. Four status cards — Integration, Caching, Spam and Notifications — each reporting its state in words beside a coloured dot, with activity counts underneath.
The dashboard checks against your actual install. Anything it cannot verify says “not detected” rather than being rounded up to OK.
The CommentAura settings screen: sort order, an editing toggle with a time limit, and toggles for voting, reactions and comment subscriptions, each with a sentence explaining what it does.
Settings. Deliberately few of them — anything only a developer would touch is a filter, not a checkbox.
The CommentAura Import / Export screen: a Disqus file picker with a mode toggle that defaults to a dry run, and a Download export button for taking every comment out as JSON.
Import and export on one screen. The import mode toggle is off by default, so the first run is always a dry run.

The three admin screens are too wide to read on a phone. They are on the WordPress.org listing at full size.

Features

A discussion system, not a stylesheet

Every one of these is in the free plugin today. None of them is a preview, a trial, or a greyed-out row waiting for a licence key.

Threaded discussions

Classic and block themes, with byte-identical output through either path.

Comment subscriptions

Proper double opt-in — nobody is emailed until they confirm — with one-click unsubscribe on every notification.

Voting

Duplicate prevention enforced by a database constraint, not by hopeful bookkeeping.

Reactions

A chip appears once somebody has used it, so an empty thread stays quiet.

Comment editing

For as long as you allow, with every revision retained so moderators can always see what a comment used to say.

Pinned comments and closing

Lift a comment above the paged flow, or close a discussion per post.

A spam baseline, no CAPTCHA

An invisible honeypot and a timing check. CAPTCHAs tax every honest reader to inconvenience a bot that solves them for a fraction of a cent. Works alongside Akismet.

Rate limiting that is fair

Core matches floods on IP or email, so two strangers behind one office network block each other. CommentAura keys on identity and address together.

Cache-safe guest commenting

Permission to post is fetched at the moment of posting, so it is never stale inside a fully cached page.

Full GDPR support

Registered with WordPress's own personal-data exporter and eraser, so the built-in request flow just works.

A documented REST API

Routes under commentaura/v1, with a permission callback on every one of them.

Overridable templates

Copy any partial into your theme. Callbacks are named throughout, so hooks can actually be removed.

PSR-4, PHP 8.1+, strict types, PHPStan level 8. The plugin is GPLv2 or later, and the whole of it is on WordPress.org where you can read it before you install it.

Moving in and out

Coming in is easy. Leaving is easier.

A plugin that is hard to leave is not earning your loyalty, it is holding it. Every tool below is in the free version, and will stay there.

Import from Disqus

Point it at your Disqus export. Threads are matched to your posts by URL — including your old domain, since leaving Disqus usually follows a domain change — and a discussion that cannot be matched is skipped rather than attached to the wrong post. Re-running the same file imports nothing twice.

Switch from another plugin

wpDiscuz, Jetpack Comments and Subscribe to Comments Reloaded already store comments in wp_comments, so there is nothing to migrate. CommentAura brings across the part that would otherwise be lost: subscriber lists and votes. Nothing is deleted from the other plugin.

Export everything, any time

Download every comment on the site as JSON, streamed in batches so the size of your site does not decide whether the export finishes. WordPress's own exporter works too — this exists so that leaving is never blocked on a tool you do not have.

Dry run first, always. Every import previews exactly what it would do before anything is written, and that is the default rather than an option you have to find.

One thing Disqus will not give you. Exports produced since 2019 contain no email addresses and no IP addresses for guest commenters. CommentAura keeps the display name, imports with an empty address, and tells you how many were affected — rather than letting you find out from a support ticket.

Roadmap

What is coming, in the order it is coming

CommentAura is built by one person with no investor clock running, so the plan is sequenced rather than dated. Each stage ships when the one before it has evidence behind it — and a stage is delayed rather than shipped soft.

  1. Available now

    Lite 1.0 — the whole discussion layer

    Threading, sorting, permalinks and pagination. Guest commenting that survives page caching. Editing with revision history. Votes, reactions, pinned comments and per-post closing. Subscriptions with double opt-in. The Disqus importer, the plugin migrations and the full export. Spam baseline, GDPR, REST API and hooks.

    Version 0.1.0 · on WordPress.org today

  2. In progress

    Lite, hardened by real installs

    The cache matrix tested against hosts in the wild rather than a laboratory. The Disqus importer put through genuinely large exports. A documentation site and a published benchmark page. Polish driven by support tickets, because a ticket is research that arrived for free.

    Exit condition: the compatibility matrix holds on real hosting, and the importer has been through exports it did not choose.

  3. Planned

    Pro 1.0 — the moderation suite

    A keyboard-first moderation queue with bulk actions and undo. AI triage and toxicity scoring on your API key, not ours. A pre-moderation rules engine. A delegated moderator capability, front-end moderation and reader flags. Engagement analytics, @mentions, post-comment conversion actions and hardened media uploads.

    The dividing line: Lite serves the commenter and the blogger, Pro serves the moderator and the audience owner. Nothing moves across that line without a written decision.

  4. Planned

    1.x — compounding on the base

    Email digests, once there is real deliverability data from subscriptions to build them on. Commenter badges, once engagement data says they would be used rather than merely displayed. An agency programme. Social login only if account friction turns out to be what stops people commenting — and only a few providers, hardened.

    Each item is gated on its own evidence, not on the calendar.

  5. Direction, not commitment

    The long lines

    Metered AI for people who would rather not hold an API key. Optional hosted conveniences that never cripple the plugin when you decline them. Live-updating threads, which are deliberately not in the product today. Inline comments anchored to a paragraph. WooCommerce reviews and Q&A.

    These are listed so the roadmap is honest about its edges. None of them is promised, and none of them has a date.

Six things that will never move behind a paywall

Whatever Pro turns out to be, it will not be built by taking these away. They are the reason to trust the free plugin, and charging for any one of them would turn CommentAura into the thing it was written to replace.

  • Every importer, and the full export
  • The spam and security baseline
  • GDPR export, erasure and clean uninstall
  • Reply notifications and subscriptions
  • The public REST API, hooks and templates
  • Cache and theme compatibility

Questions

Asked first, usually

Will I lose my comments if I deactivate this?

No — this is the entire point of the plugin. Comments live in WordPress's own tables the whole time. Deactivate CommentAura and your theme's normal comment display returns, with every comment, reply and link intact.

Does it work with page caching?

Yes. The thread is rendered into the page itself and sets no cookies, so a post with comments caches exactly like a post without them.

Posting goes through WordPress's own comment handler as a normal form submission, which is never served from a cache — so commenting works on a fully cached page without the plugin having to punch a hole in it.

Does it work with block themes?

Yes. CommentAura integrates with both the classic comments_template() path and the block editor's core/comments block, and produces identical output through either.

Do my visitors need JavaScript?

No. Reading, posting, editing, voting and reacting all work with JavaScript disabled, because all of them are plain form submissions.

Is there a CAPTCHA?

No, and that is deliberate. A CAPTCHA taxes every honest reader in order to inconvenience a bot that can solve it for a fraction of a cent. There is an invisible honeypot and a timing check instead, which cost your readers nothing.

Where are votes and reactions stored?

In CommentAura's own tables, because they do not fit WordPress's comment schema. The comments themselves are never copied, shadowed or moved — which is why the votes go quiet if you deactivate the plugin while the discussion does not.

Does it send anything to a third party?

No. There are no third-party requests of any kind — no analytics, no CDN, no phone-home. Guest identities are stored as a one-way salted hash rather than a raw IP address.

What does uninstalling remove?

Only CommentAura's own tables and options, and only if you tick the box that says so. Your comments are WordPress's, not the plugin's, and are never touched.

How much will Pro cost?

Pro does not exist yet, so there is no price to quote and no pre-order to take. When it does, it will be one bundle priced by site count — never by feature — and the renewal price will be printed next to the first-year price.

Nothing listed on this page as free is going to become part of it. That list is above, in writing, ahead of the product it constrains.

What does it need to run?

WordPress 6.5 or newer and PHP 8.1 or newer. It works on single sites and on multisite, with classic themes and with block themes, and it is licensed GPLv2 or later.

Install it, and it is already working

There is nothing to import, connect, or sign up for. Your existing comments are already where CommentAura reads them from.

  1. Open Plugins → Add New and search for CommentAura.
  2. Install it, then activate it.
  3. That is it. Settings live under CommentAura → Settings, and there are deliberately few.
Get CommentAura on WordPress.org
  • WordPress 6.5+
  • PHP 8.1+
  • Multisite ready
  • GPLv2 or later
  • Version 0.1.0

Support

Something rendering wrong? Tell us which theme.

Theme and cache combinations are where a comment plugin actually breaks, and the only way to cover them is for somebody to hit one and say so. A report with the theme name and the caching plugin in it is worth more than a dozen stars.