I have been pretty frustrated over the past few weeks with the performance of a few of my WordPress sites. At first I was convinced that it was my web host. perhaps it was their web or DB severs; perhaps that I’m on shared hosting. After putting up with it for a while I decided I needed to get to the bottom of the issue. It had to be my host, a plugin, or some content that it just to stinking big. I found an article by Idano called Nailing Down Slow Performance in WordPress. The approach outlined entailed reverting to the default theme, disabling all plugins, and then one by one enabling the plugins to find the culprit. Sounds like a lot of work eh? I already know my theme is relatively heavy, but I like it so it’s not going anywhere. I suspected it might be a plugin… but did I REALLY want to go thru the process or turning them all off then one by one turning them back on? Naw…
Enter FireBug. Firebug integrates with Firefox to put a wealth of web development tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page. If you don’t already have FireFox and FireBug, you should check them out…. particularly if you do any web development. For the record I typically use IE, I’m not anti-Microsoft or anything like that, but it’s nice to have FF and FB around for development purposes. Once installed enable FireBug by going Tools -> FireBug and then deselecting the Disable FireBug check. Then go to Tools -> FireBug -> Open FireBug. At the bottom of the screen you’ll now see a console window for FireBug. Hit the NET tab and point your browser to your website.
What you’re seeing is the total number of requests made by the browser and how long each one took. With my standard plugins enabled, my homepage took a crazy 12.65 seconds to render! TOTALLY UNACCEPTABLE.
I began scrolling through the results and immediately saw that the lightbox plugin, as well as an Amazon Context Links plugin were the cuplript (image below shows the lightbox stats).
I then went to my plugins page and disabled each of the plugins. Removing those two plugins took my page render time down to 7.79 seconds. Better… but still not GOOD. I repeated the process above until I found another performance culprit… a call the the MyBlogLog tracker is taking 2.44 seconds. This is not a plugin, but a script code I added to the header of my website… 2.44 seconds, gone. I like MyBlogLog… but not that much.
So how much time did I shave off by removing the Lightbox, Amazon Context Links plugins and the MyBlogLog link tracker?
Yup… 9.06 seconds shaved off my front page load time. 3.59 seconds still isn’t excellent performance, but my front page usually has YouTub videos, linked images, etc. I then noticed the time to render a sidebar widget I put in place to show where else I can be found on the net was making a bunch of requests. I move it to my About Me page… nobody really click it anyway.
In total my average front page load time is now down to about 3.2 seconds. I could probably do even better, but I’m happy with the performance increase so far. The average page on my site, when it’s mostly text, is down to around 1.5 seconds. w00t! Feel much more snappy!
FYI… if you CANNOT live without the lightbox effect, there’s a new Slimbox plugin, which claims to be a 7kb clone of the previous Lightbox plugins. I haven’t tried it yet… it’s a cool effect, but I’m not sure if it’s worth it.