{"id":41608,"date":"2016-02-01T10:13:08","date_gmt":"2016-02-01T10:13:08","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/graphcomment-comment-system\/"},"modified":"2026-09-12T17:57:05","modified_gmt":"2026-09-12T17:57:05","slug":"graphcomment-comment-system","status":"publish","type":"plugin","link":"https:\/\/te.wordpress.org\/plugins\/graphcomment-comment-system\/","author":14780966,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"5.1.0","stable_tag":"5.1.0","tested":"7.1.2","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"Comments \u2013 GraphComment","header_author":"GraphComment <contact@graphcomment.com>","header_description":"","assets_banners_color":"fcf9f7","last_updated":"2026-09-12 17:57:05","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/graphcomment.com","header_plugin_uri":"http:\/\/graphcomment.com\/","header_author_uri":"https:\/\/graphcomment.com\/","rating":4.7,"author_block_rating":0,"active_installs":400,"downloads":36186,"num_ratings":30,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.1":{"tag":"1.3.1","author":"graphcomment","date":"2016-02-01 10:41:39","revision":1340519},"1.3.2":{"tag":"1.3.2","author":"graphcomment","date":"2016-02-08 16:54:40","revision":1346030},"1.3.3":{"tag":"1.3.3","author":"graphcomment","date":"2016-02-08 17:15:56","revision":1346061},"1.3.4":{"tag":"1.3.4","author":"graphcomment","date":"2016-02-23 18:15:26","revision":1356709},"1.3.5":{"tag":"1.3.5","author":"graphcomment","date":"2016-03-25 10:37:44","revision":1378656},"1.3.6":{"tag":"1.3.6","author":"graphcomment","date":"2016-03-25 15:02:35","revision":1378830},"2.0.1":{"tag":"2.0.1","author":"graphcomment","date":"2016-05-10 18:32:35","revision":1414087},"2.0.2":{"tag":"2.0.2","author":"graphcomment","date":"2016-05-10 22:20:39","revision":1414223},"2.0.3":{"tag":"2.0.3","author":"graphcomment","date":"2016-05-12 09:51:35","revision":1415381},"2.1.0":{"tag":"2.1.0","author":"graphcomment","date":"2016-05-20 12:33:40","revision":1420982},"2.1.1":{"tag":"2.1.1","author":"graphcomment","date":"2016-05-23 09:59:16","revision":1422204},"2.1.2":{"tag":"2.1.2","author":"graphcomment","date":"2016-05-24 16:07:39","revision":1423335},"2.1.3":{"tag":"2.1.3","author":"graphcomment","date":"2016-06-02 12:55:29","revision":1429160},"2.1.4":{"tag":"2.1.4","author":"graphcomment","date":"2016-06-15 09:45:56","revision":1437012},"2.1.5":{"tag":"2.1.5","author":"graphcomment","date":"2016-06-30 08:32:17","revision":1446332},"2.1.6":{"tag":"2.1.6","author":"graphcomment","date":"2016-08-23 08:13:41","revision":1481381},"2.1.7":{"tag":"2.1.7","author":"graphcomment","date":"2016-08-24 07:25:32","revision":1482160},"2.1.8":{"tag":"2.1.8","author":"graphcomment","date":"2016-08-24 09:06:19","revision":1482243},"2.1.9":{"tag":"2.1.9","author":"graphcomment","date":"2016-08-25 08:10:25","revision":1483148},"2.2":{"tag":"2.2","author":"graphcomment","date":"2016-08-26 14:05:34","revision":1484149},"2.2.1":{"tag":"2.2.1","author":"graphcomment","date":"2016-08-30 08:24:30","revision":1486202},"2.2.2":{"tag":"2.2.2","author":"graphcomment","date":"2016-09-08 10:10:08","revision":1492404},"2.2.3":{"tag":"2.2.3","author":"graphcomment","date":"2016-09-08 16:37:34","revision":1492695},"2.2.4":{"tag":"2.2.4","author":"graphcomment","date":"2016-09-19 10:24:08","revision":1498053},"2.2.5":{"tag":"2.2.5","author":"graphcomment","date":"2016-09-20 07:58:43","revision":1498654},"2.2.6":{"tag":"2.2.6","author":"graphcomment","date":"2016-09-21 15:24:16","revision":1499761},"2.2.7":{"tag":"2.2.7","author":"graphcomment","date":"2016-09-22 09:41:14","revision":1500194},"2.3":{"tag":"2.3","author":"graphcomment","date":"2016-10-16 14:41:37","revision":1515938},"2.3.1":{"tag":"2.3.1","author":"graphcomment","date":"2016-10-21 07:43:28","revision":1519048},"2.3.2":{"tag":"2.3.2","author":"graphcomment","date":"2016-10-24 15:34:46","revision":1521201},"2.3.3":{"tag":"2.3.3","author":"graphcomment","date":"2016-12-01 10:01:30","revision":1543908},"2.3.4":{"tag":"2.3.4","author":"graphcomment","date":"2017-02-14 10:12:14","revision":1595601},"2.3.5":{"tag":"2.3.5","author":"graphcomment","date":"2017-04-26 09:18:10","revision":1645610},"2.3.6":{"tag":"2.3.6","author":"graphcomment","date":"2017-06-23 11:00:11","revision":1684184},"2.3.7":{"tag":"2.3.7","author":"graphcomment","date":"2017-06-27 21:31:09","revision":1686578},"2.3.8":{"tag":"2.3.8","author":"graphcomment","date":"2017-10-05 10:06:27","revision":1741491},"2.4":{"tag":"2.4","author":"graphcomment","date":"2017-10-24 11:20:26","revision":1751805},"2.4.1":{"tag":"2.4.1","author":"graphcomment","date":"2017-11-27 09:47:06","revision":1775974},"2.4.2":{"tag":"2.4.2","author":"graphcomment","date":"2017-12-07 11:03:08","revision":1782558},"2.4.3":{"tag":"2.4.3","author":"graphcomment","date":"2018-02-06 08:52:03","revision":1816174},"2.4.4":{"tag":"2.4.4","author":"graphcomment","date":"2018-02-07 18:29:49","revision":1817574},"2.4.5":{"tag":"2.4.5","author":"graphcomment","date":"2018-02-14 15:42:50","revision":1822132},"2.4.6":{"tag":"2.4.6","author":"graphcomment","date":"2018-06-04 11:00:54","revision":1886727},"2.5":{"tag":"2.5","author":"graphcomment","date":"2018-10-31 12:39:25","revision":1966450},"2.5.1":{"tag":"2.5.1","author":"graphcomment","date":"2018-12-13 10:12:03","revision":1993499},"2.5.2":{"tag":"2.5.2","author":"graphcomment","date":"2019-02-15 09:28:41","revision":2031213},"2.5.3":{"tag":"2.5.3","author":"graphcomment","date":"2019-02-26 16:59:15","revision":2039940},"2.5.4":{"tag":"2.5.4","author":"graphcomment","date":"2019-02-27 14:25:36","revision":2040726},"2.5.6":{"tag":"2.5.6","author":"graphcomment","date":"2019-06-11 14:29:49","revision":2104053},"2.5.7":{"tag":"2.5.7","author":"graphcomment","date":"2019-06-11 14:29:49","revision":2104053},"3.0.0":{"tag":"3.0.0","author":"graphcomment","date":"2019-06-11 14:41:32","revision":2104064},"3.0.1":{"tag":"3.0.1","author":"graphcomment","date":"2019-06-13 10:12:01","revision":2105446},"3.0.2":{"tag":"3.0.2","author":"graphcomment","date":"2019-12-07 10:15:57","revision":2207590},"3.0.4":{"tag":"3.0.4","author":"graphcomment","date":"2020-03-17 14:14:49","revision":2262533},"3.0.5":{"tag":"3.0.5","author":"graphcomment","date":"2020-04-06 09:42:42","revision":2277046},"3.0.6":{"tag":"3.0.6","author":"graphcomment","date":"2020-04-15 15:56:37","revision":2284262},"3.1.0":{"tag":"3.1.0","author":"graphcomment","date":"2020-08-20 13:12:38","revision":2365812},"3.1.1":{"tag":"3.1.1","author":"graphcomment","date":"2020-09-17 13:21:55","revision":2383698},"3.1.2":{"tag":"3.1.2","author":"graphcomment","date":"2020-10-30 11:04:38","revision":2409674},"3.1.3":{"tag":"3.1.3","author":"graphcomment","date":"2020-12-11 14:59:58","revision":2437465},"3.1.4":{"tag":"3.1.4","author":"graphcomment","date":"2020-12-14 14:42:01","revision":2439098},"3.1.5":{"tag":"3.1.5","author":"graphcomment","date":"2020-12-15 12:35:54","revision":2439806},"3.5.0":{"tag":"3.5.0","author":"graphcomment","date":"2021-06-03 14:09:28","revision":2542045},"3.5.1":{"tag":"3.5.1","author":"graphcomment","date":"2021-06-15 09:56:46","revision":2548046},"3.5.2":{"tag":"3.5.2","author":"graphcomment","date":"2021-06-15 10:03:25","revision":2548050},"3.6.0":{"tag":"3.6.0","author":"graphcomment","date":"2022-04-20 10:34:13","revision":2712089},"3.7.0":{"tag":"3.7.0","author":"graphcomment","date":"2022-08-24 14:11:24","revision":2774968},"3.7.1":{"tag":"3.7.1","author":"graphcomment","date":"2023-09-13 12:44:10","revision":2966447},"4.0.0":{"tag":"4.0.0","author":"graphcomment","date":"2024-09-20 11:05:10","revision":3155140},"4.0.1":{"tag":"4.0.1","author":"graphcomment","date":"2024-09-23 08:03:31","revision":3156160},"4.0.2":{"tag":"4.0.2","author":"graphcomment","date":"2024-10-11 08:44:31","revision":3167016},"4.0.3":{"tag":"4.0.3","author":"graphcomment","date":"2025-01-08 11:56:50","revision":3218980},"4.1.0":{"tag":"4.1.0","author":"graphcomment","date":"2026-04-06 18:24:30","revision":3500082},"4.2.0":{"tag":"4.2.0","author":"graphcomment","date":"2026-06-16 10:42:41","revision":3574364},"5.0.0":{"tag":"5.0.0","author":"graphcomment","date":"2026-07-10 18:20:59","revision":3603279},"5.0.1":{"tag":"5.0.1","author":"graphcomment","date":"2026-07-17 20:38:15","revision":3611997},"5.1.0":{"tag":"5.1.0","author":"graphcomment","date":"2026-09-12 17:57:05","revision":3692975}},"upgrade_notice":{"5.1.0":"<p>Setup assistant: shows your current settings, confirms every change and can enable the PUSH webhook. SSO and SEO indexing are now free. SEO mode now serves your comments to AI crawlers (GEO) \u2014 block them in robots.txt if you&#039;d rather not. From 3.x\/4.x: major upgrade, one click, keeps all comments.<\/p>","5.0.1":"<p>Coming from 3.x or 4.x? 5.0 is a major upgrade: spam blocked at the source, AI-assisted moderation included, full sync back to your WordPress database, and important security hardening. One click, and all your comments are kept.<\/p>","5.0.0":"<p>Major update: simpler two-click connection (replaces OAuth and closes an authorization vulnerability), Gutenberg block &amp; shortcode, WooCommerce support, instant backup sync, Diagnostic page, 21 languages. Recommended for all users.<\/p>","4.1.0":"<p>Security update: CSRF protection, SSL verification, output escaping. Performance: lazy loading reduces page load time. Recommended for all users.<\/p>","4.0.3":"<p>Fix: White Screen of Death on fresh install.<\/p>","4.0.2":"<p>Important: Fixed a problem where GraphComment would not load in older versions of the plugin.<\/p>"},"ratings":{"1":2,"2":0,"3":0,"4":2,"5":26},"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":1340639,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":1340636,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500-fr_FR.png":{"filename":"banner-1544x500-fr_FR.png","revision":3603278,"resolution":"1544x500","location":"assets","locale":"fr_FR","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3603278,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250-fr_FR.png":{"filename":"banner-772x250-fr_FR.png","revision":3603278,"resolution":"772x250","location":"assets","locale":"fr_FR","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3603278,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"graphcomment\/comments":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":2,"name":"graphcomment\/comments","version":"1.0.0","title":"GraphComment","category":"widgets","icon":"admin-comments","description":"Affiche l'espace de commentaires GraphComment \u00e0 cet emplacement.","keywords":["comments","commentaires","graphcomment","discussion"],"textdomain":"graphcomment-comment-system","supports":{"html":false,"multiple":false,"align":["wide","full"]},"attributes":{"uid":{"type":"string","default":""},"readonly":{"type":"boolean","default":false},"overlay":{"type":"boolean","default":false}},"editorScript":"file:.\/index.js"}},"tagged_versions":["1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","2.0.1","2.0.2","2.0.3","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","2.1.5","2.1.6","2.1.7","2.1.8","2.1.9","2.2","2.2.1","2.2.2","2.2.3","2.2.4","2.2.5","2.2.6","2.2.7","2.3","2.3.1","2.3.2","2.3.3","2.3.4","2.3.5","2.3.6","2.3.7","2.3.8","2.4","2.4.1","2.4.2","2.4.3","2.4.4","2.4.5","2.4.6","2.5","2.5.1","2.5.2","2.5.3","2.5.4","2.5.6","2.5.7","3.0.0","3.0.1","3.0.2","3.0.4","3.0.5","3.0.6","3.1.0","3.1.1","3.1.2","3.1.3","3.1.4","3.1.5","3.5.0","3.5.1","3.5.2","3.6.0","3.7.0","3.7.1","4.0.0","4.0.1","4.0.2","4.0.3","4.1.0","4.2.0","5.0.0","5.0.1","5.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.PNG":{"filename":"screenshot-1.PNG","revision":3606090,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.PNG":{"filename":"screenshot-2.PNG","revision":3606169,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.PNG":{"filename":"screenshot-3.PNG","revision":3606169,"resolution":"3","location":"assets","locale":"","width":1280,"height":800},"screenshot-4.PNG":{"filename":"screenshot-4.PNG","revision":3606169,"resolution":"4","location":"assets","locale":"","width":1280,"height":800},"screenshot-5.PNG":{"filename":"screenshot-5.PNG","revision":3606169,"resolution":"5","location":"assets","locale":"","width":1280,"height":800},"screenshot-6.PNG":{"filename":"screenshot-6.PNG","revision":3606169,"resolution":"6","location":"assets","locale":"","width":1280,"height":800},"screenshot-7.PNG":{"filename":"screenshot-7.PNG","revision":3606169,"resolution":"7","location":"assets","locale":"","width":1280,"height":800},"screenshot-8.PNG":{"filename":"screenshot-8.PNG","revision":3606169,"resolution":"8","location":"assets","locale":"","width":1280,"height":800}},"screenshots":{"1":"GraphComment on an article \u2014 Bubble Flow threading keeps long debates readable","2":"AI Moderation Assist \u2014 the AI reads the article and justifies every decision","3":"Dark mode \u2014 included free, like every theme option","4":"Add your site and import from anywhere \u2014 WordPress, Disqus, Hyvor Talk and more","5":"One-file import (WordPress WXR, Disqus XML) with background processing","6":"Synchronization \u2014 every comment backed up to your WordPress database","7":"Diagnostic \u2014 7 automated health checks and a copy-paste support report","8":"Moderation dashboard \u2014 multi-moderator workflows"}},"plugin_section":[],"plugin_tags":[2656,6074,12967,5315,107],"plugin_category":[41,44,54],"plugin_contributors":[93330],"plugin_business_model":[],"class_list":["post-41608","plugin","type-plugin","status-publish","hentry","plugin_tags-anti-spam","plugin_tags-comment-moderation","plugin_tags-comment-plugin","plugin_tags-comment-system","plugin_tags-comments","plugin_category-communication","plugin_category-discussion-and-community","plugin_category-security-and-spam-protection","plugin_contributors-graphcomment","plugin_committers-graphcomment"],"banners":{"banner":"https:\/\/ps.w.org\/graphcomment-comment-system\/assets\/banner-772x250.png?rev=3603278","banner_2x":"https:\/\/ps.w.org\/graphcomment-comment-system\/assets\/banner-1544x500.png?rev=3603278","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/graphcomment-comment-system\/assets\/icon-128x128.jpg?rev=1340639","icon_2x":"https:\/\/ps.w.org\/graphcomment-comment-system\/assets\/icon-256x256.jpg?rev=1340636","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/graphcomment-comment-system\/assets\/screenshot-1.PNG?rev=3606090","caption":"GraphComment on an article \u2014 Bubble Flow threading keeps long debates readable"},{"src":"https:\/\/ps.w.org\/graphcomment-comment-system\/assets\/screenshot-2.PNG?rev=3606169","caption":"AI Moderation Assist \u2014 the AI reads the article and justifies every decision"},{"src":"https:\/\/ps.w.org\/graphcomment-comment-system\/assets\/screenshot-3.PNG?rev=3606169","caption":"Dark mode \u2014 included free, like every theme option"},{"src":"https:\/\/ps.w.org\/graphcomment-comment-system\/assets\/screenshot-4.PNG?rev=3606169","caption":"Add your site and import from anywhere \u2014 WordPress, Disqus, Hyvor Talk and more"},{"src":"https:\/\/ps.w.org\/graphcomment-comment-system\/assets\/screenshot-5.PNG?rev=3606169","caption":"One-file import (WordPress WXR, Disqus XML) with background processing"},{"src":"https:\/\/ps.w.org\/graphcomment-comment-system\/assets\/screenshot-6.PNG?rev=3606169","caption":"Synchronization \u2014 every comment backed up to your WordPress database"},{"src":"https:\/\/ps.w.org\/graphcomment-comment-system\/assets\/screenshot-7.PNG?rev=3606169","caption":"Diagnostic \u2014 7 automated health checks and a copy-paste support report"},{"src":"https:\/\/ps.w.org\/graphcomment-comment-system\/assets\/screenshot-8.PNG?rev=3606169","caption":"Moderation dashboard \u2014 multi-moderator workflows"}],"raw_content":"<!--section=description-->\n<h4>Comments handled for you \u2014 without the usual hidden drawbacks<\/h4>\n\n<p>Native WordPress comments are where discussions run aground: no live replies, no threading that scales, endless spam. And yet comments have real value \u2014 measured across the GraphComment platform, <strong>every commenter draws 21 readers<\/strong> who follow the discussion. That's audience and engagement you already own, no ad budget required.<\/p>\n\n<p>Hosted comment platforms promise to fix the comment section \u2014 but usually at a hidden cost: your readers get tracked and served ads, your comments end up locked in a third party's silo, and your page speed pays for it.<\/p>\n\n<p>GraphComment 5.0 is built to fix the comment section <strong>without<\/strong> that cost. Here is the promise, point by point \u2014 and every claim below is verifiable.<\/p>\n\n<p><strong>1. Spam never reaches your site.<\/strong>\nSpam bots don't fill comment forms \u2014 they hammer WordPress's native comment submission endpoint (<code>wp-comments-post.php<\/code>) directly, which is why the flood continues even when comments look closed. AI has made that spam cheap, fluent and endless \u2014 it no longer looks like spam. With GraphComment active, that endpoint is shut and every comment goes through our moderation pipeline instead: smart filtering, insult detection, trusted-member auto-approval \u2014 and <strong>AI Moderation Assist, included free for your first 100 AI analyses each month<\/strong>. The AI reads the article before judging the comment, so it catches what ordinary keyword filters can't, then suggests a decision with its reasoning \u2014 you stay in control.<\/p>\n\n<p><strong>2. Actually free \u2014 and your readers are not the product.<\/strong>\nNo ads next to your content, ever. No ad-tracking of your readers. The free plan is not a trial: it includes 1M data loads a month \u2014 far beyond a typical blog's traffic \u2014 with guest commenting, media embedding, moderation tools and real-time discussions included. And because of point 3, there is no hostage scenario the day you outgrow it.<\/p>\n\n<p><strong>3. Your comments live in YOUR database \u2014 reviews keep pointing this out.<\/strong>\nGraphComment continuously synchronizes every comment back into your WordPress database, author identity included \u2014 on a schedule, and instantly with the new webhook push. Deactivate the plugin tomorrow and your discussions are still there, in <code>wp_comments<\/code>, served natively. No export request, no ransom, no dead links. That's why trying it is risk-free.<\/p>\n\n<p><strong>4. Your readers comment without creating an account.<\/strong>\nGuest commenting is on by default, social login is one tap, and your registered users sign in with their WordPress account (SSO) \u2014 included on every plan. Forcing readers to create yet another account is what empties a comment section \u2014 GraphComment never does.<\/p>\n\n<p><strong>5. Near-native performance \u2014 measured by independent tests, not just by us.<\/strong>\nAn independent benchmark by Servebolt (2023, updated February 2026) found GraphComment adds <strong>as few HTTP requests as WordPress native comments<\/strong>. Our own Lighthouse benchmarks show the same LCP and zero main-thread blocking as a page with no comment plugin at all.<\/p>\n\n<p><strong>6. Fully customizable \u2014 without paid add-ons.<\/strong>\nYour logo, your fonts, fine-grained themes with a beautiful dark mode, hundreds of settings \u2014 free. Even how your discussion space works is up to you: <strong>Bubble Flow<\/strong> threading that keeps 300-comment debates readable, classic chronological, or flat \u2014 switch freely. Elsewhere, image uploads, extra spam protection or comment search come as paid add-ons; here they're included.<\/p>\n\n<p>And the rest is there too: real-time commenting with instant reply notifications, inline images and videos, one-file import (WordPress WXR or Disqus XML, processed in the background), indexable comments with structured data for search engines, and your comments served as real HTML to the AI crawlers that don't run JavaScript (GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, Amazonbot and more, as of September 2026 \u2014 your discussions show up in generative engines too), a widget in 21 languages with a back-office in 10 and a fully rebuilt RTL layout, and a two-click connection with a setup wizard that takes you straight to your next step. Hosting in Europe, under GDPR, with you as the data controller.<\/p>\n\n<h4>Leaving Disqus? Do it before it costs you your community.<\/h4>\n\n<p>A fact worth knowing: <strong>Disqus's own comment export contains no commenter email addresses.<\/strong> The longer you stay, the more of your community's identity stays behind when you leave. GraphComment makes the opposite choice: your commenters live in your WordPress database from day one.<\/p>\n\n<p>Migration is one file: export from Disqus (custom XML) or WordPress (WXR), upload it in the plugin, and large archives are processed in the background. No ads, EU hosting, GDPR \u2014 and your community stays yours.<\/p>\n\n<h4>Everything essential is in the free plan \u2014 no paid add-ons<\/h4>\n\n<p>The pieces other comment plugins often sell as paid add-ons \u2014 image uploads, extra spam protection, comment search, front-end moderation \u2014 are part of GraphComment's free plan, not a growing bill.<\/p>\n\n<p>Spam is handled at the root, too: instead of filtering comments after bots reach your site, GraphComment closes WordPress's native comment submission endpoint so automated spam never enters your moderation queue, with AI Moderation Assist included on every plan to catch what filters miss. Already have WordPress comments? They stay exactly where they are.<\/p>\n\n<h4>What's new in GraphComment 5.x<\/h4>\n\n<ul>\n<li><strong>Visible in AI engines (GEO)<\/strong> \u2014 your discussions are served as real HTML to AI crawlers (GPTBot, ClaudeBot, PerplexityBot and more) and show up in generative answers.<\/li>\n<li><strong>Structural spam shield<\/strong> \u2014 WordPress's native comment submission endpoint is closed while GraphComment is active: spam bots hit a wall instead of your moderation queue.<\/li>\n<li><strong>AI Moderation Assist, now with a free tier<\/strong> \u2014 the AI reads the article, flags risky comments and suggests a decision; free for your first 100 AI analyses each month.<\/li>\n<li><strong>Connection in two clicks<\/strong> \u2014 a simple popup links your site to GraphComment. No more OAuth forms; new users can create their GraphComment site without leaving wp-admin.<\/li>\n<li><strong>Gutenberg block<\/strong> \u2014 place the comment area anywhere with the <code>GraphComment<\/code> block, on block themes and classic themes alike.<\/li>\n<li><strong>Shortcode &amp; developer filters<\/strong> \u2014 <code>[graphcomment]<\/code> plus <code>graphcomment_init_args<\/code> \/ <code>graphcomment_should_apply<\/code> filters for full control from your theme (see For Developers).<\/li>\n<li><strong>WooCommerce support<\/strong> \u2014 enable GraphComment on product pages when you want it.<\/li>\n<li><strong>Instant backup sync<\/strong> \u2014 a secure webhook wakes the synchronization the moment a new comment arrives, instead of waiting for the next cron run.<\/li>\n<li><strong>Diagnostic page<\/strong> \u2014 one click runs 7 health checks (connectivity, cron, sync freshness\u2026) and produces a copy-paste report for support.<\/li>\n<li><strong>Import by file<\/strong> \u2014 WXR and Disqus XML upload for large archives, with background processing.<\/li>\n<li><strong>Domain migration (Premium)<\/strong> \u2014 move your site to a new domain without losing a single thread; 10,000 threads migrated in seconds.<\/li>\n<li><strong>21 languages &amp; rebuilt RTL<\/strong> \u2014 plugin admin translated in 21 languages, moderation back-office in 10, with a proper right-to-left layout for Arabic, Persian and Hebrew.<\/li>\n<li><strong>Free customization<\/strong> \u2014 logo, fonts, fine-grained themes with dark mode, and free choice of discussion layout (Bubble Flow, chronological or flat).<\/li>\n<li><strong>Hardened security<\/strong> \u2014 site credentials encrypted at rest, signed API calls, and a modernized PHP 8-ready codebase with automated tests.<\/li>\n<\/ul>\n\n<p><strong>Everything in the free plan:<\/strong><\/p>\n\n<ul>\n<li>Real-time discussions \u2014 Bubble Flow threading, chronological or flat, your choice<\/li>\n<li>Custom logo, fonts, fine-grained themes with dark mode, hundreds of settings<\/li>\n<li>Guest commenting, social login, automatic registration<\/li>\n<li>Single Sign-On with your WordPress user base \u2014 on the free plan too<\/li>\n<li>Media embedding, text formatting, badges, community profiles<\/li>\n<li>Smart moderation, insult filtering, banning tools, multi-moderators<\/li>\n<li>AI Moderation Assist for your first 100 AI analyses each month \u2014 the AI suggests, you decide<\/li>\n<li>One-file import (WordPress WXR, Disqus XML) \u2014 and continuous sync back to your database<\/li>\n<li>SEO-friendly indexable comments, structured data, analytics \u2014 AI crawlers included (GEO)<\/li>\n<li>Counter and Top\/Last\/Best widgets<\/li>\n<li>Widget translated in 21 languages, spam protection<\/li>\n<\/ul>\n\n<p><strong>When your community grows \u2014 Premium:<\/strong><\/p>\n\n<ul>\n<li>Domain migration \u2014 move your site to a new domain without losing a thread (10,000 threads migrated in seconds)<\/li>\n<li>Higher AI Moderation Assist volume \u2014 2,000 AI analyses\/month on Starter, 10,000 on Pro (extensions available)<\/li>\n<li>Fully automated AI moderation (Enterprise)<\/li>\n<li>Customizable sliding side panel<\/li>\n<li>Editorialize &amp; pin best discussions<\/li>\n<li>Live PUSH discussions mode<\/li>\n<li>Keyword alerts<\/li>\n<li>Restricted right to comment<\/li>\n<li>Custom sender &amp; ban emails<\/li>\n<li>PUSH notification center<\/li>\n<\/ul>\n\n<p>The Basic plan is free up to 1M data loads per month. Paid plans start at $29\/month (Starter, 1.5M data loads \u2014 or $25\/month billed annually); Pro is $59\/month (5M data loads \u2014 or $51\/month billed annually). See the full <a href=\"https:\/\/graphcomment.com\/en\/pricing.html\">pricing and feature list<\/a>.<\/p>\n\n<p>[youtube https:\/\/youtu.be\/5DBX51LDSTE]<\/p>\n\n<h3>Support<\/h3>\n\n<ul>\n<li>Search our <a href=\"https:\/\/support.graphcomment.com\/hc\">Knowledge Base<\/a> for solutions to common troubleshooting questions<\/li>\n<li>Email our support team at <a href=\"mailto:support@graphcomment.com\">support@graphcomment.com<\/a> \u2014 Mon-Fri, 9:00-17:00 (GMT+1 Paris)<\/li>\n<li>Help translate GraphComment into your language on <a href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/graphcomment-comment-system\/\">translate.wordpress.org<\/a><\/li>\n<\/ul>\n\n<h3>For Developers<\/h3>\n\n<p>GraphComment 5.0 exposes a shortcode and two filters so you can place the widget outside the native comments area and adjust its behaviour from your theme or a small companion plugin, without editing the plugin. Full developer documentation ships with the plugin in <code>HOOKS.md<\/code>.<\/p>\n\n<p>Only one comment space is rendered per page (first render wins): a second <code>[graphcomment]<\/code>, or a shortcode on a page that already shows the native comments, renders nothing.<\/p>\n\n<h4>Shortcode [graphcomment]<\/h4>\n\n<p>Place the comment widget anywhere in your content:<\/p>\n\n<pre><code>[graphcomment]\n[graphcomment uid=\"my-custom-thread\" readonly=\"true\"]\n<\/code><\/pre>\n\n<ul>\n<li><code>uid<\/code> (optional): custom thread identifier, defaults to the post ID. Use it to share one discussion across several URLs.<\/li>\n<li><code>readonly<\/code> (optional): <code>readonly=\"true\"<\/code> forces read-only mode for this instance; otherwise the global setting applies.<\/li>\n<\/ul>\n\n<p>The shortcode obeys the same display conditions as the native integration (bots in SEO mode, plugin activation range, WooCommerce product exclusion).<\/p>\n\n<h4>Filter graphcomment_init_args<\/h4>\n\n<p>Adjust the widget parameters (a nested array) before the script is generated. It covers every rendering path (native template, block theme, Gutenberg block, shortcode):<\/p>\n\n<pre><code>add_filter('graphcomment_init_args', function ($args, $post) {\n    $args['behaviour']['uid'] = 'my-custom-thread';\n    return $args;\n}, 10, 2);\n<\/code><\/pre>\n\n<h4>Filter graphcomment_should_apply<\/h4>\n\n<p>Enable or disable the widget from code \u2014 for example, re-enable WooCommerce product pages (excluded by default):<\/p>\n\n<pre><code>add_filter('graphcomment_should_apply', function ($should, $post) {\n    if ($post &amp;&amp; get_post_type($post) === 'product') return true;\n    return $should;\n}, 10, 2);\n<\/code><\/pre>\n\n<!--section=installation-->\n<p><strong>AUTOMATIC INSTALLATION<\/strong><\/p>\n\n<ol>\n<li>Click on PLUGINS &gt; Add New<\/li>\n<li>Search for \"GraphComment\"<\/li>\n<li>Click on Install Now<\/li>\n<li>Activate the plugin<\/li>\n<li>From your WordPress admin, click on the GraphComment menu<\/li>\n<\/ol>\n\n<p><strong>MANUAL INSTALLATION<\/strong><\/p>\n\n<ol>\n<li>Download the GraphComment plugin and unpack the archive to the <code>wp-content\/plugins\/<\/code> directory (all extracted files should exist in <code>wp-content\/plugins\/graphcomment-comment-system\/<\/code>). Deactivate any third-party comment plugin you may have previously installed.<\/li>\n<li>Activate the plugin<\/li>\n<li>From your WordPress admin, click on the GraphComment menu<\/li>\n<\/ol>\n\n<p><strong>SETTING UP THE PLUGIN<\/strong><\/p>\n\n<ol>\n<li>Click <strong>Link my GraphComment site<\/strong> (or <strong>Create my GraphComment site<\/strong> if you don't have an account yet \u2014 the setup wizard runs right inside wp-admin).<\/li>\n<li>Choose whether GraphComment applies to all posts or only from a date of your choice.<\/li>\n<li>Optionally import your existing WordPress comments, and enable synchronization to keep a backup copy of every comment in your WordPress database.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20graphcomment%20free%20to%20use%20on%20my%20site%3F\"><h3>Is GraphComment free to use on my site?<\/h3><\/dt>\n<dd><p>Yes. All core features are free with the Basic plan, up to 1M data loads per month \u2014 the system is fully functional without paying. If you need more volume or premium features, paid plans start at $29\/month ($25\/month billed annually). See the <a href=\"https:\/\/graphcomment.com\/en\/pricing.html\">pricing page<\/a>.<\/p><\/dd>\n<dt id=\"do%20i%20need%20paid%20add-ons%20for%20core%20features%3F\"><h3>Do I need paid add-ons for core features?<\/h3><\/dt>\n<dd><p>No. Features that are often sold as paid extensions elsewhere \u2014 image uploads, extra spam protection, comment search, front-end moderation \u2014 are included in GraphComment's free plan. Spam is blocked at the source (WordPress's native comment submission endpoint is closed so bots can't post), and AI Moderation Assist is included on every plan.<\/p><\/dd>\n<dt id=\"how%20does%20graphcomment%20stop%20comment%20spam%3F\"><h3>How does GraphComment stop comment spam?<\/h3><\/dt>\n<dd><p>Two ways. First, at the source: spam bots post directly to WordPress's native comment submission endpoint without ever loading your pages \u2014 with GraphComment active, that endpoint is closed, so automated spam never enters your moderation queue. Second, every comment goes through GraphComment's moderation pipeline: smart filtering, insult detection, trusted-member auto-approval, and AI Moderation Assist (free for your first 100 AI analyses each month) \u2014 the AI reads the article before judging the comment and suggests a decision; you stay in control.<\/p><\/dd>\n<dt id=\"will%20i%20lose%20comments%20if%20i%20deactivate%20graphcomment%3F\"><h3>Will I lose comments if I deactivate GraphComment?<\/h3><\/dt>\n<dd><p>No. Enable the <strong>Synchronization<\/strong> tab and every GraphComment comment is copied back into your WordPress database, on a schedule you choose \u2014 and instantly when the webhook push option is enabled. If you deactivate the plugin, the native WordPress comments (including everything synchronized) are displayed again.<\/p><\/dd>\n<dt id=\"do%20i%20still%20remain%20the%20owner%20of%20the%20data%20when%20using%20graphcomment%3F\"><h3>Do I still remain the owner of the data when using GraphComment?<\/h3><\/dt>\n<dd><p>Yes, you own your data. You can retrieve all comment data of your site at any time: the synchronization keeps a copy in your WordPress database, and an export tool is available in the administration of your website.<\/p><\/dd>\n<dt id=\"is%20graphcomment%20compliant%20with%20privacy%20laws%20%28gdpr%2C%20ccpa%29%3F\"><h3>Is GraphComment compliant with privacy laws (GDPR, CCPA)?<\/h3><\/dt>\n<dd><p>Yes. GraphComment is hosted in Europe and built for the strictest privacy rules, so it meets what publishers need under GDPR (EU\/UK), CCPA\/CPRA (California) and similar laws: your readers are never tracked for advertising, their data is never sold or shared, and they keep full control of their personal data \u2014 access, correction or deletion at any time. You remain the data controller and GraphComment acts as your processor \u2014 see our <a href=\"https:\/\/www.graphcomment.com\/dpa#2\">Privacy Policy<\/a>.<\/p>\n\n<p>To improve the plugin, GraphComment sends an <strong>anonymous<\/strong> technical signal on activation, configuration and deactivation: the event type, the plugin version, your site's language and, at installation, the WordPress and PHP versions with a random installation identifier. <strong>No URL, no personal data, no IP address<\/strong> is transmitted. If you deactivate the plugin, a short form lets you \u2014 <strong>only if you choose to<\/strong> \u2014 tell us why you are leaving; nothing is sent unless you click \"Send and deactivate\". Your comment data remains yours: you are the data controller, GraphComment only processes an anonymous technical signal.<\/p><\/dd>\n<dt id=\"how%20do%20i%20migrate%20from%20disqus%3F\"><h3>How do I migrate from Disqus?<\/h3><\/dt>\n<dd><p>Export your comments from Disqus (custom XML export), then in the plugin open <strong>Importation \u2192 Import by file<\/strong> and upload the export. Large archives are processed in the background. Your existing WordPress comments can be imported the same way, or directly from the Importation tab.<\/p><\/dd>\n<dt id=\"how%20do%20i%20keep%20the%20old%20comments%20of%20my%20wordpress%20blog%3F\"><h3>How do I keep the old comments of my WordPress blog?<\/h3><\/dt>\n<dd><p>When installing, you can select the date from which GraphComment takes over. All previous comments keep being displayed the native way. You can also import them into GraphComment so they appear in the new discussion area.<\/p><\/dd>\n<dt id=\"does%20graphcomment%20work%20with%20block%20themes%20and%20gutenberg%3F\"><h3>Does GraphComment work with block themes and Gutenberg?<\/h3><\/dt>\n<dd><p>Yes. GraphComment replaces the comment area on both classic and block (Full Site Editing) themes automatically, and version 5.0 adds a <strong>GraphComment block<\/strong> plus a <code>[graphcomment]<\/code> shortcode to place the discussion area anywhere.<\/p><\/dd>\n<dt id=\"does%20graphcomment%20work%20with%20woocommerce%3F\"><h3>Does GraphComment work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. Product pages are excluded by default (WooCommerce manages its own reviews), and GraphComment 5.0 lets you enable comments on product pages \u2014 from the settings or with the <code>graphcomment_should_apply<\/code> filter.<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20up%20single%20sign-on%20%28sso%29%3F\"><h3>How do I set up Single Sign-On (SSO)?<\/h3><\/dt>\n<dd><p>SSO lets the users of your WordPress database comment without creating a GraphComment account. WordPress SSO is included on every plan, free: enable <strong>Single sign-on (SSO) via WordPress<\/strong> in the plugin's <strong>Plugin Settings \u2192 General<\/strong> tab (or in your GraphComment dashboard), and your logged-in WordPress users are signed in to GraphComment automatically.<\/p><\/dd>\n<dt id=\"my%20comments%20are%20not%20syncing%20back%20to%20wordpress%20%28wp-cron%20disabled%29\"><h3>My comments are not syncing back to WordPress (WP-Cron disabled)<\/h3><\/dt>\n<dd><p>GraphComment synchronizes comments back to WordPress, and runs the comment import, using WordPress scheduled tasks (WP-Cron). On some hosts WP-Cron is disabled (<code>define('DISABLE_WP_CRON', true);<\/code> in <code>wp-config.php<\/code>) or only fires when a visitor loads a page. On a low-traffic site, the synchronization and the import may then never run.<\/p>\n\n<p>The plugin warns you in the admin when this happens, and the <em>Diagnostic<\/em> page (GraphComment menu) detects it. To fix it, set up a real system cron that triggers WordPress scheduled tasks every few minutes. Two common options:<\/p>\n\n<ul>\n<li>With WP-CLI (recommended): <code>*\/5 * * * * cd \/path\/to\/wordpress &amp;&amp; wp cron event run --due-now &gt; \/dev\/null 2&gt;&amp;1<\/code><\/li>\n<li>Without WP-CLI, call wp-cron.php directly: <code>*\/5 * * * * wget -q -O - \"https:\/\/example.com\/wp-cron.php?doing_wp_cron\" &gt; \/dev\/null 2&gt;&amp;1<\/code><\/li>\n<\/ul>\n\n<p>After adding the system cron, the <em>Diagnostic<\/em> page should report the synchronization as up to date.<\/p><\/dd>\n<dt id=\"i%27m%20getting%20ssl%20errors\"><h3>I'm getting SSL errors<\/h3><\/dt>\n<dd><p>The plugin verifies SSL certificates on all API requests. If your server has an outdated CA certificate bundle, you may see connection errors. Ask your hosting provider to update the server's CA certificates (recommended), or as a temporary workaround add this line to your wp-config.php file: <code>define('SSLVERIFY', false);<\/code><\/p><\/dd>\n<dt id=\"something%20isn%27t%20working%20%E2%80%94%20how%20do%20i%20get%20help%20fast%3F\"><h3>Something isn't working \u2014 how do I get help fast?<\/h3><\/dt>\n<dd><p>Open the <strong>Diagnostic<\/strong> page in the GraphComment menu: it runs 7 automatic health checks (API connectivity, cron, synchronization freshness, system requirements\u2026) and a <strong>Copy report<\/strong> button produces a ready-to-send summary for our support team.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>5.1.0<\/h4>\n\n<ul>\n<li><strong>New:<\/strong> The plugin's SEO mode (serve native WordPress comments to bots) now serves comments to AI crawlers too (GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, Amazonbot and more, as of September 2026) \u2014 your discussions become visible to generative engines (GEO)<\/li>\n<li><strong>New:<\/strong> Training crawlers are served as well (CCBot, AI2Bot, Timpibot \u2014 as of September 2026) \u2014 the corpora that future AI models learn from can now see your discussions; block them in your <code>robots.txt<\/code> if you would rather they didn't<\/li>\n<li><strong>Improvement:<\/strong> The embedded setup assistant now reads your current plugin settings \u2014 relaunching it shows the real state of activation, scope, SEO, SSO and synchronization instead of default values<\/li>\n<li><strong>Improvement:<\/strong> The setup assistant confirms every setting it applies, proposes to import your published WordPress comments that are not in GraphComment yet (until an import has been completed on the site), and can enable the real-time PUSH webhook (silently kept off when your site cannot receive it, e.g. no HTTPS)<\/li>\n<li><strong>Improvement:<\/strong> GraphComment no longer replaces native comments or product reviews while the site is not linked<\/li>\n<li><strong>Change:<\/strong> Pending comments copied to WordPress no longer trigger the WordPress moderation e-mail \u2014 moderation notifications come from GraphComment<\/li>\n<li><strong>Change:<\/strong> The comment import no longer picks up pingbacks and trackbacks \u2014 only real comments (and product reviews when the WooCommerce option is enabled) are imported and counted<\/li>\n<li><strong>Improvement:<\/strong> WordPress Single Sign-On (SSO) is now included in the free plan \u2014 the setting is no longer marked Premium and can be enabled on any account<\/li>\n<li><strong>Improvement:<\/strong> Search-engine indexing of GraphComment discussions (\"SEO inline\" setting of your GraphComment dashboard) is now included in the free plan and enabled by default<\/li>\n<li><strong>Improvement:<\/strong> The embedded setup assistant (General step) can now enable WordPress SSO directly<\/li>\n<li><strong>Improvement:<\/strong> Creating your GraphComment site from wp-admin now pre-fills the site address and name from your WordPress settings \u2014 nothing to retype<\/li>\n<li><strong>Fix:<\/strong> Clicking \"Create my site\" again always reloads the creation frame instead of showing a stale one<\/li>\n<li><strong>New:<\/strong> Comments awaiting moderation in GraphComment are now copied to WordPress as pending comments, and switch to approved (or trash \/ spam) as soon as they are moderated in GraphComment \u2014 the copy always reflects the GraphComment decision, whatever your WordPress discussion settings say. Existing pending comments are copied too, batch by batch<\/li>\n<li><strong>New:<\/strong> A notice on the WordPress Comments screen reminds you that moderation happens in GraphComment and that the WordPress list is a copy<\/li>\n<li><strong>Fix:<\/strong> Replies now keep their thread in WordPress \u2014 existing flat replies are not re-threaded<\/li>\n<li><strong>Fix:<\/strong> The synchronization no longer pairs a new GraphComment comment with an older WordPress comment of the same author on the same post (the new comment could be lost and the old one overwritten)<\/li>\n<li><strong>Fix:<\/strong> The comment import no longer stops with \"Import stalled: no progress\" when two background workers overlap \u2014 each batch now carries its own cursor and the counters are updated atomically, so the progress shown is always the real one<\/li>\n<li><strong>Security:<\/strong> The plugin log folder (<code>uploads\/graphcomment\/<\/code>) can no longer be browsed and the log file name is no longer predictable \u2014 the log stays available from the Debug panel of the settings page<\/li>\n<li><strong>Improvement:<\/strong> The deactivation feedback window now lists eleven reasons instead of six, and the reason you pick opens a short follow-up list right below it, so you can be specific in two clicks. If you would rather not answer, a discreet link deactivates the plugin straight away \u2014 as before, nothing ever holds the deactivation back.<\/li>\n<\/ul>\n\n<h4>5.0.1<\/h4>\n\n<ul>\n<li><strong>Fix:<\/strong> Official WordPress.org language packs now take priority over the plugin's bundled translations \u2014 community translation updates reach your site without waiting for a plugin release<\/li>\n<li><strong>Fix:<\/strong> Import screen dates are now displayed in your site's language<\/li>\n<li><strong>Fix:<\/strong> Starting an import that had already finished now shows a friendly notice instead of a raw \"HTTP 400\" error<\/li>\n<li><strong>Fix:<\/strong> Temporary network hiccups while refreshing the notification badge no longer flood the plugin log with error entries<\/li>\n<li><strong>Improvement:<\/strong> The SEO setting now has the same rich help popover as the other settings<\/li>\n<li><strong>Dev:<\/strong> Translation sources migrated to the standard WordPress convention (English source strings)<\/li>\n<\/ul>\n\n<h4>5.0.0<\/h4>\n\n<ul>\n<li><strong>New:<\/strong> Structural spam shield \u2014 the native WordPress comment endpoint is closed while GraphComment is active; spam bots can no longer fill your moderation queue<\/li>\n<li><strong>New:<\/strong> AI Moderation Assist free tier \u2014 the AI reads the article, flags risky comments and suggests a decision; free for your first 100 comments each month<\/li>\n<li><strong>New:<\/strong> Two-click connection \u2014 link your site to GraphComment from a simple popup; new users create their GraphComment site right inside wp-admin<\/li>\n<li><strong>New:<\/strong> Gutenberg block to place the comment area anywhere (block and classic themes)<\/li>\n<li><strong>New:<\/strong> <code>[graphcomment]<\/code> shortcode and developer filters (<code>graphcomment_init_args<\/code>, <code>graphcomment_should_apply<\/code>)<\/li>\n<li><strong>New:<\/strong> WooCommerce support \u2014 optionally enable comments on product pages<\/li>\n<li><strong>New:<\/strong> Instant backup sync \u2014 a secure signed webhook triggers the synchronization as soon as a new comment arrives<\/li>\n<li><strong>New:<\/strong> Diagnostic page \u2014 8 automated health checks and a copy-paste support report<\/li>\n<li><strong>New:<\/strong> Import by file \u2014 upload a WordPress WXR or Disqus XML export; large archives processed in the background<\/li>\n<li><strong>New:<\/strong> Admin translated in 21 languages \u2014 and the moderation back-office now speaks 10 \u2014 with a fully rebuilt RTL layout for Arabic, Persian and Hebrew<\/li>\n<li><strong>New:<\/strong> Free customization \u2014 logo, fonts, fine-grained themes with dark mode, and free choice of discussion layout (Bubble Flow, chronological or flat)<\/li>\n<li><strong>Security:<\/strong> The legacy OAuth connection flow has been removed and replaced by a single-use connection code exchanged server-to-server; this closes an authorization vulnerability in the previous flow<\/li>\n<li><strong>Security:<\/strong> Site credentials are now encrypted at rest; plugin-to-API calls are signed<\/li>\n<li><strong>Improvement:<\/strong> Imports and background jobs migrated to Action Scheduler for reliability on all hosts<\/li>\n<li><strong>Improvement:<\/strong> Synchronization hardened \u2014 atomic pairing, duplicate detection, per-comment error recovery, \"Force synchronization now\" button<\/li>\n<li><strong>Improvement:<\/strong> Modernized codebase \u2014 PHP 8 ready, Composer autoloading, automated test suite and CI<\/li>\n<li><strong>Improvement:<\/strong> Modernized admin UI libraries (native WordPress color picker and icons, localized date picker)<\/li>\n<li><strong>Compatibility:<\/strong> Requires WordPress 5.9+ and PHP 7.4+; tested up to WordPress 7.0<\/li>\n<\/ul>\n\n<h4>4.2.0<\/h4>\n\n<ul>\n<li>feat: Domain migration tab (Migration de domaine submenu embedding the GraphComment backoffice)<\/li>\n<li>feat: Auto-select the newly created site after finishing the setup wizard \u2014 lands directly on the plugin settings instead of the site picker<\/li>\n<li>feat: Setup wizard now ends on an action menu \u2014 import WordPress comments, enable synchronization, or migrate a domain \u2014 each opening the matching plugin tab<\/li>\n<li><strong>Compatibility:<\/strong> Tested up to WordPress 7.0<\/li>\n<\/ul>\n\n<h4>4.1.0<\/h4>\n\n<ul>\n<li><strong>Security:<\/strong> Added WordPress nonce verification on all admin forms and AJAX endpoints (CSRF protection)<\/li>\n<li><strong>Security:<\/strong> Enabled SSL certificate verification on all outgoing API requests (SSLVERIFY=true)<\/li>\n<li><strong>Security:<\/strong> Proper escaping of all user-facing output in admin templates (XSS protection)<\/li>\n<li><strong>Security:<\/strong> Sanitized OAuth callback parameters<\/li>\n<li><strong>Performance:<\/strong> Lazy loading of the comment widget using IntersectionObserver \u2014 comments load only when scrolled into view, improving Core Web Vitals (LCP)<\/li>\n<li><strong>Performance:<\/strong> Removed global max_execution_time override \u2014 no longer impacts other plugins<\/li>\n<li><strong>Fix:<\/strong> OAuth 2 transaction handling \u2014 more robust popup authentication flow with cross-browser compatibility<\/li>\n<li><strong>Fix:<\/strong> Import reset \u2014 new \"Reset Import\" button available in all states (pending, error, finished). Fixed the issue where a completed import could not be restarted.<\/li>\n<li><strong>Improvement:<\/strong> SSO signature function refactored \u2014 uses hash_hmac natively, with documented fallback<\/li>\n<li><strong>Improvement:<\/strong> Updated translations (EN, FR) with new import UI strings<\/li>\n<li><strong>Improvement:<\/strong> Developer-friendly configuration \u2014 base URLs can now be overridden via wp-config.php<\/li>\n<li><strong>Compatibility:<\/strong> Tested up to WordPress 6.9.4<\/li>\n<li><strong>Compatibility:<\/strong> Declared PHP 7.4+ and WordPress 5.0+ as minimum requirements<\/li>\n<\/ul>\n\n<h4>4.0.3<\/h4>\n\n<ul>\n<li>fix: WSOD (White Screen of Death) on fresh install<\/li>\n<\/ul>\n\n<h4>4.0.2<\/h4>\n\n<ul>\n<li><strong>Important:<\/strong> Fixed a problem where GraphComment would not load in older versions of the plugin. Updating is recommended.<\/li>\n<\/ul>\n\n<h4>4.0.1<\/h4>\n\n<ul>\n<li>fix: environment variable configuration<\/li>\n<\/ul>\n\n<h4>4.0.0<\/h4>\n\n<ul>\n<li><strong>Major update:<\/strong> New optimized script loading<\/li>\n<li>Compatibility with WooCommerce<\/li>\n<li>Compatibility with WordPress block editor (Gutenberg)<\/li>\n<li>Security improvements<\/li>\n<li>Code refactoring<\/li>\n<li>Fixed errors in comment synchronization<\/li>\n<\/ul>\n\n<h4>3.7.0<\/h4>\n\n<ul>\n<li>Fix Guid imports comments<\/li>\n<\/ul>\n\n<h4>3.6.0<\/h4>\n\n<ul>\n<li>Feature new authentification<\/li>\n<\/ul>\n\n<h4>3.5.3<\/h4>\n\n<ul>\n<li>Fix url admin iframe<\/li>\n<\/ul>\n\n<h4>3.5.2<\/h4>\n\n<ul>\n<li>update links for backoffice client and support client<\/li>\n<\/ul>\n\n<h4>3.5.0<\/h4>\n\n<ul>\n<li>new version of script to optimize load graphcomment<\/li>\n<li>new implementation of login \/ register user<\/li>\n<\/ul>\n\n<h4>3.1.5<\/h4>\n\n<ul>\n<li>update timeout for sync requests<\/li>\n<\/ul>\n\n<h4>3.1.4<\/h4>\n\n<ul>\n<li>update bootstrap to 3.4.1<\/li>\n<\/ul>\n\n<h4>3.1.3<\/h4>\n\n<ul>\n<li>add timeout on post fetch call<\/li>\n<\/ul>\n\n<h4>3.1.2<\/h4>\n\n<ul>\n<li>fix synchronization update comments<\/li>\n<\/ul>\n\n<h4>3.1.1<\/h4>\n\n<ul>\n<li>fix msie condition<\/li>\n<\/ul>\n\n<h4>3.1.O<\/h4>\n\n<ul>\n<li>fix selector jQuery<\/li>\n<li>fix array type php &gt;= 7.2.0<\/li>\n<li>tested with WordPress 5.5.0<\/li>\n<\/ul>\n\n<h4>3.0.6<\/h4>\n\n<ul>\n<li>fix posts containing single quotes in title<\/li>\n<li>tested with WordPress 5.4.0<\/li>\n<\/ul>\n\n<h4>3.0.5<\/h4>\n\n<ul>\n<li>fix synchronization where an invalid method signature was used<\/li>\n<\/ul>\n\n<h4>3.0.4<\/h4>\n\n<ul>\n<li>fix synchronization where thread.uid was missing in some cases<\/li>\n<\/ul>\n\n<h4>3.0.3<\/h4>\n\n<ul>\n<li>check authorize Set time limit for import<\/li>\n<\/ul>\n\n<h4>3.0.2<\/h4>\n\n<ul>\n<li>Set time limit for import<\/li>\n<\/ul>\n\n<h4>3.0.1<\/h4>\n\n<ul>\n<li>Add generate token<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>Brand new plugin UI, clearer and simpler.<\/li>\n<li>More options available like WP SSO, Customizable Sliding side panel, restricted right to comment.<\/li>\n<li>Old comments importation improvements<\/li>\n<li>WordPress comments synchronisation improvements<\/li>\n<\/ul>\n\n<h4>2.5.7<\/h4>\n\n<ul>\n<li>add param fixed_header_height<\/li>\n<\/ul>\n\n<h4>2.5.6<\/h4>\n\n<ul>\n<li>add readonly mode<\/li>\n<li>add overlay mode<\/li>\n<\/ul>\n\n<h4>2.5.5<\/h4>\n\n<ul>\n<li>add SSO (single sign-on) support<\/li>\n<\/ul>\n\n<h4>2.5.4<\/h4>\n\n<ul>\n<li>fix bug when importing comments from multiple websites<\/li>\n<\/ul>\n\n<h4>2.5.3<\/h4>\n\n<ul>\n<li>fix bug when having multiple accounts<\/li>\n<\/ul>\n\n<h4>2.5.2<\/h4>\n\n<ul>\n<li>fix encoding characters in title of a thread<\/li>\n<\/ul>\n\n<h4>2.5<\/h4>\n\n<ul>\n<li>Simplify plugin setup<\/li>\n<li>Bugfixes and design improvments<\/li>\n<li>Unsupported PHP version detection<\/li>\n<\/ul>\n\n<h4>2.4.6<\/h4>\n\n<ul>\n<li>Update method to set cron synchronization comments<\/li>\n<\/ul>\n\n<h4>2.4.5<\/h4>\n\n<ul>\n<li>Add ip informations in import comments, debug activate gc<\/li>\n<\/ul>\n\n<h4>2.4.4<\/h4>\n\n<ul>\n<li>Hotfix debug guid<\/li>\n<\/ul>\n\n<h4>2.4.3<\/h4>\n\n<ul>\n<li>Add Guid and ID post mapping to import and tag gc for best stability<\/li>\n<\/ul>\n\n<h4>2.4.2<\/h4>\n\n<ul>\n<li>Update Bot List<\/li>\n<li>Add compatibility with AMP Google<\/li>\n<\/ul>\n\n<h4>2.4.1<\/h4>\n\n<ul>\n<li>Fix css null notif in menu<\/li>\n<\/ul>\n\n<h4>2.4<\/h4>\n\n<ul>\n<li>Prefix JQuery CSS to avoid conflicts<\/li>\n<\/ul>\n\n<h4>2.3.8<\/h4>\n\n<ul>\n<li>Update translate error messages<\/li>\n<\/ul>\n\n<h4>2.3.7<\/h4>\n\n<ul>\n<li>Fix bug emojie function<\/li>\n<\/ul>\n\n<h4>2.3.6<\/h4>\n\n<ul>\n<li>Add support emoticons for mysql 5.1+ import comments<\/li>\n<li>Add compatibility to php 5.3+<\/li>\n<\/ul>\n\n<h4>2.3.5<\/h4>\n\n<ul>\n<li>Delete Freemius system<\/li>\n<li>Update Debug Button to be Friendly User<\/li>\n<li>Debug SEO checkbox when is deactivate it's not checked<\/li>\n<\/ul>\n\n<h4>2.3.4<\/h4>\n\n<ul>\n<li>Add Freemius system<\/li>\n<\/ul>\n\n<h4>2.3.3<\/h4>\n\n<ul>\n<li>Import finishing updated<\/li>\n<li>Improve code readability<\/li>\n<\/ul>\n\n<h4>2.3.2<\/h4>\n\n<ul>\n<li>Fix error in redirection<\/li>\n<\/ul>\n\n<h4>2.3.1<\/h4>\n\n<ul>\n<li>Use wordpress hook to insert and update comment<\/li>\n<li>Use wordpress prepare statement to insert in pairing table<\/li>\n<li>If post not found in synchronization, try pages<\/li>\n<\/ul>\n\n<h4>2.3<\/h4>\n\n<ul>\n<li>Add SEO options<\/li>\n<li>Improve synchronization<\/li>\n<li>Send UTC date<\/li>\n<li>Enhance Logger<\/li>\n<li>Change UI of general settings<\/li>\n<\/ul>\n\n<h4>2.2.7<\/h4>\n\n<ul>\n<li>Push the current date in notif setup<\/li>\n<\/ul>\n\n<h4>2.2.6<\/h4>\n\n<ul>\n<li>Bug fix<\/li>\n<li>Performance improve on import<\/li>\n<li>Increase log number in debug mode<\/li>\n<\/ul>\n\n<h4>2.2.5<\/h4>\n\n<ul>\n<li>Fix plugin for localization.<\/li>\n<\/ul>\n\n<h4>2.2.4<\/h4>\n\n<ul>\n<li>Fix broken link in readme<\/li>\n<li>Change logging folder to uploads\/graphcomment\/<\/li>\n<li>Improve error handling<\/li>\n<\/ul>\n\n<h4>2.2.3<\/h4>\n\n<ul>\n<li>Improve Import and Sync performance<\/li>\n<li>Improve date management<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>New timeout for import<\/li>\n<\/ul>\n\n<h4>2.2<\/h4>\n\n<ul>\n<li>Core system improved<\/li>\n<li>Import leaks optimized<\/li>\n<\/ul>\n\n<h4>2.1.9<\/h4>\n\n<ul>\n<li>Import improved<\/li>\n<\/ul>\n\n<h4>2.1.8<\/h4>\n\n<ul>\n<li>OAuth improved<\/li>\n<\/ul>\n\n<h4>2.1.7<\/h4>\n\n<ul>\n<li>Design fix<\/li>\n<\/ul>\n\n<h4>2.1.6<\/h4>\n\n<ul>\n<li>Debug mode<\/li>\n<\/ul>\n\n<h4>2.1.5<\/h4>\n\n<ul>\n<li>Language fallback, EN default<\/li>\n<li>Import improved<\/li>\n<\/ul>\n\n<h4>2.1.4<\/h4>\n\n<ul>\n<li>Fix create website<\/li>\n<li>OAuth improved<\/li>\n<\/ul>\n\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>UX Improved<\/li>\n<li>Notifications improved<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>Publication date bound to thread in import<\/li>\n<li>Wording improved<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Improve importation<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Change embedded code to add identifier<\/li>\n<li>Bind post's slug in GraphComment<\/li>\n<li>Handle http error in sync page<\/li>\n<li>Improve translation in error<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Better redirection<\/li>\n<li>Import improved<\/li>\n<li>Automatic activation on website selection<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Fix cross-domain<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Use OAuth and JWT for user authentication<\/li>\n<li>Synch from WordPress to GraphComment<\/li>\n<li>GraphComment backoffice directly embeded in admin GUI<\/li>\n<li>Translation improved<\/li>\n<\/ul>\n\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Synchronisation with comment author's email<\/li>\n<li>Notification in WordPress plugin while comment posted in GraphComment<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>SEO improved<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Fix : Add optimisations to avoid plugins conflicts<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Fix : Translation and svn pristine<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Fix : Translation and stable version<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>GraphComment is shown only on post that allow comments<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Comments synchronization from GraphComment to WordPress database (with wp-cron thirdaday)<\/li>\n<li>Updated comments taken too<\/li>\n<li>Use WordPress embedded script<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Internationalization (i18n)<\/li>\n<li>Allow GraphComment to post on all post<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Allow GraphComment to apply only on new post<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Beginning of the plugin.<\/li>\n<li>Contain already great features.<\/li>\n<\/ul>","raw_excerpt":"Don&#039;t disable comments \u2014 fix them. AI-assisted moderation, zero spam, ad-free \u2014 syncs back to your WordPress database. The Disqus alternative.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/41608","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=41608"}],"author":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/graphcomment"}],"wp:attachment":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=41608"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=41608"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=41608"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=41608"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=41608"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=41608"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}