Cara Bina Forum: Kategori, Bebenang, Carian dan Kawalan Spam
Forum ialah set kategori, bebenang di dalamnya dan balasan di dalam bebenang itu, ditambah akaun, carian dan penyederhanaan. Ia berbeza daripada kumpulan sembang kerana perbualan disusun mengikut topik dan kekal berguna selama bertahun-tahun — seseorang boleh mencari bebenang tiga tahun lalu melalui carian dan tetap mendapat jawapannya. Untuk membinanya, betulkan halaman bebenang dan carian, jadikan bebenang boleh dibaca oleh enjin carian jika forum itu awam, dan sediakan alat spam dan penyederhanaan sebelum ahli sebenar pertama mendaftar.
Apa yang diperlukan oleh forum
Halaman
- Senarai kategori — halaman utama bagi kebanyakan forum, dengan penerangan setiap kategori dan aktiviti terkini.
- Senarai bebenang — bebenang dalam sesuatu kategori, disusun mengikut balasan terkini, dengan kiraan balasan dan penanda untuk bebenang yang diselesaikan atau disemat.
- Halaman bebenang — hantaran pertama dan semua balasan mengikut urutan, dengan petikan, reaksi dan kotak balas.
- Borang bebenang baharu — tajuk, kategori, kandungan, teg pilihan.
- Carian — merentasi tajuk dan teks hantaran, dengan penapis mengikut kategori.
- Profil pengguna — nama, avatar, tarikh sertai, bilangan hantaran, hantaran terkini.
- Baris gilir penyederhanaan — hantaran yang dilaporkan dan hantaran yang menunggu kelulusan.
Data
| Jadual | Medan utama |
|---|---|
| Pengguna | nama, avatar, peranan, tahap kepercayaan, tarikh sertai, status |
| Kategori | nama, slug, penerangan, susunan, siapa boleh menulis |
| Bebenang | tajuk, slug, kategori, pengarang, disemat, dikunci, diselesaikan, masa balasan terakhir |
| Hantaran | bebenang, pengarang, kandungan, dicipta, disunting, disembunyikan |
| Reaksi | hantaran, pengguna, jenis |
| Laporan | hantaran, pelapor, sebab, status, keputusan penyederhana |
| Langganan | pengguna, bebenang (untuk diberitahu tentang balasan baharu) |
Menyimpan "masa balasan terakhir" dan "bilangan balasan" pada bebenang itu sendiri memastikan senarai bebenang kekal pantas, berbanding mengira hantaran setiap kali halaman dimuat.
Kebenaran
- Tetamu boleh membaca kategori awam.
- Ahli boleh menulis dan membalas, serta menyunting hantaran sendiri dalam tempoh terhad.
- Penyederhana boleh menyembunyikan, memindah, mengunci, menyemat dan menggabungkan bebenang, serta menggantung pengguna.
- Pentadbir menguruskan kategori dan peranan.
Kategori persendirian mesti disemak di pelayan pada setiap permintaan — halaman bebenang, hasil carian, RSS dan pemberitahuan semuanya memerlukan semakan yang sama, atau hantaran persendirian akan bocor melalui pintu sisi. Lihat cara menambah kawalan akses berasaskan peranan.
Keputusan dan pertukaran
Balasan rata atau bersarang. Bebenang rata (balasan mengikut masa, dengan petikan) lebih mudah dibaca dan menjadi standard bagi kebanyakan forum. Balasan bersarang (pepohon gaya Reddit) sesuai untuk perdebatan tetapi sukar diikuti pada telefon. Pilih rata melainkan anda ada sebab lain.
Mod soal jawab. Untuk forum sokongan dan bantuan, benarkan orang yang bertanya menandakan satu balasan sebagai jawapan diterima, dan papar di bawah soalan. Satu ciri ini sahaja menjadikan bebenang lama jauh lebih berguna.
Awam untuk SEO, atau persendirian. Halaman bebenang awam boleh membawa trafik carian yang stabil, tetapi hanya jika enjin carian boleh membacanya. Ini bermakna setiap bebenang mempunyai URL bersih sendiri, <title> sebenar, dan hantaran terdapat dalam HTML dan bukan dimuat kemudian oleh JavaScript. Minta halaman bebenang yang dipaparkan di pelayan atau pra-dipaparkan jika trafik carian penting. Lebih lanjut dalam SEO untuk laman web yang dibina dengan AI.
Teks kaya atau Markdown. Markdown dengan pratonton mudah disimpan dengan selamat. Penyunting visual lebih mesra untuk ahli bukan teknikal. Walau apa pun pilihannya, bersihkan HTML sebelum memaparkannya, supaya tiada siapa boleh menyuntik skrip ke dalam hantaran.
Carian. Carian teks penuh Postgres sudah memadai untuk tahun-tahun awal sebuah forum. Perkhidmatan carian khusus hanya berbaloi pada skala besar. Lihat cara menambah carian ke aplikasi anda.
Spam dan penyederhanaan, sebelum pelancaran
Forum menarik spam automatik lebih pantas daripada hampir mana-mana jenis laman lain, kerana setiap hantaran ialah halaman awam yang boleh memuatkan pautan. Rancang untuk itu dari awal:
- Tahap kepercayaan. Akaun baharu tidak boleh menghantar pautan atau imej, dan dua atau tiga hantaran pertama mereka menunggu kelulusan. Selepas itu, mereka boleh menulis dengan bebas.
- Had kadar. Had hantaran seminit dan sehari untuk akaun baharu.
- Pengesahan e-mel sebelum boleh menghantar.
- Butang laporan pada setiap hantaran, yang menyuap baris gilir penyederhanaan.
- Nofollow pada pautan pengguna, supaya spammer tidak mendapat apa-apa daripada enjin carian.
- Log penyederhanaan, supaya penyederhana boleh melihat siapa melakukan apa dan mengapa.
- Peraturan yang jelas disemat dalam setiap kategori.
Contoh arahan pertama
Bina forum soal jawab awam untuk peminat espresso di rumah. Kategori: Mesin, Pengisar, Teknik, Biji Kopi, Jual dan Beli. Sesiapa sahaja boleh membaca; ahli mendaftar dengan e-mel dan kata laluan dan mengesahkan e-mel sebelum menulis. Halaman bebenang di /t/[slug] mesti dipaparkan di pelayan dengan tajuk unik dan penerangan meta supaya enjin carian boleh membacanya. Balasan rata, mengikut masa, dengan petikan dan reaksi ibu jari ke atas. Orang yang memulakan bebenang boleh menandakan satu balasan sebagai jawapan diterima, dipaparkan di bawah soalan. Tiga hantaran pertama ahli baharu menunggu kelulusan penyederhana, dan mereka tidak boleh menghantar pautan sehingga diluluskan. Penyederhana boleh menyembunyikan, mengunci, menyemat dan memindahkan bebenang, melihat baris gilir hantaran yang dilaporkan, dan setiap tindakan direkodkan. Tambah carian merentasi tajuk dan hantaran dengan penapis kategori, serta pemberitahuan dalam aplikasi untuk balasan baharu pada bebenang yang saya ikuti. Simpan semuanya dalam pangkalan data.
Langkah membina
- Halaman bebenang dahulu. Isi beberapa kategori dan lima puluh bebenang yang realistik. Pastikan membaca, memetik dan membalas betul pada telefon.
- Senarai kategori dan bebenang. Susunan mengikut aktiviti terkini, bebenang disemat di atas, penanda diselesaikan.
- Akaun dan pengesahan. Lihat cara menambah log masuk ke aplikasi anda.
- Penyederhanaan dan tahap kepercayaan. Baris gilir kelulusan, laporan, sembunyi, kunci, pindah, log. Uji sebagai akaun baharu yang cuba menghantar pautan.
- Carian. Cuba carian yang benar-benar akan ditaip oleh ahli anda.
- SEO. Terbitkan, buka satu bebenang, lihat sumber halaman dan semak hantaran ada dalam HTML. Tambah peta laman bagi bebenang.
- Isi kandungan sebenar. Tulis dua puluh bebenang berguna yang pertama sendiri, atau jemput beberapa pakar. Forum yang kosong tidak akan mendapat hantaran pertamanya.
Kesilapan biasa
- Melancarkan dalam keadaan kosong. Tiada siapa mahu menulis dahulu. Isi dengan soalan dan jawapan yang benar.
- Terlalu banyak kategori. Lima kategori yang sibuk lebih baik daripada dua puluh yang sunyi. Pecahkan kemudian.
- Tiada kelulusan untuk akaun baharu. Bot spam cepat menjumpai forum baharu.
- HTML hantaran tanpa pembersihan. Skrip dalam hantaran boleh mengambil alih sesi pengguna lain. Sentiasa bersihkan kandungan pengguna.
- Kategori persendirian yang bocor. Semak hasil carian dan pemberitahuan, bukan halaman bebenang sahaja.
- Mengira balasan pada setiap pemuatan halaman. Simpan kiraan pada bebenang dan kemas kini apabila hantaran berubah.
- Tiada cara untuk memadam akaun. Putuskan apa yang berlaku kepada hantaran ahli yang keluar.
Bila perisian forum lebih baik
Perisian forum sumber terbuka dan yang dihoskan, seperti Discourse, telah mengambil masa bertahun-tahun untuk memperhalusi tahap kepercayaan, anti-spam, integrasi e-mel, penyederhanaan dan susun atur mudah alih. Jika anda mahukan forum tujuan am dan tidak perlu ia menjadi sebahagian daripada aplikasi lain, memasang atau melanggan salah satu daripadanya biasanya lebih pantas dan selamat daripada membina sendiri. Aplikasi sembang sesuai untuk perbualan pantas tetapi tidak baik untuk memastikan jawapan boleh dijumpai semula.
Bina sendiri apabila forum itu sebahagian daripada produk anda — forum sokongan dalam SaaS anda, bahagian soal jawab pada pasar dalam talian — apabila anda memerlukan data tersuai dikaitkan dengan bebenang (model mesin, pesanan, pelajaran kursus), atau apabila anda mahu reka bentuk dan URL forum itu sepenuhnya milik anda. Untuk ruang ahli yang lebih luas dengan profil dan acara, lihat cara membina platform komuniti.
Membina dengan Mythex
Di Mythex, anda menerangkan forum dalam sembang, mencubanya dalam pratonton langsung, dan menerbitkannya ke alamat awam, dengan domain tersuai pada pelan Pro. Mythex menambah pangkalan data Postgres khusus untuk pengguna, bebenang dan hantaran apabila aplikasi memerlukannya, serta storan fail untuk avatar dan imej. Tindanan lalai ialah aplikasi Vite dan React yang dipaparkan dalam pelayar, jadi untuk forum awam, minta halaman bebenang yang dipaparkan di pelayan (Next.js ialah satu pilihan) dan ikut resipi SEO. Log masuk dan e-mel ahli ialah bawa sendiri: pilih pendekatan dan pembekal, simpan kunci sebagai rahsia projek, dan ejen akan menyambungkannya. Gunakan /test untuk meminta ejen melalui proses menghantar dan penyederhanaan sebelum anda menerbitkan, dan baca senarai semak keselamatan untuk aplikasi yang dibina dengan AI sebelum membuka pendaftaran.
Soalan lazim
Apakah yang diperlukan oleh laman forum?
Kategori, bebenang dengan balasan, akaun pengguna, carian dan alat penyederhanaan. Kebanyakan forum juga memerlukan pemberitahuan untuk balasan, cara menandakan jawapan terbaik dalam bebenang soal jawab, dan perlindungan spam untuk akaun baharu.
Patutkah forum itu awam atau persendirian?
Forum awam boleh membawa trafik carian, kerana setiap bebenang ialah halaman yang orang jumpa di Google. Forum persendirian lebih sesuai untuk topik sensitif atau ahli berbayar. Ramai forum membenarkan bacaan secara awam dan hanya memerlukan akaun untuk menulis.
Bagaimana saya hentikan spam di forum?
Hadkan apa yang boleh dilakukan oleh akaun baharu: tahan hantaran pertama mereka untuk kelulusan, sekat pautan sehingga mereka aktif beberapa lama, hadkan kekerapan menghantar, dan beri ahli butang laporan. Sahkan alamat e-mel semasa pendaftaran dan rekodkan tindakan penyederhana.
Adakah lebih baik menggunakan perisian forum seperti Discourse?
Jika anda perlukan forum yang lengkap dengan cepat, perisian forum yang mapan ialah pilihan yang lebih selamat: ia mempunyai ciri penyederhanaan dan anti-spam bertahun-tahun. Bina sendiri apabila forum itu sebahagian daripada aplikasi yang lebih besar atau memerlukan data dan aliran kerja yang tiada dalam perisian forum umum.