Customize Emotes
Replace the 6 default reactions. Emote customization →
The Comments widget is Vuukle’s flagship — a threaded comment system with social/email login, GIFs, image upload, voting, sorting, and built-in moderation. This page is the complete reference.
Add the install script, then add the widget anchor wherever you want comments to render:
<div id="vuukle-comments"></div>Install the Vuukle WordPress plugin. Comments are enabled by default — to toggle, Settings → Vuukle → Comment widget settings → Enable comments.
Auto-enabled by the Blogger install. To disable on specific pages, set comments.enabled = false in VUUKLE_CONFIG inside the Blogger HTML/JavaScript widget.
Use the AMP iframe pattern — see Install on AMP pages for the boilerplate.
All comment-widget settings nest under comments inside VUUKLE_CONFIG:
<script> var VUUKLE_CONFIG = { apiKey: 'YOUR_PUBLIC_API_KEY', articleId: 'post-12345', theme: { color: '#FACC2B', // Accent color (hex) darkMode: false, // Force dark theme }, comments: { enabled: true, commentingClosed: false, // Read-only — see comments, can't post maxChars: 3000, // Max chars per comment (1–3000) countToLoad: 10, // Initial paint comments count sorting: 'latest', // 'latest' | 'oldest' hideCommentInputBox: false, // Hide editor; user clicks "Add comment" first hideCommentInputBoxWithButton: false, // Hide editor AND the button (read-only display) hideRecommendedArticles: false, // Hide "Talk of the town" cross-article row hideMoreNews: true, // Hide "Show more articles" pagination transliteration: { language: 'en', // 'en' | 'hi' | 'mr' | 'ta' | 'ar' | ... enabledByDefault: true, }, auth: { facebook: true, google: true, twitter: false, disqus: false, password: true, // Email + password vuukle: true, // Vuukle native (any-site) login sso: { // Single sign-on (your own user system) onClick: openYourLoginModal, // Function called when user clicks "Sign in" }, }, editorOptions: [ 'image', 'gif', 'bold', 'italic', 'underline', 'url', 'blockquote', 'code', 'list', ], toxicityLimit: 80, // 0-100. Lower = stricter. 100 disables. spamLimit: 50, // Same scale. customText: { // Override any visible string 'Add Comment': 'Add your thoughts', 'Replies': 'Discussion', }, }, };</script>| Option | Type | Default | What it does |
|---|---|---|---|
enabled | bool | true | Master toggle. false renders nothing. |
commentingClosed | bool | false | Read-only mode — visitors see existing comments but cannot post. |
hideCommentInputBox | bool | false | Hides the editor until the user clicks an “Add comment” button. |
hideCommentInputBoxWithButton | bool | false | Hides editor AND the button. Display-only thread. |
hideRecommendedArticles | bool | false | Hides the “Talk of the town” cross-article recommendation row. |
hideMoreNews | bool | true | Hides the “Show more articles” pagination. |
countToLoad | number | 10 | Number of comments rendered at first paint. |
sorting | enum | 'latest' | Initial sort order: 'latest' or 'oldest'. |
maxChars | number | 3000 | Maximum characters per comment (1–3000). |
Under comments.auth. Set any method to false to remove its button.
| Option | Default | Notes |
|---|---|---|
facebook | true | OAuth via Facebook. |
google | true | OAuth via Google. |
twitter | true | OAuth via X/Twitter. |
disqus | true | OAuth via Disqus — useful for sites migrating from Disqus. |
password | true | Email + password (Vuukle-hosted). |
vuukle | true | Universal Vuukle commenter account. Works across every Vuukle site. |
sso | — | Object with onClick: function. See SSO overview. |
To require login (no anonymous commenting): set auth.password: false, auth.vuukle: false, force users into either social or SSO.
comments.editorOptions is an array — order matters, toolbar buttons render in the order you list:
editorOptions: ['bold', 'italic', 'url', 'blockquote', 'image', 'gif', 'list']| Value | Enables |
|---|---|
image | Image upload button |
gif | GIF picker (Giphy) |
bold | Bold formatting |
italic | Italic formatting |
underline | Underline formatting |
url | Insert link |
blockquote | Quote block |
code | Inline code |
list | Bullet / numbered lists |
To disable image and GIF upload entirely:
editorOptions: ['bold', 'italic', 'underline', 'url', 'blockquote', 'code', 'list']| Option | Range | Default | What it does |
|---|---|---|---|
toxicityLimit | 0–100 | 80 | Comments scoring above this number go to moderation queue. Lower = stricter. 100 disables. |
spamLimit | 0–100 | 50 | Same scale, for spam classifier. |
The exact behavior when a comment exceeds the threshold (queue vs. auto-reject) is set in the dashboard — Site Settings → Comment Widget → Above threshold. See auto-moderation.
theme: { color: '#FACC2B', // Accent (hex) darkMode: false, // true forces dark, false forces light. Default: auto.}comments: { customText: { 'Add Comment': 'Add your thoughts', 'Show more comments': 'Load more', 'Replies': 'Discussion', 'Most recent': 'Newest first', },}See Language & transliteration for the complete list of overridable strings and supported languages.
comments: { commentingClosed: true }Users see all existing comments but can’t post new ones. Useful for archived articles you’ve stopped accepting comments on.
comments: { auth: { facebook: false, google: false, twitter: false, disqus: false, password: false, vuukle: false, sso: { onClick: openMyLoginModal }, },}Combined with Site Settings → Comment Widget → Login method → SSO only in the dashboard. See SSO overview.
comments: { toxicityLimit: 50, spamLimit: 30,}Plus in the dashboard, set Above threshold → Reject to drop bad comments without filling your queue.
comments: { editorOptions: ['bold', 'italic', 'url', 'blockquote', 'list'],}The WordPress plugin and the Vuukle dashboard expose the same options as a UI. Open dashboard → your site → Site Settings → Comment widget to set defaults without editing your template.
This is the right place for per-site defaults — character limit, login methods, sort order, moderation thresholds. Use VUUKLE_CONFIG for per-article overrides.
Customize Emotes
Replace the 6 default reactions. Emote customization →
Auto-moderation
Tune toxicity and spam thresholds. Auto-moderation →
SSO overview
Skip the Vuukle login. SSO →
Custom translations
Override every string in the widget. Language →