WordPress is great because it’s flexible, extensible, and can be lightweight. Why "*can* be lightweight?” Because its flexibility and extensibility - its greatest strengths - can be WordPress’ greatest weakness.
We know that any page load time over 2 seconds can affect your site’s traffic, purchases, and bounce rate. Yet even a simple WordPress page might start loading unacceptably slowly simply because of a well-intentioned stack of plugins, each providing different capabilities.
How do you figure out how to optimize your WordPress plugin stack? Like so many other things, it takes a little patience and the right tools. In this case, you’ll need LoadImpact.
No matter what you’re troubleshooting, it’s important to start with a baseline. We recommend you start by testing one important page on your site - perhaps your home page. Focus on one page at a time.
To run your baseline test, you can run a simple test at the free tier of LoadImpact (of course, feel free to try the paid tiers as well). For more details about running your first WordPress baseline test, see this recent post.
Once you’ve run your test, great! Now you can start your investigation about which plugins might be slowing your site down.
Now, we’re going to follow the second basic rule of troubleshooting: changing only one variable at a time. Since we’re testing performance based on WordPress plugins, we’ll follow this simple process:
We recommend you start with plugins you’re not sure about. For example, on one WordPress site we manage, we noticed a couple of plugins we don’t remember using anytime recently - and found 7 inactive plugins we needed to clean up as well.
Start your performance troubleshooting process by using the five-step process above on those plugins you don’t recognize or remember.
After you’ve completed that, we recommend you work your way down the list of plugins, even including plugins you find essential, like SEO or e-commerce plugins.
Important Note: if you’re testing on your live site and you have active users on your site, you may want to exercise caution here. You don’t want to accidentally lose an order or otherwise make the customer/visitor experience a negative one. If you’re testing on a well-trafficked, live site, you may want to consider making a duplicate of your site before you continue this line of performance testing.
If your site gets relatively little traffic, you can also just give this testing a go during a low-traffic time (perhaps a weekend), since you’re just testing relatively quickly for performance. (You’re disabling a plugin, running a five-minute test, and then re-enabling the plugin.)
Experienced testers - or you, on later passes through your WordPress plugin testing - may opt to skip testing significant pieces of your WordPress site’s functionality. For example, you may have committed to a particular framework and to a particular e-commerce stack (like WooCommerce), and you are not planning to change those. Thus, while it’s nice to know if they’re affecting performance, it may not matter, since you know you’re not going to change them regardless.
Once you’ve finished testing your WordPress site with every plugin on your list, the results may surprise you.
An article at Elegant Themes suggests that in their tests, SEO plugins caused some significant performance hits. Perhaps surprising, since theoretically SEO plugins do a lot of initial work and data embedding, but wouldn’t theoretically cause a lot of render-time overhead. Still, check the comments in that article for some ideas and comments.
We’ve had varying results even with bread-and-butter plugins like Jetpack: on some sites it seems to affect page load speed very little; for others it adds significant overhead.
Based on your results, you should be able to see which of your plugins causes the biggest performance hit. Armed with that knowledge, you might optimize those plugins or even look to replace them with plugs that are faster and more lightweight.
We’ll have more tips for your WordPress performance optimization soon.