Introduction
Disqus made comments easy in the 2010s: paste a script, ship discussion. The bill comes later, ads, performance, GDPR friction, and a database you do not control.
If your stack is Laravel, you do not need an iframe SaaS to have a community. This post walks through building a Disqus alternative for Laravel that is self-hosted, polymorphic, and production-ready using Commentify (MIT) plus Commentify Pro when spam and headless access matter.
Why teams leave Disqus (and similar widgets)
Common reasons we hear from Laravel shops:
- Ownership — comments are content; they should live next to posts in your DB.
- Performance — third-party JS on every article page.
- Brand — widgets look like widgets.
- Compliance — exporting or deleting a user’s comments should be your CLI, not a support ticket.
- Auth — you already have users, policies, and Filament; another identity silo is waste.
A good Laravel Disqus alternative keeps the UX (threaded replies, guests, markdown, moderation) without outsourcing the data.
What “good” looks like on Laravel
| Capability | Why it matters |
|---|---|
| Polymorphic `Commentable` trait | One table for posts, products, lessons |
| Nested threads + sorting | Real conversations, not a flat guestbook |
| Guest commenting (opt-in) | Blogs die behind login walls |
| Moderation / approval | Public sites attract spam |
| Your auth + policies | Same rules as the rest of the app |
| Optional API / React / Vue | Inertia and SPAs are normal now |
| Import path | You must be able to leave Disqus with your history |
Commentify maps to that list. The free package covers the Livewire UI and core moderation. Pro adds the spam pipeline, Filament Pro queue, JSON API, JS SDKs, and Disqus / WordPress XML import
Drop-in comments (no iframe)
Install the free package:
composer require usamamuneerchaudhary/commentify
php artisan vendor:publish --tag=commentify-config
php artisan migrateMake a model commentable:
use Usamamuneerchaudhary\Commentify\Traits\Commentable;
class Post extends Model
{
use Commentable;
}Render the thread:
<livewire:comments :model="$post" />Enable guests when you are ready:
// config/commentify.php
'allow_guests' => true,
'require_approval' => true, // recommended on public blogsThat alone replaces “paste Disqus embed” for many sites, and the HTML is yours.
When to add Commentify Pro
Stay on MIT if:
- You run a small blog or internal app
- Livewire is enough
- Volume is low and approval in Filament is fine
Buy Commentify Pro when:
- Spam is a daily fire (heuristic + optional Akismet / toxicity)
- You need React or Vue with the same UI as Livewire
- You want a versioned JSON API for a headless or Inertia front end
- You are migrating off Disqus or WordPress and need an idempotent import
- Moderators want Slack/Discord webhooks instead of refreshing `/admin`
More Feature details here.
Migrating existing Disqus threads
Pro includes a Disqus XML import designed to be idempotent, re-run without duplicating comments. Plan the cutover like any data migration:
1. Export from Disqus.
2. Map threads to your Eloquent models (slug / URL conventions).
3. Run the import in staging; verify counts and nesting.
4. Flip DNS/embed off Disqus; point the page at `<livewire:comments>` or the Pro React/Vue mount.
5. Keep `require_approval` on for a week while heuristics learn your traffic.
WordPress XML import follows the same idea if you are leaving a WP comments table behind as you move the CMS to Laravel.
Self-hosted does not mean “ignore privacy”
Disqus’s privacy story is their problem until it becomes yours in a DPIA. With Commentify, comments and IPs live in your database. Pro adds GDPR-oriented CLI helpers to export, erase, and anonymize, so subject requests are an artisan command, not a archaeology project.
Try the alternative before you commit
commentify.pro is a live Laravel app: guest comments, pinned staff replies, twelve surfaces on one table. Use the playground to flip approval and nesting. Compare stacks on commentify.pro stacks.
Conclusion
A Disqus alternative for Laravel should feel like Laravel: Composer, migrations, policies, Filament, not another SaaS identity. Commentify gives you that path for free; Commentify Pro is there when spam, APIs, and migration tooling become the product’s bottleneck.
Own the thread. Keep the conversation in your app.
Leave a comment
Your email address will not be published. Email is optional. Required fields are marked *
