{"id":360902,"date":"2026-09-16T04:48:17","date_gmt":"2026-09-16T04:48:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/commentaura\/"},"modified":"2026-09-16T05:07:14","modified_gmt":"2026-09-16T05:07:14","slug":"commentaura","status":"publish","type":"plugin","link":"https:\/\/zul.wordpress.org\/plugins\/commentaura\/","author":21017071,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.0","stable_tag":"0.1.0","tested":"7.1.1","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"CommentAura","header_author":"Ibrahim Riaz","header_description":"The modern discussion platform for WordPress. Your comments stay native WordPress comments \u2014 always.","assets_banners_color":"1e252a","last_updated":"2026-09-16 05:07:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/waafaa.com\/plugins\/commentaura\/","header_author_uri":"https:\/\/profiles.wordpress.org\/ibrahimriaz\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":55,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"ibrahimriaz","date":"2026-09-16 05:07:14","revision":3697919}},"upgrade_notice":{"0.1.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3697919,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3697919,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3697919,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3697919,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3697919,"resolution":"1","location":"assets","locale":"","width":2560,"height":1800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3697919,"resolution":"2","location":"assets","locale":"","width":2880,"height":1800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3697919,"resolution":"3","location":"assets","locale":"","width":2880,"height":1800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3697919,"resolution":"4","location":"assets","locale":"","width":2880,"height":1400}},"screenshots":{"1":"The comment thread on the front end. Rendered on the server as plain HTML \u2014 reading, posting, editing, voting and reacting all work with JavaScript turned off.","2":"The dashboard. Integration, caching, spam and notification status in one screen, with activity counts underneath.","3":"Settings. Sort order, comment editing and its time limit, voting, reactions and subscriptions \u2014 deliberately few of them.","4":"Import \/ Export. Bring a Disqus export in with a dry run first, or download every comment as JSON."}},"plugin_section":[],"plugin_tags":[6074,280988,265490,107,5708],"plugin_category":[44],"plugin_contributors":[280989],"plugin_business_model":[],"class_list":["post-360902","plugin","type-plugin","status-publish","hentry","plugin_tags-comment-moderation","plugin_tags-comment-subscriptions","plugin_tags-comment-voting","plugin_tags-comments","plugin_tags-discussion","plugin_category-discussion-and-community","plugin_contributors-ibrahimriaz","plugin_committers-ibrahimriaz"],"banners":{"banner":"https:\/\/ps.w.org\/commentaura\/assets\/banner-772x250.png?rev=3697919","banner_2x":"https:\/\/ps.w.org\/commentaura\/assets\/banner-1544x500.png?rev=3697919","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/commentaura\/assets\/icon-128x128.png?rev=3697919","icon_2x":"https:\/\/ps.w.org\/commentaura\/assets\/icon-256x256.png?rev=3697919","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/commentaura\/assets\/screenshot-1.png?rev=3697919","caption":"The comment thread on the front end. Rendered on the server as plain HTML \u2014 reading, posting, editing, voting and reacting all work with JavaScript turned off."},{"src":"https:\/\/ps.w.org\/commentaura\/assets\/screenshot-2.png?rev=3697919","caption":"The dashboard. Integration, caching, spam and notification status in one screen, with activity counts underneath."},{"src":"https:\/\/ps.w.org\/commentaura\/assets\/screenshot-3.png?rev=3697919","caption":"Settings. Sort order, comment editing and its time limit, voting, reactions and subscriptions \u2014 deliberately few of them."},{"src":"https:\/\/ps.w.org\/commentaura\/assets\/screenshot-4.png?rev=3697919","caption":"Import \/ Export. Bring a Disqus export in with a dry run first, or download every comment as JSON."}],"raw_content":"<!--section=description-->\n<p>CommentAura turns the native WordPress comment section into a modern discussion experience, without taking your data hostage.<\/p>\n\n<p>Everything is stored in <code>wp_comments<\/code> and <code>wp_commentmeta<\/code>, exactly where WordPress puts it. Deactivate CommentAura and every comment, every reply, and every permalink still works. That is not a migration path \u2014 it is the architecture.<\/p>\n\n<h4>Built on three promises<\/h4>\n\n<p><strong>1. Zero lock-in.<\/strong> Your comments are native WordPress comments. No iframe, no external service, no account for your visitors, no export step if you leave. Uninstalling removes CommentAura's own data and never touches a single comment.<\/p>\n\n<p><strong>2. It works without JavaScript.<\/strong> The comment thread is rendered on the server, in your page's HTML. Search engines index it. Readers with slow connections see it. Screen readers read it. CommentAura ships no JavaScript at all \u2014 reading, posting, editing, voting and reacting are all plain form submissions.<\/p>\n\n<p><strong>3. No ads, no trackers, no third-party requests.<\/strong> CommentAura sends nothing to anyone. There is no analytics beacon, no CDN call, no \"sponsored\" content injected into your discussions.<\/p>\n\n<h4>What you get<\/h4>\n\n<ul>\n<li><strong>Threaded discussions<\/strong> that work with both classic themes and block\/full-site-editing themes<\/li>\n<li><strong>Comment subscriptions<\/strong> with proper double opt-in \u2014 nobody is emailed until they confirm, and every notification carries a one-click unsubscribe<\/li>\n<li><strong>Voting and reactions<\/strong>, with duplicate prevention enforced by the database rather than hopeful bookkeeping<\/li>\n<li><strong>Comment editing<\/strong> for a configurable window, with every revision retained so moderators can always see what a comment used to say<\/li>\n<li><strong>Pinned comments<\/strong> and per-post discussion closing<\/li>\n<li><strong>A spam baseline<\/strong> \u2014 honeypot and timing checks, no CAPTCHA. CAPTCHAs tax every honest reader to inconvenience a bot that can solve them for a fraction of a cent. Works alongside Akismet if you use it.<\/li>\n<li><strong>Rate limiting that does not punish shared networks.<\/strong> WordPress core matches floods on IP <em>or<\/em> email, so two unrelated visitors behind one office or mobile network block each other. CommentAura keys on identity and address together.<\/li>\n<li><strong>Full GDPR support<\/strong> \u2014 registered with WordPress's own personal-data exporter and eraser.<\/li>\n<li><strong>Privacy by construction<\/strong> \u2014 guest identities are stored as a one-way salted hash, never as a raw IP address.<\/li>\n<\/ul>\n\n<h4>Moving in, and moving out<\/h4>\n\n<p>Under <strong>CommentAura \u2192 Tools<\/strong>:<\/p>\n\n<ul>\n<li><strong>Import from Disqus.<\/strong> Point it at a Disqus export file. Threads are matched to your posts by URL \u2014 including your old domain, since a move away from Disqus usually follows a domain change \u2014 and a discussion that cannot be matched is skipped rather than attached to the wrong post. Re-running the same file imports nothing twice.<\/li>\n<li><strong>Dry run first, always.<\/strong> Every import previews exactly what it would do before anything is written. That is the default.<\/li>\n<li><strong>Switch from another comment plugin.<\/strong> Your comments need no migration at all \u2014 wpDiscuz, Jetpack Comments and Subscribe to Comments Reloaded all store them in <code>wp_comments<\/code> already, which is where CommentAura reads from. What those plugins keep in their own tables is the material <em>around<\/em> the comments, so CommentAura brings across the part that would otherwise be lost: subscriber lists and votes. Nothing is deleted from the other plugin, and running it twice does not double anything.<\/li>\n<li><strong>Export every comment as JSON<\/strong>, streamed in batches so the size of your site does not decide whether the export finishes.<\/li>\n<\/ul>\n\n<p>Note that Disqus exports produced since 2019 contain no email addresses and no IP addresses for guest commenters. CommentAura preserves 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.<\/p>\n\n<h4>Performance<\/h4>\n\n<p>A page with CommentAura active but no comment thread loads <strong>zero<\/strong> CommentAura assets. Not a small file \u2014 none.<\/p>\n\n<p>Rendering a thread costs a fixed number of database queries regardless of how many comments a post has, because replies are fetched per level rather than per comment. A post with 10 comments and a post with 10,000 cost the same.<\/p>\n\n<h4>Developer friendly<\/h4>\n\n<ul>\n<li>A documented REST API under <code>commentaura\/v1<\/code><\/li>\n<li>Every template is an overridable partial you can copy into your theme<\/li>\n<li>Named callbacks throughout, so hooks can actually be removed<\/li>\n<li>PSR-4, PHP 8.1+, strict types, PHPStan level 8<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin through <strong>Plugins \u2192 Add New<\/strong>, or upload the folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate it.<\/li>\n<li>That is it \u2014 your existing comments are already there.<\/li>\n<\/ol>\n\n<p>Optional settings live under <strong>CommentAura \u2192 Settings<\/strong> in your admin menu. There are deliberately few of them.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20i%20lose%20my%20comments%20if%20i%20deactivate%20this%3F\"><h3>Will I lose my comments if I deactivate this?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20caching%3F\"><h3>Does it work with page caching?<\/h3><\/dt>\n<dd><p>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 \u2014 so commenting works on a fully cached page without the plugin having to punch a hole in it.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20block%20themes%3F\"><h3>Does it work with block themes?<\/h3><\/dt>\n<dd><p>Yes. CommentAura integrates with both the classic <code>comments_template()<\/code> path and the block editor's <code>core\/comments<\/code> block, and produces identical output through either.<\/p><\/dd>\n<dt id=\"do%20my%20visitors%20need%20javascript%3F\"><h3>Do my visitors need JavaScript?<\/h3><\/dt>\n<dd><p>No. Reading and posting comments both work with JavaScript disabled.<\/p><\/dd>\n<dt id=\"does%20it%20send%20data%20anywhere%3F\"><h3>Does it send data anywhere?<\/h3><\/dt>\n<dd><p>No. There are no third-party requests of any kind.<\/p><\/dd>\n<dt id=\"where%20are%20votes%20and%20reactions%20stored%3F\"><h3>Where are votes and reactions stored?<\/h3><\/dt>\n<dd><p>In CommentAura's own tables, because they do not fit WordPress's comment schema. Your comments themselves are never copied, shadowed, or moved.<\/p><\/dd>\n<dt id=\"is%20there%20a%20captcha%3F\"><h3>Is there a CAPTCHA?<\/h3><\/dt>\n<dd><p>No, and that is deliberate. CommentAura uses an invisible honeypot and a timing check instead, which cost your readers nothing.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"A modern discussion layer for WordPress. Your comments stay native WordPress comments \u2014 always.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/360902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=360902"}],"author":[{"embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ibrahimriaz"}],"wp:attachment":[{"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=360902"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=360902"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=360902"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=360902"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=360902"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=360902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}