Ghost · free forever · no signup

Add a free comments widget to Ghost

One snippet, pasted into an HTML card under the post body, or post-level injection — because it belongs directly under the article body, which means the blog-post template rather than a global widget area. Ghost powers tens of thousands of independent publications, and almost none of those sites want another integration just to render a small piece of live data. No integration to configure. Ghost renders raw HTML and script tags from Code injection and from an HTML card, so there is nothing to install and no third party in the loop.

Disqus is bloated (1 MB+), tracking-heavy, and ad-supported. We rebuilt the entire comments stack in 5 KB. No signup, no email required, optional moderation, beautiful themes.

How to install it on Ghost

  1. 1In the editor, scroll to the end of the post and insert an HTML card.
  2. 2Paste the snippet and publish.
  3. 3For every post automatically, use Settings → Code injection → Site Footer instead of editing posts one by one.
  4. 4For one post only, the post settings panel has its own Code injection fields.
Self-hosted, or editing a theme directly? Ghost has no native comments on older versions and native comments only for members on newer ones — that's exactly why the comments widget gets dropped into an HTML card here, with no member account required to post.

Three things that trip people up on Ghost

Site Header vs Site Footer actually matters here

Ghost's whole appeal is speed. Putting a script in Site Header makes the browser deal with it before painting your post; Site Footer runs it after. Our snippet is async either way, so use the Footer box unless the widget must exist before first paint (the heatmap and the speed badge are the only two that benefit).

The editor shows markup, not the widget

An HTML card displays the raw code while you're writing and only renders on the published page. That's by design, not a failed paste. Publish (or use the preview link) and check the live URL — and remember post-level code injection doesn't run in preview at all on some versions.

Theme edits get wiped, Code injection doesn't

If you paste the snippet into a `.hbs` file, the next theme update or theme switch silently removes it. Code injection is stored in your Ghost settings, not in the theme, so it survives both. On Ghost(Pro) you can't edit theme files directly anyway — Code injection and HTML cards are the whole surface.

What you get, and what it costs

  • Free forever — there is no paid tier, no trial and no card
  • No signup for the badge-style widgets; the live ones create a site ID inline from your URL
  • Async script — it never blocks your page from rendering
  • Works on Ghost(Pro) and self-hosted Ghost, in Code injection and in the editor's HTML card, on any theme including Casper and Source
  • Bots filtered server-side on every visitor-counting widget

Ghost questions

Do I need an integration to add a comments widget to Ghost?

No integration to configure. Ghost renders raw HTML and script tags from Code injection and from an HTML card, so there is nothing to install and no third party in the loop. Installing an integration for this would mean an extra dependency, an update cycle and a security surface to render one snippet. Paste it into an HTML card under the post body, or post-level injection and you're done.

Where exactly does the snippet go on Ghost?

An HTML card under the post body, or post-level injection — because it belongs directly under the article body, which means the blog-post template rather than a global widget area. In the editor, scroll to the end of the post and insert an HTML card. Paste the snippet and publish. For every post automatically, use Settings → Code injection → Site Footer instead of editing posts one by one. For one post only, the post settings panel has its own Code injection fields.

Will it slow my Ghost site down?

No. The script tag is async, so it never blocks your page from rendering, and the widget draws itself after your content is already on screen. Ghost is already the fastest mainstream publishing platform and the point is to keep it that way: the snippet is one async tag, so it never blocks your post from rendering. Site Footer is the right injection slot for script tags — Site Header is for things that must run before paint.

Does it work with page builders like Ghost admin?

Ghost admin: Settings → Code injection → Site Footer. Ghost editor: insert an HTML card. Post settings: per-post Code injection fields. Self-hosted themes: edit default.hbs above {{ghost_head}}. Any builder with a raw-HTML or code block will render it, because there's nothing framework-specific in the snippet.