Free-Webmaster-Tools.com is a collection of tools for your web development needs and insightful articles and tips.

vBulletin Forum Script Review & Tips

Welcome to our review and tips for vBulletin. Don't hesitate to ask about this product in our Webmaster Issues Forum. Don't miss our brand new review section of other Boards using vB. Then, please use our link at the top or bottom of this page to purchase vBulletin today.

Click here for Instant Community

Written in php with a blazingly fast mySQL database, this is a very powerful Bulletin Board script. Primarily designed for medium to large boards, it features over 400 templates to customize the look and feel. Jam packed with dozens of useful features to enhance the visitor experience and save valuable time performing your Administrative functions.

I recently migrated my geek/talk Forums to this powerful application. Members love the increases speed, ability to customize the BB to suite their taste, and the Private Message feature. The Admin/Moderator features have saved us lot's of time and permit us to offer an even higher quality environment.

A friendly and helpful VBulletin community of experienced users will help answer your questions and provide numerous enhancements.

Tip 1: Regular backups of your vB mySQL data is required. This procedure can be automated via the use of a shell script and a crontab. The following shell script can be modified to suit your server:


Use Pico to create the above shell script from root. Make sure you edit it for your own server. Then "chmod 700 filename" this script and test it via "sh filename". If the *.gz archives are created properly it's time to write a crontab to automatically run this script. Use Pico and create this:

0 1* * * /filename | mail webmaster@yourdomain.com
0 13 * * * /filename | mail webmaster@yourdomain.com

This crontab runs the shell script twice per day and sends you an email which contains the "echo" text. Make sure you "chmod 700 cronfilename". Ready for the final step? Installing the crontab on most servers is pretty easy. SU to root and issue the following command: "crontab -l" which displays any crontabs already running. Next issue "crontab -r" which releases/stops all crontabs. To start your crontab issue: "crontab cronfilename". You can check to make sure your new crontab is running with: "crontab -l"

If you already have crontabs running then you can combine them all into a single file. Remember you have to release/stop them first. Next, edit the crontab file and then start them again. Also, make sure that permissions for both the shell script and the crontab file are set to 700. Don't forget to download your *.gz archives from your server on a regular basis.

You might wonder how long this procedure takes. geek/talk currently has over 14K Threads and 81K Posts. The raw mySQL text dump is about 156 MB and the *.gz archive is about 26 MB. It takes about 45 seconds to finish my crontab. The only file which is created on my server is the *.gz archive. During this procedure, mySQL activity (post, reads, etc) from your BB is cued so their is no danger of database corruption or data loss. Special thanks to this community for this shell script which was written by the talented Chris Schreiber. Click here to purchase vBulletin

Tip 2: I suggest a regular backup procedure for your Styles. I perform these backups prior to any template edits and at the conclusion of my template edits. Log into your Admin and then select Styles > Download/Upload. Select each Style via the drop down in the Download one of your style sets section at the top of the page. Click the Download button to finish this procedure.

Tip 3: Bandwidth management will save you money and grief. Carefully study your logs and look for other sites "Hot Linking" to your Avatars and Smilies. If your install of Apache has mod_rewrite loaded place a ".htaccess" in your /forums/images/avatars and /forums/images/smilies and anywhere else on your server where other sites may try and steal your bandwidth.

The contents of your ".htaccess" file:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://yourdomain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^https://www.yourdomain.com/.*$ [NC]
RewriteRule .*\.(gif|GIF|jpg|JPG)$ https://yourdomain.com/graphics/stolen.gif [R]

Create a large stolen.gif so it blows out the tables on the offending site and place it in your graphics directory. FTP your .htaccess file in ASCII format to the appropriate directory to finish the procedure.

If you don't wan't to deliver your "stolen.gif" to the offening site, use this procedure which will send a 403 Forbidden status code back to the illegal hot linker, making the image show up as broken.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://
yourdomain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^https://www.
yourdomain.com/.*$ [NC]
RewriteRule .*\.(gif|GIF|jpg|JPG)$ - [F]

Tip 4: Another way to save bandwidth costs is to insure that the "Googlebot-Image" spider does not index your vB images. Carefully read this page on Google for all the details. Create a "robots.txt" file and place it in the pubic root of your site. The contents of robots.txt are:

User-Agent: Googlebot-Image
Disallow: /

FTP this file in ASCII format to finish the procedure. Please note, this procedure only effects the Google Image spider and not the SE spider. It also prevents the Google Image spider from indexing all the images on your site.

Click here for Instant Community

Top of Page. Free-Webmaster-Tools.com is a collection of tools for your web development needs and insightful articles and tips.