Back to vBulletin 4 Articles

Improve page load time
by Jon_Simmonds 29 Jan 2010

With google now apperently taking in page load time into account for rankings, and looking at the Labs > Site Performance link on Google Webmaster Tools, it says my forums were slow to load up I have spent the last few days looking at how to speed things up. Now while you can control what googlebot see's via robots.txt, the info uses to generate page load time appears to come from the google toolbar, which means all parts of your site visible to members have the page load time logged

I came across this article on vbulletin.org - Improve Web Page Performance and just have a few quick tips that can be done to help make things faster.

I have mainly focused on what can be improved in terms of vbulletins templates, rather than tinkering with servers etc, some of these were touched in the article I linked in above but I feel that I have added onto them, all of this I have found from researching the net/google/etc so I don't take any credit for anything!

While doing this, I found it relativly easy to improve on the forumhome & forumdisplay templates, though when it comes to showthread the biggest issue is images in your member's signatures - inactive members could have links to images that 404, others may have multiple images in theirs.

1) If using the Yahoo CDN to host the YUI libraries, then use Yahoo's combine function


In the header include template replace the following
Code:
<script type="text/javascript" src="$stylevar[yuipath]/yahoo-dom-event/yahoo-dom-event.js?v=$vboptions[simpleversion]"></script>
<script type="text/javascript" src="$stylevar[yuipath]/connection/connection-min.js?v=$vboptions[simpleversion]"></script>
with
Code:
<script type="text/javascript" src="http://yui.yahooapis.com/combo?2.8.0r4/build/yahoo-dom-event/yahoo-dom-event.js&2.8.0r4/build/connection/connection-min.js"></script>
This only works on the Yahoo CDN for the YUI files, not for Google or from your own server, if you use other YUI libraries then you can use this page to add what libraries you need : http://developer.yahoo.com/yui/articles/hosting/?connection&yahoo-dom-event&MIN

Simple really, 2 http requests or 1 http request, for what is the same data, that will be called on every page. If you use a few mods check if they use any other YUI libaries and consider loading them in this way.

2. Improve the loading of CSS

Using store http://www.vbulletin.com/docs/html/stylemanager_css_as_file I then modified the code to make vbulletin treat the CSS via a link rather than import - http://www.vbulletin.com/forum/showthread.php?306573-import-vs-link

Depending on your style, you could consider combining the CSS into one, to save on http requests, but that really depends on how you have your style setup on your forums.

3. Make use of css image sprites
These can really make a difference to page load times, I found a great CSS sprite generator
at http://csssprites.com/ although I prefer to use <img> tags rather than <div>'s that the generator uses, so read this article http://cssglobe.com/post/3028/creating-easy-and-useful-css-sprites and use the background position info from the genarator & the <img> tags suggested by the article

4. Turn of signatures for in-active members

Consider turning off signatures for members who haven't been active in X days by changing the following code in both postbit & postbit_legacy (well either/or depending on how you run your forums)
Code:
<if condition="$post['signature']">
<!-- sig -->
<div>
__________________<br />
<div class="hidesig">$post[signature]</div>
</div>
<!-- / sig -->
</if>
to
Code:
<if condition="$post['signature']">
<if condition="$post[lastactivity] > TIMENOW - X*86400">
<!-- sig -->
<div>
__________________<br />
<div class="hidesig">$post[signature]</div>
</div>
<!-- / sig -->
</if>
</if>
Changing X to a value in days

[EDIT]
Or for vbulletin 4.x use the following (Thanks to BBR-APBT for the code)
Code:
<vb:if condition="$post['signature']">
<vb:if condition="$post['lastactivity'] > TIMENOW - X*86400">
    <blockquote class="signature restore"><div class="signaturecontainer">{vb:raw post.signature}</div></blockquote>
</vb:if>
</vb:if>
[/EDIT]

Similar Mods

vbMicroStats: page load time, queries, GZIP and PHP version vBulletin 2.x Full Releases

vblts.ru supports vBulletin®, 2022-2024