Optimize WordPress For SpeedOne of the most important aspects of any web site is the speed at which it loads and is viewable to the end user. Studies have shown that delays as small as one tenth of a second can have an effect on a web surfer’s response to a site.

While WordPress is undoubtedly one of the most popular and customizable content management and blogging platforms ever released, all of the blessings that it brings also come with their own curse. For every tweak you make to your theme, for every new bell or whistle added by a new plugin, there is a drop in the speed of your website. A bit more processing on the server here, a pinch more java in the code there, a few more specifications in the CSS added to the mix; it all adds up to more time before your content appears in the user’s browser.

As time goes by and plugins and themes are added and removed, you can end up with quite a noticeable decrease in the speed of your WordPress site. This will eventually translate into a noticeable decrease in the visitors to your website. And well, we all know what happens to sites with no visitors.

So let’s get to work on getting your site back up to speed. Following are some great tips for optimizing any WordPress site to keep those page load times at an absolute minimum.

Start With Good Hosting

If you’re managing or thinking of managing your own WordPress site, the number one thing you should consider is your hosting provider. As visitors to your site increase, you’ll want to be able to scale your hosting to handle the heavier workload. This is something you should plan for from the start.

Make sure your hosting provider has options that will allow you to increase the power behind your site quickly and smoothly. Moving a live WordPress site to a new server can be a complicated task. You want to make sure your host can take care of this for you. An example of a hosting provider known for excellent service with WordPress sites is BlueHost.com.

Set Up A Caching Plugin

There is a lot of processing going on in the background of a WordPress site. A caching plugin will cut down dramatically on the PHP code that needs to be processed with every hit and speed up page load times.

There are quite a few cache plugins available. Some are more complicated than others. In general, you want to try to find a plugin that has most of, or all of, the following features:

  • Minify HTML, CSS & JavaScript – This will remove things like comments and extra white space from code, reducing page size and improving load times.
  • Minimize HTTP Requests – Multiple files of the same type, such as CSS or JavaScript, can be combined into one file so they can be requested all at once reducing server load.
  • Replace PHP With Static HTML – Replacing PHP generated pages with static HTML can drastically reduce server load and speed up processing on the server side.
  • Enable GZIP Compression – GZIP will compress the final files before sending them to the user. This will speed load times and greatly decrease bandwidth consumed.
  • Browser Caching – Your site can send headers that tell the user’s browser to cache things like CSS and Java so they aren’t downloaded again with every hit.

Choose The Right Theme

Not all WordPress themes are created equal. The theme you use on your site can have a very big impact on how much processing the server needs to do and how fast your pages ultimately load.

Themes are basically custom programming. A good programmer can make something complicated run like lightning while a bad programmer can make something simple move slow as a snail.

When looking for a theme, especially if you are going to pay for one, do your research. With free themes, you can install and test yourself to see if there’s a big impact on your site’s speed. For paid themes, be sure to check user reviews and try to find live sites actually using the theme you want so you can see how it performs.

Optimize Your Database

Your database is the lifeblood of your site. Absolutely everything in your WordPress site is stored in a database. Any time something is posted or commented on, etc, entries are made and changed in the database. If the database is not maintained, it will eventually begin to slow down and you also run the risk of it becoming corrupt.

WP-Sweep is considered to be one of the best plugins for WordPress database maintenance and optimization. It’s also free, which is nice. There are also plenty of other database cleaners and optimizers available if you’d like to compare.

Optimize Images

Images are always the largest and slowest part of a web page to load. By optimizing the images on your site you will not only increase page load times, you’ll save on bandwidth as well.

A good image optimization plugin should allow you to crunch most images down to a much smaller file size without a noticeable loss of visual quality.

Disable Hotlinking

Hotlinking is when someone links to something on your site in order to display it on theirs. For example, another blog might include one of your images in a post, but instead of putting the image on their own server, they tell browsers to load the image from your server instead. This, of course, increases load on your server and wastes your bandwidth.

By disabling hotlinking, you make it impossible for someone else to hijack your bandwidth for their own site and you’ll keep the load down on your site as well.

You’ll need to set up or modify a special file on your server called “.htaccess” in order to protect yourself from hotlinking. You can get the code needed through htaccesstools.com or ask your web host to help you. It’s a simple operation that they should be able to do for you within a few minutes.

Turn Off Pingbacks And Trackbacks

The purpose of pingbacks and trackbacks are to let you know when someone else links to one of your posts from their site. Unfortunately, this function is used for little more than spamming these days. Notifications will start to clog your comment moderation queue and if you get hit hard with this type of spam it will start to affect your site’s performance.

To turn off this this function, go to Settings, then Discussion, and uncheck the box marked “Allow link notifications from other blogs (pingbacks and trackbacks) on new articles”.

Organize CSS And JavaScript

Web browsers load different pieces of a website in a particular order. By placing all CSS references at the top of your page source code and JavaScript references at the bottom, you can speed up the time it takes a web browser to render your page. Some caching plugins will do this for you, but if yours doesn’t, it might be something you’d like to look into.

If CSS is not at the top of the page, this means the browser will start to load the main content of the page and then have to go back and redraw everything when it finds the CSS. Obviously, this is going to cause a delay, and it’s also just going to look bad in the user’s browser as your page seems to load twice and jump around the screen.

JavaScript prevents all other content from loading while it is being loaded itself. So, if you have Java at the top of your page or in the middle somewhere, nothing else will load while the browser is processing the JavaScript. If you’ve ever visited a site and seen half the page load followed by a big pause where you can’t click on anything and then the rest of the page suddenly pops up, this is probably why. For the best user experience, JavaScript should always be placed at the bottom of the page.

Test Your Site When You Make Changes

Regular testing of your site is the best way to make sure everything is running smoothly. Whenever you’ve made a change to your site or there’s been a change in your hosting service, take a few minutes to check on the speed. Don’t forget to keep notes of results so you can compare later.

Two great sites that will allow you to check load times and test from different locations are WebPageTest.org and Google’s PageSpeed Tools.

Have you seen any improvements in your site by implementing any of the WordPress optimizations listed here? Got any of your own tips for optimizing WordPress? Let us know in the comments!