How to Add Comments to Ghost CMS: Native, Disqus, and Third-Party Options
Quick answer: Ghost CMS has a native commenting system (available since Ghost 5.0) that requires members to sign in. To enable it: go to Settings → Membership → Access and turn commenting on. For custom themes, add {{comments}} to your post.hbs template. Third-party options like Disqus or Hyvor Talk work without memberships.

A post with no comment section is a dead end. Readers finish, close the tab, and you never know what they thought. Comments are how you start conversations, keep people on the page longer, and build the kind of audience that comes back.
Ghost took its time adding native comments — the feature didn't land until 2022, almost a decade after launch. Before that, the forum was full of threads asking about Disqus, Talkyard, and self-hosted alternatives. Today the options are much better, but picking the right one for your setup still trips people up.
This guide covers all three main paths: Ghost's built-in comments, third-party embeds like Disqus, and privacy-friendly alternatives. You'll also find the exact code for custom themes, plus the most common reasons comments don't show up after you enable them.
How does Ghost's native commenting system work?
Ghost's native comments are member-gated. Only logged-in members can post, reply, and react — anonymous visitors see a read-only thread (if any comments exist) and a prompt to sign up. This is a deliberate design: it keeps spam out and ties commenting to your membership funnel.
The feature runs inside an iframe, which means Ghost handles all comment storage, moderation, and email notifications. You don't touch a database. Comments live in your Ghost instance alongside your posts.
What members can do:
- Post new comments
- Reply to existing comments
- Edit or delete their own comments
- Like other comments
- Report comments for misconduct
What admins can do from Settings → Comments:
- Search and filter all comments by post, author, date, or visibility status
- Hide or unhide individual comments
- Receive email alerts when new comments are posted or a comment is reported
A practical note on the iframe: because comments load in a sandboxed iframe, you can't override comment styles with your theme's CSS. Ghost controls that UI. If brand-matching matters to you, a third-party system gives more control — though it adds external dependencies.
How do I enable comments in Ghost Admin?
Three clicks:
- Log into Ghost Admin
- Go to Settings → Membership → Access
- Under "Commenting", choose All members or Paid-members only, then click Save
That's it for Ghost Pro with an official theme. If you're using an official theme (Source, Casper, Alto, etc.), the comments section will appear at the bottom of every post automatically after you save.
The option to restrict comments to paid members is worth noting if you run a newsletter business. Paid-only commenting is a genuine differentiator for your paid tier — it turns your comment section into a subscriber lounge.
If you run a self-hosted instance, you'll also need Ghost 5.x or newer. Earlier versions don't have native comments. Check your version with ghost version in your terminal and update with ghost update if needed. Our guide on how to update Ghost covers the full process.
Why aren't comments showing after I enabled them?
This is the most common complaint in the forum. You toggle commenting on, save, reload a post — and nothing. Here's what to check:
| Cause | Fix |
|---|---|
Custom theme without {{comments}} helper | Add {{comments}} to post.hbs and re-upload theme |
| Outdated official theme | Update theme to latest version in Ghost Admin |
| You're viewing as admin, not a member | Open post in incognito, log in as a regular member to test |
| Commenting set to "Paid-members only" | Test with a paid member account or switch to "All members" |
| Ghost version below 5.0 | Run ghost update on your server |
The admin-vs-member confusion is the sneakiest one. When you're logged in as a staff user or owner, Ghost doesn't show the comment section — because comments are a member feature, not an admin feature. Always test with a real member account, not your admin login.
How do I add comments to a custom Ghost theme?
If you built or bought a custom theme, you need to add one line to your post.hbs template:
{{comments}}Place it just before the closing {{/post}} tag (or wherever you want the section to appear — typically below the post content). The full context in post.hbs looks like this:
{{#post}}
...post content...
{{comments}}
{{/post}}You can customize the output with attributes:
{{comments title="Join the discussion" count=true mode="light" saturation=70}}
| Attribute | Options | Default |
|---|---|---|
title | Any string | "Member discussion" |
count | true or false | true |
mode | auto, light, dark | auto |
saturation | Number (0–100) | 60 |
After editing, zip the theme folder and upload it via Ghost Admin → Design → Change theme → Upload theme. You don't need to restart Ghost.
If you also want to display a comment count on your post cards (homepage listings), use the {{comment_count}} helper in your index.hbs or loop templates.
For more on theme customization and code injection, check our guide on adding full-width HTML embeds to Ghost posts.
What are the best third-party comment systems for Ghost?
Native comments don't work for everyone — maybe you want comments without memberships, or you need a self-hosted option, or you just want full control over the UI. Here's how the main options compare:
| System | Free tier | Self-hosted | Member login required | Privacy |
|---|---|---|---|---|
| Ghost native | Yes | With self-hosted Ghost | Yes | High (on your server) |
| Disqus | Yes (ads) | No | No | Low (tracks users) |
| Hyvor Talk | No | No | No | High (privacy-first) |
| Giscus | Yes (free) | No (GitHub infra) | GitHub account | Medium |
| Remark42 | Yes (free) | Yes | Optional | High |
| Talkyard | Limited | Yes | Optional | High |
Disqus is the fastest to set up — paste a script block in your theme, done. The trade-off is advertising on free plans and known user tracking. If your audience cares about privacy, Disqus will cost you credibility. Ghost has an official Disqus integration.
Giscus is surprisingly good for developer-focused blogs. Comments are GitHub Discussions threads, so readers need a GitHub account. Zero cost, zero ads, and you own the data. Not suitable for non-technical audiences.
Remark42 is the serious self-hosted option. It's a Go binary you run on your own server, supports anonymous and social login, and has no external dependencies. Setup takes 30–60 minutes but gives you full data ownership. Good pair with a self-hosted Ghost instance.
For a deep look at Ghost's membership and monetization options, our guide to restricting content by membership tier explains how to combine commenting access with paid tiers.
How do I add Disqus comments to Ghost?
You'll need a Disqus shortname (your site identifier from disqus.com).
Open your theme's post.hbs file. Find where you want comments to appear (below the post content), then paste:
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = '{{url absolute="true"}}';
this.page.identifier = '{{id}}';
};
(function() {
var d = document, s = d.createElement('script');
s.src = 'https://YOUR-SHORTNAME.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>Replace YOUR-SHORTNAME with your Disqus shortname. The Ghost template variables {{url absolute="true"}} and {{id}} fill in the correct post URL and unique ID automatically.
Re-zip and upload your theme. No Ghost restart needed.
Note: Ghost's own {{comments}} helper and Disqus can't both show up at the same time on the same post. If you added {{comments}} already, remove it before adding the Disqus script — otherwise you'll have two comment sections stacked.
For managing your Ghost site's email setup alongside comments, see our guide to Mailgun alternatives — comment notification emails depend on your transactional email config.
Can I create comments via the Ghost API?
Not officially, no. The Ghost Admin API and Content API don't expose a public comments endpoint for creating new comments. The Comments API is an internal interface that only the Ghost frontend (the iframe-rendered comment widget) calls — it authenticates through the member session, not Admin API keys.
For headless setups, this is a real limitation. If you're building a custom frontend that consumes the Ghost Content API, you have two options:
- Use Ghost's comment iframe anyway — embed the comment count URL (
/ghost/api/content/posts/{id}/?key=...&fields=comments_count) and link to the canonical Ghost URL for actual commenting - Use a third-party system — Giscus, Remark42, or Hyvor Talk all offer proper APIs and work independently of Ghost's member system
There's an active discussion on the Ghost forum about exposing a comments API — but as of early 2026, it's not on the official roadmap. If this matters to your use case, watch the Ghost forum thread on comments in the API for updates.
If you're building advanced Ghost integrations, see our n8n integration guide for automating Ghost workflows with the API.
Related Ghost Guides
- Restricting content to specific membership tiers — combine paid-only comments with tiered access
- Ghost CMS retention offers and reducing churn — keep commenting members subscribed
- Ghost Mailgun alternatives — comment notifications depend on your email setup
- Connecting Ghost to n8n — automate workflows triggered by new posts and members
- How to update Ghost — required for native comments (Ghost 5.x+)
- Improving Ghost PageSpeed score — third-party comment scripts affect load time
- Adding a social media feed to Ghost — other embed approaches for custom themes
Frequently Asked Questions
Does Ghost CMS have built-in comments?
Yes. Ghost added native comments in 2022. They're member-gated: only logged-in members can post. Enable them from Settings → Membership → Access in Ghost Admin. Official themes support them out of the box; custom themes need the {{comments}} Handlebars helper in post.hbs.
Can non-members comment on Ghost?
No — Ghost's native system requires members to sign in. If you want anonymous or open comments, use a third-party system like Disqus or Giscus instead.
How do I moderate comments in Ghost?
Go to Settings → Comments in Ghost Admin. You can filter by post, author, date, or visibility status, search full text, and hide or show individual comments. You can also moderate inline from the post by clicking the three-dot menu on any comment while logged in as an admin.
Can I restrict comments to paid members only?
Yes. In Settings → Membership → Access, set the commenting option to "Paid-members only". Free members will see the comment section but can't post — they'll be prompted to upgrade.
Why does Ghost load comments in an iframe?
Ghost uses an iframe to sandbox the comment widget from your theme. This keeps security boundaries clean and lets Ghost manage the UI independently. The downside is you can't style comments with your theme CSS — the iframe blocks that access.
Does Disqus work with Ghost?
Yes. Ghost has an official Disqus integration. Add the Disqus embed script to your post.hbs template using Ghost's Handlebars variables for URL and post ID. Disqus's free tier shows ads; the paid tier removes them.
What's the best free comment system for Ghost without ads?
Giscus (free, uses GitHub Discussions, no ads) is the best option for developer blogs. For non-technical audiences, Ghost's native comments (if you have members) or Remark42 (self-hosted, no ads) are better fits.
How do I show comment counts on post cards?
Use the {{comment_count}} helper in your index.hbs or loop template. It accepts singular, plural, empty, and class attributes to format the output how you want.
Will third-party comments slow down my Ghost site?
They can. Disqus in particular loads several external scripts. If you care about PageSpeed scores, use lazy loading or load the embed only on scroll/click. Ghost's native comments load in an iframe which is lighter but still adds a network request. Giscus is one of the lightest options.
Is there a Ghost API for creating comments?
No public API exists for creating comments programmatically. Ghost's comment interface is internal and tied to member sessions. For headless builds, link to the canonical post URL for commenting, or use a third-party system with a proper comments API.
The right comment system for your Ghost site depends on one question: do you already have members? If yes, turn on native comments — it's free, built-in, and turns commenting into a membership perk. If you're just starting out and want open comments without requiring sign-ups, start with Giscus (free, no ads, GitHub-backed) or Remark42 if you prefer a self-hosted stack. Skip Disqus unless you're fine with ads or on a paid plan — the tracking and performance overhead isn't worth it for a privacy-conscious blog.