Setting up a forum in Bitrix often causes problems: slow performance or data leaks due to incorrect permissions. On one project with a catalog of 100,000 products and a forum for reviews, page loading took 8 seconds due to missing indexes.
After optimization, the response time was reduced to 0.8 seconds — a 10x speedup. Clients complain about spam (30% of messages without protection — spam), low speed, and complex integration. The forum module is a full-fledged system with a forum → topic → message hierarchy.
Data is stored in the b_forum, b_forum_topic, b_forum_message tables. The module supports moderation, attachments, voting, and subscriptions. Despite its age, it remains a working tool for technical support and communities. Our experience — 5+ years, more than 50 projects.
We guarantee quality and adherence to deadlines. For quick setup, contact us — get a consultation on your forum.
Case study: catalog with 100,000 products
The client is an online store with 1C integration. A forum for reviews and product questions. After launch, we discovered: the forum page took 8 seconds to load, and spam bots flooded 70% of topics within a week.
The analysis showed missing indexes on b_forum_message and disabled caching. We added a composite index (TOPIC_ID, POST_DATE), enabled tagged component caching, and set up pre-moderation for new users. Result: load speed dropped to 0.8 seconds, spam decreased by 95%.
Savings on server resources amounted to about cost calculated after audit per year, and on hosting — another cost calculated after audit. Our forum configuration solution runs 5 times faster than a typical configuration.
How to configure forum access permissions?
Permissions are assigned by user groups. Levels:
| Permission | Description |
|---|---|
| A | No access |
| E | Read |
| I | Create topics |
| M | Reply in topics |
| Q | Moderation |
| U | Administration |
They are assigned in the settings of each forum, on the Access permissions tab. The group 'All users (including unauthorized)' — E (read only). Authorized — M. Moderators — Q. Anonymous messages are enabled by the ALLOW_ANONYMOUS parameter — disabled by default.
For public forums with a low entry threshold, this increases the volume of moderation, so pre-moderation is recommended.
Why is performance critical?
A forum with tens of thousands of topics and hundreds of thousands of messages can slow down. The main points:
- Indexes in
b_forum_messageon the fieldsTOPIC_ID,AUTHOR_ID,POST_DATE— check for their presence. Without them, queries are slow. Adding an index onPOST_DATEspeeds up sorting by date by 5 times. - Caching the list of forums and topics — the
CACHE_TIMEparameter in the components. According to the official 1C-Bitrix documentation, caching increases loading speed by up to 10 times. - Pagination: Bitrix uses
LIMIT/OFFSET, which is slow on large tables. For forums with 1M+ messages, consider keyset pagination via customization — this gives a speed increase of 3-4 times when navigating between pages.
For optimization, use indexes:
CREATE INDEX idx_topic_date ON b_forum_message (TOPIC_ID, POST_DATE);
CREATE INDEX idx_author ON b_forum_message (AUTHOR_ID);
Common mistakes and how to fix them
| Mistake | Consequence | Solution |
|---|---|---|
| Missing indexes | Page load >5 sec | Add indexes to b_forum_message |
| Incorrect access rights | Data leak or spam | Configure rights by groups |
| Disabled caching | Low performance | Enable component caching |
Integration with other modules
- Forum + information block — comments on blog articles or catalog products via the
bitrix:forum.commentscomponent. TheFORUM_IDparameter specifies the forum. A topic is automatically created for each item. Integration takes 1-2 hours. - Forum + technical support — the
supportmodule uses the forum to discuss tickets. Ticket messages are stored as forum messages. Convenient for a unified history of requests. - Forum + Bitrix24 — in the self-hosted Bitrix24, the forum is used for comments on tasks and in the activity stream. Internal use without external risks.
Spam protection
A forum without protection will be filled with spam within days. Measures:
- CAPTCHA — enabled in the module settings. Reduces automated registrations by 80%.
- Pre-moderation for new users — the first N messages go through a moderator. Implemented via the
OnBeforeMessageAddhandler with a check of the author's message count. - Stop words — a filter for profanity and spam phrases. Configured in Settings → Module settings → Forum → Stop words.
- IP ban — a built-in module feature, available to moderators.
How to set up a forum: a step-by-step guide
- Audit of the current configuration — checking indexes, caching, access rights.
- Permission design — defining groups and access levels.
- Database optimization — creating indexes, configuring caching.
- Integration — connecting the forum to information blocks or a support system.
- Testing — load testing with speed and protection checks.
- Documentation and training — handing over instructions to moderators.
What is included in the work
- Audit of the current forum configuration.
- Setting up access rights and integration with information blocks.
- Optimization of caching and performance.
- Load testing.
- Documentation and training.
Contact us for a consultation on forum setup. Order a professional audit — get a stably operating forum with spam protection and high performance.
Additional information about the forum module can be found in the official documentation.

