✦ Selamat Idul Fitri 1447 H 🌙 Taqabbalallahu minna wa minkum. Mohon maaf lahir dan batin. ✦
Oprek Blog

Cara Saya Mengelola Komentar Blog Tanpa Plugin Apapun

· Diperbarui 19 Nov 2025 · 0 komentar · ± 4 menit baca · 👁 59 dilihat

Salah satu bagian blog yang sering diremehkan tapi ternyata lumayan merepotkan adalah sistem komentar. Kelihatannya sederhana — pengunjung tulis sesuatu, lalu muncul di bawah artikel. Tapi di balik itu ada beberapa hal yang perlu dipikirkan: moderasi, spam, keamanan, tampilan, notifikasi.

Blog ini menggunakan sistem komentar yang saya tulis sendiri, dari nol, pakai PHP murni. Tidak ada Disqus, tidak ada plugin pihak ketiga, tidak ada ketergantungan ke layanan luar. Di artikel ini saya ceritakan prosesnya — termasuk bagian yang tidak berjalan mulus.

Kenapa Tidak Pakai Disqus?

Disqus itu solusi paling populer untuk komentar blog. Tinggal daftar, pasang script, beres. Tampilannya bagus, ada moderasi, ada notifikasi. Banyak blog besar pakai Disqus.

Tapi ada beberapa hal yang membuat saya memilih tidak memakainya. Pertama, Disqus itu berat. Script-nya memuat puluhan request tambahan ke server mereka setiap kali halaman dibuka. Untuk pengunjung dengan koneksi lambat, ini terasa.

Kedua, data komentar ada di server Disqus, bukan di server saya. Kalau suatu hari mereka tutup atau ganti kebijakan, komentar-komentar itu bisa hilang atau tidak bisa diakses. Saya tidak nyaman dengan ketergantungan itu.

Ketiga — dan ini yang paling jujur — saya ingin belajar membangunnya sendiri. Kalau ada solusi instan, refleks saya justru penasaran: bagaimana cara kerjanya? bisa tidak saya buat yang serupa?

Struktur Database yang Sederhana

Tabel komentar saya simpel. Ada kolom untuk nama pengunjung, email (opsional, tidak ditampilkan publik), isi komentar, id artikel yang dikomentari, timestamp, dan status (pending atau approved). Itu saja.

Waktu pertama bikin, saya sempat terlalu ambisius — ingin ada fitur reply bertingkat, voting, bahkan notifikasi email otomatis. Akhirnya saya potong habis dan mulai dari yang paling dasar: bisa submit komentar, bisa approve atau hapus dari admin. Fitur tambahan belakangan.

Pendekatan ini ternyata lebih baik. Saya tidak terjebak di kompleksitas fitur yang belum tentu dibutuhkan, dan sistemnya jadi lebih mudah dipahami dan dimaintain.

Masalah Spam — Yang Tidak Pernah Saya Duga Separah Ini

Kalau ada satu hal yang benar-benar tidak saya antisipasi di awal, itu adalah spam komentar. Begitu blog mulai dapat pengunjung dari Google, dalam waktu beberapa hari tiba-tiba kolom moderasi penuh dengan komentar aneh — isinya link ke situs judi, obat-obatan, atau sekadar karakter acak.

Saya tidak tahu robot bisa secepat itu menemukan form komentar dan langsung membombardirnya.

Solusi pertama yang saya coba adalah honeypot field — input tersembunyi yang tidak terlihat pengunjung manusia, tapi akan diisi otomatis oleh bot. Kalau field itu terisi, komentar langsung diabaikan tanpa proses. Ini cukup efektif untuk bot sederhana.

Tapi bot yang lebih canggih bisa bypass honeypot. Jadi saya tambahkan rate limiting sederhana berdasarkan IP — satu IP tidak bisa submit komentar lebih dari tiga kali dalam satu jam. Belum sempurna, tapi sudah jauh mengurangi volume spam.

Untuk jaga-jaga, semua komentar masuk dengan status pending dulu dan harus saya approve manual sebelum tampil. Memang tidak efisien kalau volume komentar tinggi, tapi untuk skala blog seperti ini masih terjangkau.

Notifikasi yang Akhirnya Saya Tambahkan

Awalnya saya tidak ada notifikasi sama sekali. Kalau ada komentar baru, saya baru tahu kalau kebetulan buka panel admin. Akibatnya beberapa komentar yang butuh respons baru saya balas berminggu-minggu kemudian — tidak bagus untuk engagement.

Akhirnya saya tambahkan notifikasi sederhana: setiap ada komentar baru yang masuk, sistem kirim email ke alamat saya. Pakainya PHP mail() dulu, ternyata sering masuk spam di inbox saya sendiri. Setelah ganti ke SMTP lewat PHPMailer, lebih andal.

Sekarang kalau ada komentar baru, saya dapat notifikasi dalam beberapa menit. Bisa langsung approve dan balas dari panel admin tanpa harus buka halaman khusus.

Masih Banyak yang Ingin Diperbaiki

Sistem komentar ini masih jauh dari sempurna. Belum ada fitur reply langsung ke komentar tertentu — kalau saya balas komentar pengunjung, tampilnya tetap flat, tidak ada indentasi. Belum ada notifikasi untuk pengunjung kalau komentar mereka dibalas. Dan belum ada cara yang elegan untuk handle komentar yang mengandung link.

Tapi itulah yang menyenangkan dari punya sistem sendiri — bisa dikembangkan kapan saja, sesuai kebutuhan, tanpa harus menunggu update dari pihak lain.

Kalau kamu punya blog dan pakai sistem komentar tertentu, gimana pengalamannya? Ada masalah spam juga? Atau malah pilih tidak pakai kolom komentar sama sekali? Cerita di bawah ya.


Komentar

Belum ada komentar. Jadilah yang pertama menulis.

Tulis Komentar