How To Speed Up A Sluggish WordPress Site

.!.

Too Much Stuff

For the average blogger, speeding up a typically sluggish WordPress site can seem one of the black arts. Tinkering around with your php code, optimizing CSS, re-organizing the hierarchy of your Javascript and Ajax files will likely feel like far more than you bargained for when you decided you wanted to get into publishing your ideas online.

There is a reason for thinking about speed however; the inconvenient truth about the web is that you have roughly between three to eight seconds to grab a new reader and keep them reading before they bounce off your page to somewhere else. If in that time your site is too busy loading up all sorts of flare, making too many calls back to the server and even just trying to figure out what its own messy code wants it to do – you are going to lose not just one reader but possibly hundreds.

I have discussed the basic arsenal for optimizing a site – using caching tools to transform your dynamic pages into static HTML files is one of the best ways to get started. The WP-Super Cache is one of the best at this, and the even more aggressive Hyper Cache can do the job as well. Additionally WP Widget Cache should go alongside your site caching plugins so that you can optimize those busy sidebars.

Spring Cleaning For Your WP Site

Remember when you first walked into your new WordPress home? You were so excited to furnish it with all the coolest new toys and sexy furniture so you went to the WordPress Plugin directory and found all sorts of great ideas for decorating the place? How many of those are you actually still using? Did any lead you to change your mind and deactivate them? Do you still really need that fancy AJAX sliding door thingy that displays every one of your Social Web accounts? How many different Twitter Widgets do you have to display to really feel you got the point across that you would like more followers?

Deactivate them. And then delete them. There is a theory that even deactivated plugins cause wordpress to scan over them to do a check for their activation state while loading up your page so you could be wasting precious milliseconds on an unnecessary process. Deleting the plugins won’t make your page speed up per se, but it will save you some space. You can always install them again later. If you don’t remember to, then you probably didn’t need them anyway.

Is your blog’s header an image? Is it an image with you blog’s title and byline laid over top by your theme? Consider making your blog header a static image or an image map if you need to define clickable hotspots on it, rather than having your blog have to pull the title and byline and display it. The static header with the text already built into it is straight ahead optimization.

Is All That Flare Really Making You Money?

If you run a site about high-priced ticket items like HDTV’s, DSLR cameras or yachts, then chances are those animated, rotating  flash ads that pull from a daily or weekly list of top sellers are a good idea. But if you are running a music or knitting site and selling yarn or mp3’s then those ads are likely making you pennies a month at best and at worst just a drain on your site’s load time. Consider removing them or using a static banner ad that can be cached. I found these to be one of the biggest culprits for my own sites’ load times.

Obsessive Time Sculpting

If you feel like getting under the hood and getting your hands a little dirty, going into your theme editor can reward you with some nice speed optimizations. Programmer extraordinaire Joost de Valk offers the following tips at his site for getting into the code itself.

As Joost explains:

“Because themes have to be easy to spread, they have to get almost all the blog specific info from the database. That results in a lot of queries for stuff that you could just hard-code into the theme.”

Go to your WP admin panel ->Appearance->Editor->header.php and look for the following code at the top:

<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="
<?php bloginfo('html_type'); ?>;
charset=<?php bloginfo('charset'); ?>" />

You could replace it with the simpler:

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />”

Similarly in WP admin panel ->Appearance->Editor->footer.php look for

<?php bloginfo('name'); ?>

and replace it with your Site Name

Look for:

<a href="<?php bloginfo('rss2_url'); ?>">

And replace it with your RSS2 feed. For example if you use Feedburner and your RSS2 feed is http://feeds.feedburner.com/MyAwesomeWPBlogDude, you would put:

<a href=" http://feeds.feedburner.com/MyAwesomeWPBlogDude">

The same can be done for your Comments feed.

Note: you may want to actually copy and paste the RSS and Comments RSS feeds from your site before you do this since that is the easiest way to know what your feeds actually are.

Cleaning That Code, Compressing CSS: indocin

I have also seen people suggest the CSS Compress plugin that “automatically removes comments, new lines, tabs, and gzip compresses (GZIP) any CSS file called with “<?php bloginfo(‘stylesheet_url’); ?>” – but use it with great caution. While it may help shave off some milliseconds from a rather simple theme like Kubrick, I have seen it wreak havoc on more complex themes.  It isn’t the fault of the click-and-go plugin, but the fact that sometimes one-stop solutions aren’t the same as one-size-fits-all solutions.

Which leads me to a very important point: make sure you have a database backup plugin installed – I recommend Lester Chan’s DBManager:

Not only can you backup your database in the event of a misstep, but after you have cleaned out your WP closets, as it were, you’ll want to bust out the vacuum. Click that DB Optimize button to get things sparkling again.

Speed Tests

If you want to check up on how your site is doing, consider installing Firebug for Firefox and then the YSlow plugin (Yslow needs Firebug to run).  Then when you visit your site, click the YSlow button at the bottom of your browser and check the site’s performance. You will get a report showing you where things can be improved.  If you aren’t using Firefox, you can also visit Pingdom

‘s site to check your blog’s loading time and get a detailed report about how it loads.

Thanks to WordPressGarage.com for sourcing the above.

Sitting Back

Optimizing your WordPress site is a very important but also delicate job.  Make sure to research the effects of any plugin beforehand and to backup regularly.  The list of optimizations in this article is by no means comprehensive or even right fo everyone, but I hope it serves as a fair introduction to making your site really shine.

Please share your own thoughts, tips and experiences with get your WordPress site clean and zippy.  I would love to learn about other techniques people have found useful.

About the Author:
Keram is a new media consultant, music producer, actor and writer who opines on SEO at blogging-fool.com and society at theculturepin.com. Listen to his podcast at KeramCast.com and find him on Twitter @ConstantChange.