Learn how to add comment systems to your Hugo static site. Compare Utterances, Disqus, Commento, and Giscus with step-by-step instructions.
Adding comments to a static site like Hugo might seem challenging, but several excellent solutions can bring dynamic discussion capabilities to your blog. In this guide, I’ll walk you through the best options and show you exactly how to implement comments effectively.
Comments transform your static blog into an interactive community hub. They build engagement between you and your readers, provide valuable feedback on your content, create social proof showing active discussion, and can even improve SEO through user-generated content.
Utterances is a lightweight, open-source comments widget that uses GitHub issues for comment storage. It’s completely free and has no tracking.
First, install the Utterances GitHub app on your repository. Then add a simple script tag to your Hugo layout files where you want comments to appear. Configure it with your repository name and preferred settings like theme color and mapping method.
You can customize Utterances with different parameters including how posts map to GitHub issues and which color scheme to use. The setup takes less than 10 minutes and requires no ongoing maintenance.
Disqus is the most widely recognized commenting system on the web, known for its familiar interface and extensive features.
Disqus requires you to create an account on their platform, get a unique site identifier, and add their universal embed code to your templates. The setup is straightforward but comes with the trade-offs mentioned above.
Commento is a privacy-focused commenting platform that offers both cloud and self-hosted options.
For the cloud version, you simply add a script tag similar to Disqus. For self-hosting, you’ll need to set up a server, install Commento, and maintain it regularly.
Giscus is similar to Utterances but uses GitHub Discussions instead of Issues for storing comments.
Giscus requires similar setup to Utterances but uses GitHub Discussions instead of Issues. You’ll need to enable Discussions in your repository and configure the appropriate mapping.
After testing all options, Utterances proved superior for several reasons. The technical advantages include simplicity of implementation, excellent performance with no impact on page load speed, zero maintenance requirements, and seamless GitHub integration that leverages existing authentication systems.
From a user experience perspective, Utterances provides a clean, familiar interface for GitHub users while maintaining privacy and avoiding the clutter of advertisements. The moderation tools through GitHub issues are robust and familiar to developers.
When adding comments to your Hugo site, consider these best practices:
Placement matters - Position comments where they’re easily accessible but don’t interrupt content flow. Most blogs place them immediately after the article content.
Mobile responsiveness - Ensure your comment system works well on all devices. Test on various screen sizes to guarantee proper functionality.
Loading optimization - Consider lazy loading comments to improve initial page load performance. This can be especially important for SEO.
Accessibility - Choose a comment system that supports keyboard navigation and screen readers to ensure all users can participate.
Different comment systems impact site performance differently. Utterances and Giscus have minimal impact on load times, typically maintaining PageSpeed scores above 95. Disqus tends to have the most significant performance impact, often reducing scores to the 70-85 range. Commento falls somewhere in the middle with scores typically between 85-95.
When choosing a comment system, consider these important factors:
GDPR compliance - Utterances and Giscus use GitHub authentication, making them naturally compliant. Disqus requires additional consent management mechanisms. Commento is privacy-focused by design.
Data ownership - With Utterances and Giscus, you maintain ownership of your data through GitHub issues. With Disqus, they control your comment data. Self-hosted Commento provides complete data ownership.
Transparency - Open source solutions like Utterances provide full transparency about how data is handled, while proprietary systems may have opaque data practices.
If you’re switching from another comment system, follow these steps:
First, export existing comments from your current platform. Next, create GitHub issues for each post with historical comments. Implement URL redirects if changing comment systems to maintain link integrity. Finally, inform your community about the change and provide guidance on the new system.
If comments aren’t appearing, check these common issues: ensure your repository is set to public, verify the Utterances app is properly installed, and confirm your issue-term configuration matches your URL structure.
For styling issues, ensure proper container sizing and test mobile responsiveness. Most problems can be resolved with simple CSS adjustments to match your site’s design.
After extensive testing, Utterances emerged as the best solution for Hugo blogs because it combines excellent performance with privacy protection and zero cost. The GitHub integration means real authentication without maintaining user databases, and the issue-based system provides natural moderation tools.
For most technical bloggers, Utterances provides the ideal balance of functionality, privacy, and ease of use. Disqus remains an option for those prioritizing user familiarity over privacy, while Commento suits those needing self-hosting capabilities.
Regardless of your choice, adding comments to your Hugo blog will transform it from a static publication into a dynamic community space where ideas can be shared and discussed.
Have questions about implementing comments on your Hugo site? Feel free to reach out through our contact page!
Happy coding!
Comments & Discussion
Join the conversation using your GitHub account. Comments are powered by Utterances.