As we know that bbPress integrates with WordPress quite well but there seems to be some confusion regarding the type of integration people tend to go with. I am writing this post with the aim of clearing the difference between the two and how to pick with what suits you the most.
There are two types of integration technique :
- Simple Integration
- Deep integration
In simple integration, we share user tables and have login synchronization between both WordPress and bbPress. And in deep integration, we first simple integrate the setup of bbPress and WordPress and then tell either bbPress to load WordPress along with it or WordPress to load bbPress along with it. More common use is to load WordPress inside bbPress so as to call WordPress functions directly.
Make sure you have read the advantages of integrating bbPress with WordPress.
The biggest advantage of deep integration of bbPress with WordPress is that we can use all the WordPress functions inside bbPress now. The possibilities are endless.
- Having a matching WordPress theme for bbPress We will call the functions used to construct the theme layout of WordPress in bbPress and then display content of bbPress on that page. I have a tutorial lined up for this. Make sure you stick around because I am sure you wouldn't want to miss it.
- Sidebar capabilities We can have multiple widgetized dynamic sidebars as that in WordPress too.
- WordPress plugins can be used for bbPress Many of the abundant available plugins can be made to use under deep integration.
The biggest disadvantage of deep integration is that its a serious overhead in terms of performance which people don’t even want to understand. Let me break it down.
Lets say the WordPress resources consumption puts an average load W and bbPress resources consumption puts an average load B which means that opening of every WordPress page, the load is W and on every bbPress page, the load is B. Now when the bbPress is deeply integrated with WordPress, each page puts a load W+B on the server.
Now when a site is serving 1000 hits, the total load becomes 1000(W+B) as compared to 1000B without deep integration (or with standalone setup or even with simple integration). Considering this, it should be avoided for heavy traffic sites/blog.
Another disadvantage is that some plugins might conflict with each other. Not the respective plugins but WordPress plugin with bbPress plugin or vice versa. At times, some plugin or the other will miss their intended function which needs thorough look to sort out the problem.
Personally speaking I don’t like deep integration much because of its overhead but due to the requirements of my clients, I do it at times. On my personal projects, I like to replicate or mimic the functionality needed. For example to show bbPress content inside WordPress, I would write a code to fetch it from the database itself rather than deep integrating my setup.
And in order to have a matching theme I would code a custom theme but not everyone is a web designer. So, if you need to deep integrate your setup, then you can make the move now with the performance cap in mind. When your project has eventually grown out, then switch it off and do things without deep integration. It will lower your computing power requirement of your server & save you money in the long run.
Left with any questions about deep integration or want to consult about your next project, then feel free to leave a comment and we will get the discussion started.