Squarespace · free forever · no signup

Add a free comments widget to Squarespace

One snippet, pasted into a Code Block inside the blog post — because it belongs directly under the article body, which means the blog-post template rather than a global widget area. Squarespace hosts millions of small-business and portfolio sites, and almost none of those sites want another extension just to render a small piece of live data. No extension. Squarespace renders raw HTML and script tags inside a Code Block, so there is nothing to install from the Extensions marketplace.

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 Squarespace

  1. 1Open the post in the blog editor and click an insert point under the body text.
  2. 2Add Block → Code, then paste the snippet.
  3. 3Save and publish the post.
  4. 4Want it on every post instead? Use the Footer field in Code Injection, or the per-page code injection in Page Settings → Advanced on Business and above.
On the Personal plan, or no Code Injection? Blog post comments on Squarespace are limited, which is exactly why the comments widget is popular here — a Code Block gives you threads with no third-party account.

Three things that trip people up on Squarespace

Two different plan gates to know about

Code Injection (Settings → Advanced) needs a Business plan or higher. Code Blocks exist on every plan, but JavaScript and iframes inside them only execute on paid plans above Personal. So Personal users see the block but not the widget — move up a plan or use a service that renders a plain image. Everything from Core upward works with a Code Block.

The editor never shows the widget

Squarespace renders a grey placeholder for Code Blocks while you're editing and doesn't run injected scripts in the editor at all. Save, then open the live URL in a normal tab — and hard-refresh, because Squarespace caches aggressively at the edge. Most 'it doesn't work' reports are an editor-only check.

7.0 templates with AJAX loading can swallow it

Brine-family 7.0 templates load pages via AJAX, so a script placed in the body may not re-run when a visitor clicks through your nav — the widget appears on first load and vanishes afterwards. Fix: Site Styles → uncheck Enable Ajax Loading, or put the snippet in Code Injection Header instead so it runs once for the whole session.

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 in 7.1 and 7.0 templates, in Code Blocks on every paid plan, and in site-wide Code Injection on Business and above
  • Bots filtered server-side on every visitor-counting widget

Squarespace questions

Do I need an extension to add a comments widget to Squarespace?

No extension. Squarespace renders raw HTML and script tags inside a Code Block, so there is nothing to install from the Extensions marketplace. Installing an extension for this would mean an extra dependency, an update cycle and a security surface to render one snippet. Paste it into a Code Block inside the blog post and you're done.

Where exactly does the snippet go on Squarespace?

A Code Block inside the blog post — because it belongs directly under the article body, which means the blog-post template rather than a global widget area. Open the post in the blog editor and click an insert point under the body text. Add Block → Code, then paste the snippet. Save and publish the post. Want it on every post instead? Use the Footer field in Code Injection, or the per-page code injection in Page Settings → Advanced on Business and above.

Will it slow my Squarespace 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. Squarespace serves your site from its own CDN and the snippet is one async tag, so it loads beside your content. Prefer the Footer field over Header in Code Injection for anything script-based — it keeps the tag out of the critical path on every page at once.

Does it work with page builders like Squarespace 7.1 editor?

Squarespace 7.1 editor: Add Block → Code. Code Injection: Settings → Advanced → Header or Footer. Page Settings: Advanced → per-page code injection on Business and above. 7.0 templates: same Code Block, plus turn off Ajax loading. Any builder with a raw-HTML or code block will render it, because there's nothing framework-specific in the snippet.