Jak zbudować forum: kategorie, wątki, wyszukiwarka i kontrola spamu
Forum to zestaw kategorii, wątków w ich obrębie i odpowiedzi w tych wątkach, a do tego konta, wyszukiwarka i moderacja. Różni się od grupy czatowej, bo rozmowy są uporządkowane według tematu i pozostają przydatne przez lata — ktoś może znaleźć trzyletni wątek przez wyszukiwarkę i nadal dostać odpowiedź. Żeby je zbudować, dopracuj stronę wątku i wyszukiwarkę, zadbaj o to, by wątki były czytelne dla wyszukiwarek, jeśli forum jest publiczne, i miej narzędzia do spamu i moderacji gotowe, zanim zarejestruje się pierwszy prawdziwy członek.
Czego potrzebuje forum
Strony
- Lista kategorii — strona główna większości forów, z opisem każdej kategorii i ostatnią aktywnością.
- Lista wątków — wątki w kategorii, posortowane według ostatniej odpowiedzi, z liczbą odpowiedzi i znacznikiem rozwiązanego lub przypiętego wątku.
- Strona wątku — pierwszy post i wszystkie odpowiedzi po kolei, z cytowaniem, reakcjami i polem odpowiedzi.
- Formularz nowego wątku — tytuł, kategoria, treść, opcjonalne tagi.
- Wyszukiwarka — po tytułach i treści postów, z filtrami według kategorii.
- Profil użytkownika — imię, awatar, data dołączenia, liczba postów, ostatnie posty.
- Kolejka moderacji — zgłoszone posty i posty czekające na zatwierdzenie.
Dane
| Tabela | Kluczowe pola |
|---|---|
| Użytkownicy | imię, awatar, rola, poziom zaufania, data dołączenia, status |
| Kategorie | nazwa, slug, opis, kolejność, kto może pisać |
| Wątki | tytuł, slug, kategoria, autor, przypięty, zablokowany, rozwiązany, czas ostatniej odpowiedzi |
| Posty | wątek, autor, treść, data utworzenia, edycji, ukryty |
| Reakcje | post, użytkownik, typ |
| Zgłoszenia | post, zgłaszający, powód, status, decyzja moderatora |
| Subskrypcje | użytkownik, wątek (do powiadamiania o nowych odpowiedziach) |
Przechowywanie „czasu ostatniej odpowiedzi” i „liczby odpowiedzi” bezpośrednio w wątku utrzymuje listę wątków w szybkości, zamiast liczyć posty przy każdym załadowaniu strony.
Uprawnienia
- Goście mogą czytać publiczne kategorie.
- Członkowie mogą pisać posty i odpowiadać, a swoje posty edytować przez ograniczony czas.
- Moderatorzy mogą ukrywać, przenosić, blokować, przypinać i scalać wątki oraz zawieszać użytkowników.
- Administratorzy zarządzają kategoriami i rolami.
Prywatna kategoria musi być sprawdzana po stronie serwera przy każdym żądaniu — strona wątku, wyniki wyszukiwania, RSS i powiadomienia potrzebują tej samej kontroli, inaczej prywatne posty wyciekną tylnymi drzwiami. Zobacz jak dodać kontrolę dostępu opartą na rolach.
Decyzje i kompromisy
Płaskie czy zagnieżdżone odpowiedzi. Płaskie wątki (odpowiedzi w kolejności czasowej, z cytowaniem) są łatwiejsze do czytania i są standardem w większości forów. Zagnieżdżone odpowiedzi (drzewa w stylu Reddit) nadają się do dyskusji, ale na telefonach trudno się w nich połapać. Wybierz płaskie, chyba że masz powód, by nie.
Tryb pytań i odpowiedzi. W forach pomocy i wsparcia pozwól osobie, która założyła wątek, oznaczyć jedną odpowiedź jako zaakceptowaną i pokazać ją zaraz pod pytaniem. Ta jedna funkcja sprawia, że stare wątki stają się znacznie bardziej użyteczne.
Publiczne dla SEO czy prywatne. Publiczne strony wątków mogą stale przyciągać ruch z wyszukiwarek, ale tylko wtedy, gdy wyszukiwarki potrafią je odczytać. Oznacza to, że każdy wątek ma własny, czysty adres URL, prawdziwy znacznik <title> i posty w HTML, a nie dociągane później przez JavaScript. Jeśli ruch z wyszukiwarek ma znaczenie, poproś o wstępnie renderowane lub renderowane po stronie serwera strony wątków. Więcej w SEO dla stron zbudowanych z AI.
Rich text czy Markdown. Markdown z podglądem łatwo bezpiecznie zapisać. Wizualny edytor jest przyjaźniejszy dla członków nietechnicznych. W obu przypadkach oczyść HTML przed wyświetleniem, żeby nikt nie mógł wstrzyknąć skryptu do posta.
Wyszukiwarka. Wyszukiwanie pełnotekstowe w Postgres w zupełności wystarczy w pierwszych latach forum. Dedykowana usługa wyszukiwania opłaca się dopiero przy dużej skali. Zobacz jak dodać wyszukiwanie do aplikacji.
Spam i moderacja, zanim ruszysz
Fora przyciągają zautomatyzowany spam szybciej niemal każdego innego typu strony, bo każdy post to publiczna strona, która może zawierać link. Zaplanuj to od początku:
- Poziomy zaufania. Nowe konta nie mogą wstawiać linków ani obrazków, a ich pierwsze dwa lub trzy posty czekają na zatwierdzenie. Potem mogą pisać swobodnie.
- Limity częstotliwości. Limit postów na minutę i na dobę dla nowych kont.
- Weryfikacja e-maila przed pisaniem.
- Przycisk zgłoszenia przy każdym poście, zasilający kolejkę moderacji.
- Atrybut nofollow dla linków użytkowników, żeby spamerzy nie zyskiwali nic z wyszukiwarek.
- Dziennik moderacji, aby moderatorzy widzieli, kto co zrobił i dlaczego.
- Jasne zasady przypięte w każdej kategorii.
Przykładowy pierwszy prompt
Zbuduj publiczne forum pytań i odpowiedzi dla miłośników espresso w domu. Kategorie: Ekspresy, Młynki, Technika, Ziarna, Kupno i sprzedaż. Każdy może czytać; członkowie rejestrują się e-mailem i hasłem i weryfikują e-mail przed pisaniem. Strony wątków pod adresem /t/[slug] muszą być renderowane po stronie serwera, z unikalnym tytułem i meta opisem, żeby wyszukiwarki mogły je odczytać. Odpowiedzi są płaskie, w kolejności czasowej, z cytowaniem i reakcją kciuk w górę. Osoba, która założyła wątek, może oznaczyć jedną odpowiedź jako zaakceptowaną, pokazaną pod pytaniem. Pierwsze trzy posty nowych członków czekają na zatwierdzenie moderatora, a nie mogą wstawiać linków, dopóki nie zostaną zatwierdzone. Moderatorzy mogą ukrywać, blokować, przypinać i przenosić wątki, widzą kolejkę zgłoszonych postów, a każda akcja jest zapisywana w dzienniku. Dodaj wyszukiwanie po tytułach i postach z filtrem kategorii oraz powiadomienia w aplikacji o nowych odpowiedziach w obserwowanych wątkach. Zapisuj wszystko w bazie danych.
Etapy budowy
- Najpierw strona wątku. Dodaj kilka kategorii i pięćdziesiąt realistycznych wątków. Dopracuj czytanie, cytowanie i odpowiadanie na telefonie.
- Listy kategorii i wątków. Sortowanie według ostatniej aktywności, przypięte wątki na górze, znaczniki rozwiązanych.
- Konta i weryfikacja. Zobacz jak dodać logowanie do aplikacji.
- Moderacja i poziomy zaufania. Kolejka zatwierdzeń, zgłoszenia, ukrywanie, blokowanie, przenoszenie, dziennik. Testuj jako zupełnie nowe konto, które próbuje wstawić link.
- Wyszukiwanie. Sprawdź wyszukiwania, które wpisaliby prawdziwi członkowie.
- SEO. Opublikuj, otwórz wątek, obejrzyj źródło strony i sprawdź, czy posty są w HTML. Dodaj mapę strony z wątkami.
- Prawdziwa zawartość na start. Napisz samodzielnie pierwsze dwadzieścia przydatnych wątków albo zaproś kilku ekspertów. Puste forum nie dostaje pierwszego posta.
Częste błędy
- Start na pusto. Nikt nie chce pisać pierwszy. Zasiej prawdziwe pytania i odpowiedzi.
- Zbyt wiele kategorii. Pięć aktywnych kategorii jest lepszych niż dwadzieścia pustych. Dziel później.
- Brak zatwierdzania nowych kont. Boty spamujące szybko znajdują nowe fora.
- Niewyczyszczony HTML postów. Skrypt w poście może przejąć sesje innych użytkowników. Zawsze oczyszczaj treść użytkowników.
- Prywatne kategorie, które wyciekają. Sprawdzaj wyniki wyszukiwania i powiadomienia, a nie tylko stronę wątku.
- Liczenie odpowiedzi przy każdym załadowaniu strony. Przechowuj liczniki w wątku i aktualizuj je przy zmianach postów.
- Brak sposobu na usunięcie konta. Zdecyduj, co dzieje się z postami odchodzącego członka.
Kiedy lepsze jest oprogramowanie forum
Oprogramowanie forum, open-source lub hostowane, takie jak Discourse, miało lata na dopracowanie poziomów zaufania, zabezpieczeń przed spamem, integracji z e-mailem, moderacji i układów mobilnych. Jeśli chcesz forum ogólnego przeznaczenia i nie potrzebujesz, by było częścią innej aplikacji, zainstalowanie lub wykupienie takiego oprogramowania jest zwykle szybsze i bezpieczniejsze niż budowa. Komunikatory nadają się do szybkich rozmów, ale słabo sprawdzają się w utrzymywaniu odpowiedzi, które da się znaleźć.
Buduj własne, gdy forum jest częścią Twojego produktu — forum wsparcia w Twoim SaaS, sekcja pytań i odpowiedzi na platformie handlowej — gdy potrzebujesz własnych danych przypiętych do wątków (model maszyny, zamówienie, lekcja kursu) albo gdy chcesz, by wygląd forum i jego adresy były w pełni Twoje. Dla szerszej przestrzeni członkowskiej z profilami i wydarzeniami zobacz jak zbudować platformę społecznościową.
Budowa z Mythex
W Mythex opisujesz forum w czacie, testujesz je w podglądzie na żywo i publikujesz pod publicznym adresem, z własną domeną w planie Pro. Mythex dodaje dedykowaną bazę danych Postgres (baza danych) dla użytkowników, wątków i postów, gdy aplikacja jej potrzebuje, oraz magazyn plików dla awatarów i obrazków. Domyślny stos to aplikacja Vite i React renderowana w przeglądarce, więc dla publicznego forum poproś o strony wątków renderowane po stronie serwera (Next.js to jedna z opcji) i postępuj według przepisu SEO. Logowanie członków i e-mail wybierasz sam: wybierz podejście i dostawcę, klucze zapisz jako sekrety projektu, a agent je podłączy. Użyj /test, aby agent przeklikał publikowanie postów i moderację przed publikacją, i przeczytaj nasz checklistę bezpieczeństwa dla aplikacji zbudowanych z AI, zanim otworzysz rejestrację.
Pytania
Czego potrzebuje strona forum?
Kategorii, wątków z odpowiedziami, kont użytkowników, wyszukiwarki i narzędzi moderacji. Większość forów potrzebuje też powiadomień o odpowiedziach, sposobu oznaczania najlepszej odpowiedzi w wątkach pytań i odpowiedzi oraz ochrony przed spamem dla nowych kont.
Czy forum powinno być publiczne czy prywatne?
Publiczne forum może przyciągać ruch z wyszukiwarek, bo każdy wątek to strona, którą ludzie znajdują w Google. Prywatne forum lepiej nadaje się do wrażliwych tematów lub dla płacących członków. Wiele forów zostawia czytanie publiczne i wymaga konta tylko do pisania.
Jak powstrzymać spam na forum?
Ogranicz to, co mogą robić nowe konta: wstrzymuj ich pierwsze posty do zatwierdzenia, blokuj linki, dopóki konto nie było aktywne przez jakiś czas, ograniczaj częstotliwość pisania i daj członkom przycisk zgłaszania. Weryfikuj adresy e-mail przy rejestracji i zapisuj działania moderatorów w dzienniku.
Czy lepiej użyć oprogramowania forum, takiego jak Discourse?
Jeśli potrzebujesz pełnowartościowego forum szybko, sprawdzone oprogramowanie forum jest bezpieczniejszym wyborem: ma lata funkcji moderacji i zabezpieczeń przed spamem. Buduj własne, gdy forum jest częścią większej aplikacji albo potrzebuje danych i przepływów, których ogólne oprogramowanie forum nie ma.