This is quite possibly one of the biggest debates in the pre-sale sections of both official sites, vBulletin.com and invisionboard.com. Before choosing a software, potential customers want to hear from people who use it. The biggest problem is asking which one is better on the respective sites, is like asking the CEO of Coca Cola if he thinks Pepsi is better than Coke.
I have been a long-time IPB user, hosting over 4 large and successful forums on the software. For my latest endeavor, I decided to give vBulletin a try. With that site nearly all set up and nearly ready for its June 1st launch, it’s time for a no holds-barred head to head opinion of the two softwares. This comparison is my point of view after using both latest software releases as of this writing: 2.1.5 for IPB, and 3.5.4 for vB.
Running a forum site can be done both by an average Joe, or by people like myself who are web programmers and are fluent in php, mysql, html, and so forth. My perspective is that of someone who knows how to code and can look around inside to see how things are done. If you don’t know how to code, setting up a forum is easy, but maintaining it and running it may be a little more difficult- but not impossible.
First and foremost, both software systems are great. Each team has created some well-written OOP code, and support their products very well. I have yet to use the vBulletin ticketing system, as all my questions were answered in their general community forums. IPB’s trouble ticket system is creative and easy to use, even offering some “Did you try this” suggestions based on the subject of the ticket being submitted. More than once, this saved me and them time, as my question was answered on the spot in their knowledge base.
I will review each major section of forums, and declare of winner of each section. Use this only as my personal opinion from using both softwares. Overall, either system you choose will not be a bad choice. Each just has their own plusses and minues.
Both systems have easy to use installers which require nothing more than setting up a database, and plugging in the connection information such as usernames and passwords into a config file. vBulletin requires the file be edited by hand in a text editor. IPB asks for the information in a form on the first step and writes to a chmod’ed 777 config file for you and tests the connection before moving on. vBulletin simply fails saying it can’t connect to the database. After that, both feature web-based “Next, Next, Next” installs.
Forum category and actual forums management is similar in both systems with the exception of one thing: Permissions. The IPB interface blows vB’s out of the water on this respect. It took me several hours to get all my permissions down for each user group on each forum with vB. Their duplication interface is counter-intuitive and makes for a hard time of setting up multi-level permissions. It only got worse as I had to do it once per each of my 40-odd forums I had just created. I hope I never have to do that again, and with version 4 that they address this system.
Modding, Templates, and Styles
If there is one thing vB has over IPB, its ease of modifications. Even if you don’t plan to code anything yourself, there are tons of useful addons that can be downloaded for free at various sites. In 3.5.4, vB offers a Product feature which is very similar to IPB’s Component system. Both use XML data strings to make installs a breeze. But when it comes to the actual template code, vB has an advantage in this respect. IPB’s template system is very complex, but for a programmer like me, I find it easy enough to use. Some folks without coding experience might find it very intimidating. Along the same lines, vB’s style sheet editor is something I find very annoying. vB uses a huge form with color pop-outs for selecting colors for each attribute. This is great for beginners, but for people like me, it simply makes things harder. Plus, it won’t let you download the file, make changed and re-upload it. vB puts a error on it and won’t let you re-upload the file. This is because their CSS sheet is a template. So, even if you take out ALL the style attributes, you still have a large file with tons of empty class names. I assume this is for their form to work properly. I wish I could just disable the whole thing and show me the flat CSS file so I can edit it how I see fit with my choice of CSS editor.
Both systems are heavy on tables. IPB is slightly better at using div’s and more semantic markup, but both should be overhauled. Both say they are xhtml transitional, but neither oem installation validates against the W3. If you’re a standards nazi like I am, both systems will leave you with a huge task of cleaning up the mark up. I have done some cleaning on both systems for the headers, footers, navigation menus and other small things, but the main post and forum view areas remain tables on my sites. Can it be done? Sure. But I don’t have the time to figure it out…. just yet 🙂
Bandwidth and Caching
IPB’s caching system is way better than vB’s, and thus, IPB will use less bandwidth and is noticeably faster on most oem clean installs. There are modifications available for vB to enhance the caching system, but I have yet to try them out.
By default, vB uses the database to store attachments. This is such a bad idea for many reasons mostly relating to performance. Luckily, it can be changed to a file system path in the admin panel. Once changed to the file system, vB will not give you a static link. It only gives you the dynamic image.php?imageid=1234 style URL. While there is nothing inheritly wrong with this, it does pose a problem if you want your members to be able to post attachments on other threads from which they were originally attached, as you would then have to Allow Dynamic Images in your settings, which can prove to be a security risk. IPB gives you a static URL, creates folders with set limits on the number of photos in each which improves file system performance. Plus, IPB gives you the option to insert attachments inline with your text, or at the bottom of all text as vB does.
Both systems have coded template if-else markup systems. The syntax is similar on both systems:
This is not 1
This allows for inline template scripting. For example, if you want to show a log out button only to those who are logged in, you can set a conditional to only show that section of markup to those usergroup id’s of registered members.
vB wins in this department, however. IPB doesn’t support nested If’s. vB does. For example, If first post, and user is a guest, do something. This cannot be done with IPB’s if system. This can pose a problem. The main thing I have run into with this is including a global Google Adsense ad in the header. In order to comply with their terms and conditions, ads must only be displayed on content pages. So, there needs to be an if-statement set up so that you don’t display ads on non-content pages such as login screens. But, if you only want to show ads to a specific group, say guests, this cannot be done without making 2 skins- one with ads for guests, one without for members. vB supports this nesting, and while I believe it is unlimited, I have no sections with more than 3 nestings, so I can’t say for sure.
Aftermarket Support / Additions
Both systems have official support sites for modders. IPSBeyond.com and vBulletin.org respectively. You will need to hold a license to either software to access either site’s features. vB.org is much more active and there are a lot more mods available. Most of their popular mod threads are well over 50 pages of user comments, help requests, and suggestions. The availability of certain mods was the main reason why I chose to use vB on my latest endeavor. The feature I wanted to use for my new site was simply not developed for IPB. If you are chosing a software based on how extensible it is, be sure to look around both sites before deciding. Both have many different mods available.
From a coder’s perspective, the vB Hooks system is great, and IPB doesn’t have anything similar. vB also seems to be easier to code for. For that, vB gets the nod.
SEO and SERP’s
Out of the box, neither system has good search engine optimization. Both use dynamic gerenic file names with id strings passed. The modders have come to the rescue though. IPB has a mod called FURL which adds mod_rewrite features to nearly all links. I installed this, but I found it to be iffy at best, as sometimes it worked and sometimes it didin’t. Also, it comes with no 301 redirects, so all your old content doesn’t appear to be moved. Then, you run into the duplicate content issue. vB also has a couple free add-ons for mod_rewrite rules which is pretty much the same as FURL. However, there is a commercial product called vBSEO which is a GREAT tool. In addition to mod_rewriting urls, it 301’s all the old URLs, adjusts the archive system to redirect back to the main thread (if you choose), removes the print urls from the search engines (another duplicate content problem), adds Adsense section targeting, re-writes meta tags dynamically based on the topic information, and so much more. It is well worth the small premium it costs for anyone looking to move up in the search engines.
Both systems also have modifications for automated Google sitemap generators.
As I said before, there is no clear winner. Each has their own advantages and disadvantages. The key is to figure out what You need for Your site, and pick the software solution which offers the most features.
If you aren’t a coder and just want a basic board, vB is probably the better choice.
If you are a coder, and know OOP inside and out, IPB is probably the way you want to go.
Both cost roughly the same. Both have Gallery modules that can be installed for free or commercial software bought. Both have journal/blog additions. Get a list together of what you NEED on your site, and then go through and see which board system can offer you the best features and ease of setting up.
After all this, if you are still unsure which way to go, please leave a comment to this post, and I will gladly give you my honest answer about each system.