Cum să construiești un forum: categorii, discuții, căutare și controlul spamului
Un forum este un set de categorii, discuții în interiorul lor și răspunsuri în interiorul discuțiilor, plus conturi, căutare și moderare. Diferă de un grup de chat, pentru că conversațiile sunt organizate pe subiecte și rămân utile ani de zile — cineva poate găsi o discuție de acum trei ani prin căutare și tot își poate primi răspunsul. Pentru a-l construi, trebuie să obții bine pagina discuției și căutarea, să faci discuțiile lizibile pentru motoarele de căutare dacă forumul este public și să ai uneltele împotriva spamului și de moderare pregătite înainte ca primul membru real să se înscrie.
Ce are nevoie un forum
Pagini
- Lista categoriilor — pagina principală pentru majoritatea forumurilor, cu descrierea fiecărei categorii și activitatea cea mai recentă.
- Lista discuțiilor — discuțiile dintr-o categorie, sortate după ultimul răspuns, cu numărul de răspunsuri și un marcaj pentru discuțiile rezolvate sau fixate.
- Pagina discuției — prima postare și toate răspunsurile, în ordine, cu citare, reacții și o casetă de răspuns.
- Formularul pentru discuție nouă — titlu, categorie, text, etichete opționale.
- Căutare — în titluri și în textul postărilor, cu filtre pe categorie.
- Profilul utilizatorului — nume, avatar, data înscrierii, numărul de postări, postările recente.
- Coada de moderare — postările raportate și cele care așteaptă aprobare.
Date
| Tabel | Câmpuri-cheie |
|---|---|
| Utilizatori | nume, avatar, rol, nivel de încredere, data înscrierii, stare |
| Categorii | nume, slug, descriere, ordine de sortare, cine poate posta |
| Discuții | titlu, slug, categorie, autor, fixată, blocată, rezolvată, ora ultimului răspuns |
| Postări | discuție, autor, text, creată, editată, ascunsă |
| Reacții | postare, utilizator, tip |
| Raportări | postare, raportor, motiv, stare, decizia moderatorului |
| Abonamente | utilizator, discuție (pentru notificări la răspunsuri noi) |
Stocarea „orei ultimului răspuns” și a „numărului de răspunsuri” chiar pe discuție face lista discuțiilor rapidă, în loc să numere postările de fiecare dată când se încarcă pagina.
Permisiuni
- Vizitatorii pot citi categoriile publice.
- Membrii pot posta și răspunde și își pot edita propriile postări pentru un interval limitat.
- Moderatorii pot ascunde, muta, bloca, fixa și îmbina discuții și pot suspenda utilizatori.
- Administratorii gestionează categoriile și rolurile.
O categorie privată trebuie verificată pe server la fiecare cerere — pagina discuției, rezultatele căutării, RSS-ul și notificările au nevoie de aceeași verificare, altfel postările private scapă pe o ușă laterală. Vezi cum adaugi control al accesului pe roluri.
Decizii și compromisuri
Răspunsuri liniare sau ierarhice. Discuțiile liniare (răspunsuri în ordine cronologică, cu citare) sunt mai ușor de citit și standardul pentru majoritatea forumurilor. Răspunsurile ierarhice (arbori în stil Reddit) sunt potrivite pentru dezbateri, dar devin greu de urmărit pe telefon. Alege varianta liniară, dacă nu ai un motiv să nu o faci.
Modul întrebări și răspunsuri. Pentru forumuri de suport și ajutor, lasă persoana care a pus întrebarea să marcheze un răspuns ca fiind cel acceptat și arată-l chiar sub întrebare. Această singură funcție face discuțiile vechi mult mai utile.
Public pentru SEO sau privat. Paginile publice ale discuțiilor pot aduce trafic constant din căutări, dar doar dacă motoarele de căutare le pot citi. Asta înseamnă că fiecare discuție are propriul URL curat, un <title> real și postările în HTML, nu încărcate ulterior de JavaScript. Cere pagini discuție randate pe server sau pre-randate dacă traficul din căutări contează. Mai multe în SEO pentru site-urile construite cu AI.
Text îmbogățit sau Markdown. Markdown cu previzualizare se stochează ușor și în siguranță. Un editor vizual este mai prietenos pentru membrii care nu sunt tehnici. Oricum ar fi, curăță HTML-ul înainte de afișare, ca nimeni să nu poată injecta scripturi într-o postare.
Căutare. Căutarea full-text Postgres este suficientă pentru primii ani ai unui forum. Un serviciu dedicat de căutare devine util doar la scară mare. Vezi cum adaugi căutare în aplicația ta.
Spamul și moderarea, înainte de lansare
Forumurile atrag spam automatizat mai repede decât aproape orice alt tip de site, pentru că fiecare postare este o pagină publică ce poate conține un link. Planifică-te pentru asta de la început:
- Niveluri de încredere. Conturile noi nu pot posta linkuri sau imagini, iar primele două-trei postări ale lor așteaptă aprobare. După aceea, postează liber.
- Limite de frecvență. Un plafon de postări pe minut și pe zi pentru conturile noi.
- Verificarea e-mailului înainte de a posta.
- Buton de raportare pe fiecare postare, care alimentează coada de moderare.
- Nofollow pe linkurile utilizatorilor, ca spammerii să nu câștige nimic de la motoarele de căutare.
- Jurnal de moderare, ca moderatorii să vadă cine a făcut ce și de ce.
- Reguli clare fixate în fiecare categorie.
Un prim prompt de exemplu
Construiește un forum public de întrebări și răspunsuri pentru pasionații de espresso acasă. Categorii: Aparate, Râșnițe, Tehnică, Cafea în boabe, Cumpărări și vânzări. Oricine poate citi; membrii se înscriu cu e-mail și parolă și își verifică e-mailul înainte de a posta. Paginile discuțiilor, la /t/[slug], trebuie randate pe server, cu un titlu unic și o descriere meta, ca motoarele de căutare să le poată citi. Răspunsurile sunt liniare, în ordine cronologică, cu citare și o reacție cu degetul mare în sus. Persoana care a început o discuție poate marca un răspuns ca fiind cel acceptat, afișat sub întrebare. Primele trei postări ale membrilor noi așteaptă aprobarea moderatorului, iar ei nu pot posta linkuri până la aprobare. Moderatorii pot ascunde, bloca, fixa și muta discuții, pot vedea o coadă cu postările raportate, iar fiecare acțiune este înregistrată. Adaugă căutare în titluri și postări, cu filtru pe categorie, și notificări în aplicație pentru răspunsurile noi la discuțiile pe care le urmăresc. Salvează totul într-o bază de date.
Pași de construcție
- Mai întâi pagina discuției. Adaugă câteva categorii și cincizeci de discuții realiste. Fă citirea, citarea și răspunsul să funcționeze corect pe telefon.
- Listele de categorii și de discuții. Sortare după activitatea recentă, discuțiile fixate sus, marcaje pentru rezolvate.
- Conturi și verificare. Vezi cum adaugi autentificare în aplicația ta.
- Moderare și niveluri de încredere. Coadă de aprobare, raportări, ascundere, blocare, mutare, jurnal. Testează ca un cont abia creat care încearcă să posteze un link.
- Căutare. Încearcă căutările pe care membrii le-ar scrie cu adevărat.
- SEO. Publică, deschide o discuție, uită-te la codul sursă al paginii și verifică dacă postările sunt în HTML. Adaugă un sitemap cu discuțiile.
- Conținut real la început. Scrie tu primele douăzeci de discuții utile sau invită câțiva experți să o facă. Un forum gol nu primește prima postare.
Greșeli frecvente
- Lansarea goală. Nimeni nu vrea să posteze primul. Adaugă întrebări și răspunsuri reale.
- Prea multe categorii. Cinci categorii active sunt mai bune decât douăzeci liniștite. Le împarți mai târziu.
- Fără aprobare pentru conturile noi. Boții de spam găsesc repede forumurile noi.
- HTML nesanitizat în postări. Un script dintr-o postare poate prelua sesiunile altor utilizatori. Curăță întotdeauna conținutul utilizatorilor.
- Categorii private care lasă informații să scape. Verifică rezultatele căutării și notificările, nu doar pagina discuției.
- Numărarea răspunsurilor la fiecare încărcare de pagină. Stochează numărătoarea pe discuție și actualizează-o când se schimbă postările.
- Niciun mod de a șterge un cont. Hotărăște ce se întâmplă cu postările unui membru care pleacă.
Când software-ul de forum este alegerea mai bună
Software-ul de forum open-source și cel găzduit, precum Discourse, a avut ani la dispoziție să perfecționeze nivelurile de încredere, antispamul, integrarea cu e-mailul, moderarea și aspectul pentru mobil. Dacă vrei un forum general și nu ai nevoie ca acesta să fie parte dintr-o altă aplicație, instalarea sau abonarea la unul dintre acestea este de obicei mai rapidă și mai sigură decât construirea. Instrumentele de chat sunt bune pentru conversații rapide, dar slabe la păstrarea răspunsurilor ușor de găsit.
Construiește-l pe al tău atunci când forumul face parte din produsul tău — un forum de suport în interiorul SaaS-ului tău, o secțiune de întrebări și răspunsuri pe o piață online — când ai nevoie de date personalizate atașate discuțiilor (modelul aparatului, comanda, lecția dintr-un curs) sau când vrei ca designul și URL-urile forumului să fie complet ale tale. Pentru un spațiu mai larg pentru membri, cu profiluri și evenimente, vezi cum construiești o platformă de comunitate.
Construit cu Mythex
În Mythex descrii forumul în chat, îl încerci în previzualizarea live și îl publici la o adresă publică, cu domeniu propriu pe planul Pro. Mythex adaugă o bază de date Postgres dedicată pentru utilizatori, discuții și postări, atunci când aplicația are nevoie de ea, și stocare de fișiere pentru avatare și imagini. Stiva implicită este o aplicație Vite și React randată în browser, așa că pentru un forum public cere pagini de discuție randate pe server (Next.js este o opțiune) și urmează rețeta SEO. Autentificarea membrilor și e-mailul se aduc de tine: alege o abordare și un furnizor, păstrează cheile ca secrete ale proiectului, iar agentul le integrează. Folosește /test ca agentul să parcurgă postarea și moderarea înainte de publicare și citește lista noastră de securitate pentru aplicațiile construite cu AI înainte să deschizi înscrierile.
Întrebări
Ce are nevoie un site de forum?
Categorii, discuții cu răspunsuri, conturi de utilizator, căutare și instrumente de moderare. Majoritatea forumurilor au nevoie și de notificări pentru răspunsuri, de o modalitate de a marca cel mai bun răspuns în discuțiile de tip întrebări și răspunsuri și de protecție antispam pentru conturile noi.
Ar trebui un forum să fie public sau privat?
Un forum public poate aduce trafic din căutări, pentru că fiecare discuție este o pagină pe care oamenii o găsesc pe Google. Un forum privat este mai potrivit pentru subiecte sensibile sau pentru membri plătitori. Multe forumuri lasă citirea publică și cer un cont doar pentru a posta.
Cum opresc spamul pe un forum?
Limitează ce pot face conturile noi: reține primele lor mesaje pentru aprobare, blochează linkurile până când au fost active o perioadă, limitează frecvența postărilor și oferă membrilor un buton de raportare. Verifică adresele de e-mail la înscriere și păstrează un jurnal al acțiunilor moderatorilor.
Este mai bine să folosesc un software de forum, precum Discourse?
Dacă ai nevoie rapid de un forum cu multe funcții, un software de forum consacrat este alegerea mai sigură: are ani de funcții de moderare și antispam. Construiește-l pe al tău atunci când forumul face parte dintr-o aplicație mai mare sau are nevoie de date și fluxuri de lucru pe care un software general de forum nu le are.