I've been annoyed with the performance of my WordPress blog for a while. It seems to go all over the place, sometimes it's great, other times it's appalling. I know it's affected by traffic and other factors like current server load, network status, and other stuff. A huge part of WordPress performance is the theme and plugins.
If you have a poorly coded theme, the performance of WordPress is likely to be affected. If you have a lot of resource-intensive plugins, that will adversely affect how fast and efficient WordPress loads.
I thought it was time to start working on performance and do some optimization. This post is the first I do about that. I can't promise I'll do a lot of these, but I will share what I find and how I approach it whenever I get a chance.
How to Analyze Performance on your WordPress Website
To analyze performance, I am using the free Pingdom speed checking tool available here. It's easy to use, just plug in your website and run the test. You'll see how much time it takes to load your WordPress site and every item that is loading as well as how long it takes to load each one. This is what the results from Pingdom look like at the time of this writing:
You could and should also look at the PageSpeed Insights by Google, also free. The results Google gives you are not as pretty to read, but the suggestions provided are good.
I'm mostly going to be looking at the Pingdom results and will go down the list of items that I can address easily and quickly. As I take care of the low hanging fruit, I will approach more advanced tasks.
Ideally, I would love for the site to load in under 2 seconds --wishful thinking, I know.
Based on the screenshots, you can tell that the yardstick is very different from Pingdom to Google so I think it's better that I work with just one of them at a time.
I suspect that if I were to take care of all the issues Pingdom has found, many of the items listed by Google will be resolved as well.
There's one more tool that I use from time to time; the P3 Performance Plugin. This is a free plugin that you can install and run from the WordPress dashboard to give you a totally different set of information as you can see in the screenshot below.
Removing unnecessary components, plugins, and scripts.
There are a lot of things that WordPress does that I don't necessarily need. This is where I'll add notes about that.
Additionally, plugins are very addicting. It's easy to add a new plugin to do something cool or something that seems necessary; I'll talk about that here as well.
Adding a caching system.
An easy way to improve performance for your visitors is to add a caching system to WordPress. This is easily done by adding a caching plugin. I'll talk more about that here.
Getting better hosting.
Many people that grow their blog will find that their web hosting plan may no longer be suitable for them, I'll cover that here.
Medium and Advanced Improvements
There are other things that can be done to improve WordPress site performance. Things like database optimization, CDN configuration, and server optimization.
The first blog post about improving server performance has been posted, you can read about it here and learn how to turn off unused services on your dedicated or virtual dedicated server here.