Commentsy is a pilot project. For your own deployment, fork and self-host Commentsy.

Commentsy Documentation

Add a conversation to each page of your website, match your site's colors, and manage comments from your dashboard.

Add comments to your site

  1. Create an account or sign in, then open your dashboard. In Your sites, create an app for your website.
  2. Enter a name, description, and authorized domains. Use your website's full origin, such as https://www.example.com, without a path or trailing slash. Add each origin you use, including https://example.com if you also serve that address. For local testing, include the port, for example http://localhost:5500.
  3. Open the app to find its integration instructions. Copy the iframe snippet into the HTML where you want comments to appear. Replace {{IDENTIFIER}} with a unique, stable identifier for the current page.
  4. Copy the JavaScript snippet into your page's HTML <head>. It adjusts the widget height and shares the page title and URL with Commentsy. Include both snippets for the integration to work correctly. If you use an external JavaScript file, omit the surrounding <script> tags.
  5. Load your website and post a test comment. Repeat the iframe integration on other pages, giving each page its own identifier.

Page identifiers

The identifier parameter chooses the conversation within your app. For a blog post, use a value such as my-first-postor a permanent post ID. Reusing an identifier in the same app shares the same comments across those pages.

Keep identifiers stable when you rename a page or change its URL. Changing an identifier opens a different conversation; it does not move existing comments. URL-encode values that contain spaces or special characters before putting them in the iframe URL.

Themes and appearance

Set theme=light or theme=dark in the iframe URL to choose a theme. Remove the theme parameter to use the visitor's device preference. Open your app's Appearance page to customize the colors for each theme.

Update authorized domains, the app name, and its description in the app's Settings page.

Posting and moderation

Visitors can post as guests or sign in to manage their own comments. Sign in before posting to retain author controls: guest comments cannot be claimed by signing in later. A comment or reply can contain up to 5,000 characters and one GIF, when the GIF picker is configured on your Commentsy instance.

Open your app's Comments page to review and moderate conversations. Only approved comments appear in the widget. Deleting a comment replaces its content with a notice. Existing replies remain visible, but new replies are closed. Threads show the first three replies; select View replies to load more. Your dashboard separately lists comments you posted while signed in.

Troubleshooting

The widget shows an unauthorized message

Check the app code in your iframe URL and the authorized domains in Settings. Match the host page's protocol, hostname, and port exactly. Ensure your website sends a referrer with iframe requests; a policy that suppresses it can prevent authorization.

Comments appear on the wrong page

Check that each page has its own identifier and that you replaced the placeholder in the iframe URL. Pages using the same app and identifier share a conversation.

The widget height does not adjust

Check that you included the generated JavaScript snippet and kept the iframe ID as commentsyIframe. If your site blocks inline scripts, put the script contents in an allowed external JavaScript file.

I signed in, but the widget still shows me as a guest

Sign in to Commentsy in a separate tab, then return to the widget and select Already signed in? Connect. Allow browser storage access if prompted. Browser cookie policies can restrict embedded sign-in; guest posting remains available if access is denied.

For local HTTP testing, use the same hostname for both sites, such as localhost on different ports. Do not mix localhost with 127.0.0.1. Test cross-site embedded sign-in with HTTPS on both sites.

Still need help? Get in touch with the page URL and a description of what you see.