From C F A F F F to A A A A A A in 6 weeks

Six weeks ago I stumbled upon I thought my vBulletin-based forum was already optimized well, so when I did my first test here, I was pleasantly surprised to find out there was still A LOT of room for improvement.

6 weeks ago my home page rated: [size=large][color=#DAA520]C[/color] [color=#FF0000]F[/color] [color=#32CD32]A[/color][color=#FF0000] F F F[/color][/size] (Test result: )

Today it rates [size=large][color=#32CD32]A A A A A A[/color][/size] (Test result: )

Thanks goes to Pat for creating this information-packed website. The wealth of knowledge found here will help anyone to speed up their site.

Looks good! Congrats! Get rid of the Etags? :slight_smile:

Maybe another tip: improve on the favicon, make it smaller (<1KB) and give it a longer expire (1 year?).

See this info from Steve Souders

Re: eTags. I’m not sure how to get rid of them. The following code is at the very top of my .htaccess file. I was under the impression that the bottom few lines of this code should take care of eTags, but WebPageTest still indicates eTags are present.

<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType text/css "access plus 31536000 seconds"
ExpiresByType text/javascript "access plus 31536000 seconds"
ExpiresByType application/javascript "access plus 31536000 seconds"
ExpiresByType application/x-javascript "access plus 31536000 seconds"
ExpiresByType image/ico "access plus 31536000 seconds"
ExpiresByType image/gif "access plus 31536000 seconds"
ExpiresByType image/jpg "access plus 31536000 seconds"
ExpiresByType image/jpeg "access plus 31536000 seconds"
ExpiresByType image/png "access plus 31536000 seconds"
ExpiresByType image/bmp "access plus 31536000 seconds"
<ifModule mod_headers.c>
<filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif)$">
Header set Cache-Control "max-age=31536000, public"
<filesMatch "\\.(css)$">
Header set Cache-Control "max-age=31536000, public"
<filesMatch "\\.(js)$">
Header set Cache-Control "max-age=31536000, private"
<filesMatch "\\.(xml|txt)$">
Header set Cache-Control "max-age=31536000, public, must-revalidate"
<filesMatch "\\.(html|htm|php)$">
Header set Cache-Control "max-age=1, private, must-revalidate"
<ifModule mod_headers.c>
Header unset ETag
FileETag None
<ifModule mod_headers.c>
Header unset Last-Modified

Re: favicon.ico

Actually, believe it or not, but my original Favicon used to be 15K in size! It contained I think three different icon sizes. I only yesterday got around to quickly reduce it, but I think it still is over 1K. I will play with it a bit again to see if I can reduce it more.

I’m not sure if I have the caching if the favicon set right, as WebPageTest doesn’t show this information for Favicons.

Thanks much for your feedback.

Caching on the favicon looks good:

  1. Pat, thanks for confirming that the .ico is being cached.

  2. I have found out that I may not be able to remove the ETags, as I’m on a LiteSpeed server, and LiteSpeed may not be able to accomplish this.

Google exported fresher “Site Performance” data to Google Webmaster Tools yesterday. According to it, my site’s load time has been shortened by over 30% since I stumbled upon I’m happy. I suspect the GWT numbers will improve even more as Google exports fresher data over the coming weeks.

Nice to see you have cut down on all these site speed problems, can I ask, how much has this actually cut down on the page laod time?

There are links to the test results above each chart. Looks like it went from 5.175s down to 1.150s

Yes, the load time has improved dramatically. The above tests show the results for just the home page, but the changes affected inner pages perhaps even more than the home, because the inner pages had more .JS and .CSS files to be combined. At the moment, no page of the site has more than a single .JS and a single .CSS.

It definitely was worth stumbling upon, and then sticking around for a while. :slight_smile:

Over one year has passed since I started this thread. It may be a good time to update it…

I still visit regularly to read and learn. Occasionally I still play with my site to see what could be improved. But there isn’t much I can still do short of moving from my current VPS (which is just fine for the site’s needs), to a dedicated server (which I cannot afford).

My latest experiment was with removing AdSense. I used to have a single unit of AdSense on about 90% of pages. (Excluded from advertisements were important pages: Home, main landing pages such as reviews, and pages with only little content.)

With AdSense, Google Webmaster Tools used to report pages on my site loaded on average in about 1 sec, 0.9 sec, and occasionally it even dropped down to 0.8 sec. After AdSense was removed, the speed improved. For a couple of days it was sitting at 0.6 sec, and now, the past 4 updates it has sat at 0.5 sec (better than 98% of sites). I doubt it will reach 0.4 sec, but I’ll keep my fingers crossed over the next few days.

AdSense is the only income supporting the hobby website (vBulletin-based forum). I may be forced to eventually re-enable it. But for now, I enjoy the speed, and I’ll leave it ad-free for as long as my wife tolerates it :slight_smile:

FWIW, the actual user experience may be identical between the two (or really close) and it’s probably just a technical measurement difference. Adsense is mostly async. The javascript itself is blocking but it’s used everywhere so it’s likely in everyone’s cache already.

Once the javascript runs it creates an iframe and loads the ad in the iframe which will prevent it from blocking any of your actual content. It will technically push out the onload until the ad has finished loading but not the user experience.

I’d throw the ad spot back on and keep the wife happy :slight_smile: Your site is already the benchmark for a fast, rich site. I wouldn’t be surprised if the 5% of sites faster than yours are just text pages.

Pat, you are right, AdSense was not really slowing down the rendering of the “real” content of my pages. When I opened a page, the text and images loaded instantly, and then, a fraction of a second later, AdSense appeared.

But I will run the site ad-free a bit longer. Eventually, I think I will move my ads a bit lower on the page. I used to keep a large ad unit right bellow the first post of a thread. I’m considering to move it bellow post #5 instead, to make the advertisements look a bit less obtrusive.

today i am install newrelic

but i am not see any change… what i do ?

New Relic doesn’t automatically “fix” anything. It gives you visibility into what is slow on the back-end so you can then go fix it. You should have a New Relic dashboard with all of the back-end data from your real visitors now that will tell you how much time is spent in the database and various back-end modules (along with the specific database queries).

thanks for reply.

i am work first time on vps, not know what set …

new relic show some info for few minut . after long time nothing show. i am read doc. its say i am not install any app. i am not expert. this reason waiting step by step guide.

i have social network site, script is its basic css showing lots error, & company say he right … i am wrong.