The WordPress engine is pretty efficient out of the box, but once you start loading plugins the performance and responsiveness of your site might go downhill. On top of that the consumption of resources might become too big, possibly leading to a suspension of your hosting account (especially if you use shared hosting).
Over the years I played with and tweaked my WordPress plugins trying to achieve a good performance level, and below you’ll find the tips I learned along the way:
1. Use a Cache Plugin
Serving cached versions of your pages is one of the most efficient ways to speed up your site and to reduce the CPU and memory consumption on your server. Also, if you are not using the W3TC plugin yet I highly recommend you switch to it, as it works much more efficiently than the other plugins available.
2. Remove All Unnecessary Plugins
Unless your site absolutely relies on a plugin to work I would recommend removing it. Sure, you might need to lose a functionality or two, but in the long run this will keep your site running fast and securely. Keep in mind that it’s possible to hard code what some plugins do, as well. For example, instead of using a plugin to generate a list of “Popular Posts” on your sidebar you could create the list yourself with raw HTML. Instead of using a contact form plugin you could simply write a paragraph on your “Contact” page including your email address there. So on and so forth.
3. Pay Special Attention to Post-Level Plugins
On most WordPress sites and blogs, the bulk of the traffic goes to the posts. The homepage, the category and archive pages receive around 20% of the overall traffic, if that, while the posts receive 80%.
This means that plugins that act at post-level will consume most of your resources. Examples include plugins to change SEO aspects of your posts (e.g., All in One SEO Pack), plugins to display related posts and so on. As a result you should put an extra effort to either remove or optimize those plugins (more on that below).
4. Consider Substituting All In One SEO Pack
The All in One SEO Pack plugin is certainly one of the best SEO plugins around, but it’s also pretty intensive on the resources of your server. For small sites this won’t be a problem, but once your traffic starts growing you might start to feel it.
A good alternative is called Greg’s High Performance SEO. According to the author All in One SEO Pack outputs 2000 lines of code per page load/view, while Greg’s plugin output only 700 lines.
In my opinion the main benefit of those SEO plugins is the ability to customize the title tag. If that is the most important factor for you as well you can be even more extreme and use no plugin at all. Instead use the piece of code below to create optimized title tags for your posts:
<title><?php if (is_home () ) { bloginfo(‘name’); }
elseif ( is_category() ) { single_cat_title(); echo ' - ' ; bloginfo(‘name’); }
elseif (is_single() ) { single_post_title();}
elseif (is_page() ) { single_post_title();}
else { wp_title(‘’,true); } ?></title>
5. Consider Substituting YARPP
Along with All In One SEO Pack there’s another plugin that is very popular and yet very resource intensive: YARPP (Yet Another Relate Posts Plugin).
One alternative you can consider is the Efficient Related Posts plugin. The main difference is that the database of related posts is updated only when a post is created/updated, while other plugins tend to build the list on the fly, whenever a post is loaded.
6. Optimize Your Database Tables
As with any dynamic content management system, great part of the work your WordPress site does is related to getting, storing, removing and updating information on its database. That’s why optimizing your database tables can affect your site’s performance.
A nice plugin you can use for this purpose is WP-Optimize. It will remove your post revisions, clean your comments (e.g., spam and deleted ones), run optimization queries and so on.
In my opinion tip 2 is the most effective. When I got rid of unnecessary plugins, my site was loading much faster. I also recommend to resize large pictures. Unfortunately I’m having some trouble with the cache plugin.
I would like to add that each plugin may add its own CSS and JS files to each and every page loading and that would mean a slower loading and wasted bandwidth.
I strongly advise you to use HttpFox and Pingdomtools to check which files are loading.
I would like to use a cache plugin but for some reason whenever I used them I gt white pages everywhere. 🙂
I was intriqued by your comments about All-In-One & YARPP slowing down your blog. I would be interested in a future post with a list of plugins that are notorious for this kin d of thing. 🙂
Nice post with useful information. I’ll have to check out some of the alternate optimized plug ins mentioned. Thanks!
But what do you think about the WordPress SEO Plugin by Yoast?
Hi Daniel,
I have no luck in 2012 yet. After replacing All In One SEO Pack & YARPP with Greg’s High Performance SEO & Efficient Related Posts, the blog is still down nearly every day, and later I find out that Makeuseof.com also uses the All In One SEO Pack plugin, so I think the problem may be caused by the web hosting, though they said that it was not.
So I am going to move the blog to a new server.
I immediately install and enable W3TC as per your recommendation in number 1. It works superbly. My site loading improve a lot. Thank you for sharing this.
It’s not just a performance issue, the more plugins you install the more likely it is that conflicts will occur. I’ve broken WordPress so many times with plugins.
Very accurate article. I see a lot of wp sites with arbitrary plugins. Clean it up!
@kaiyan, you need to put in the header section of your theme (under appearance > editor). You might already have some code for the title tag there, so make sure to remove it first.
I am not familiar with meta-seo pack, so not sure. You can always test and revert back though, if you lose anything.
hi Daniel
Great post once again. Thanks for the suggestions. I got a few queries (maybe stupid ones :P)
Where exactly I need to put that code you gave? I mean in which file?
I use meta-seo pack. Is it bad too? Moreover, if I make a switch, shall I lose all the meta description/keywords that I have already put in each of the post or the switch will be seamless & all the meta data will be in tact?
Thanks
@Eshan, I use 8 plugins, and I consider that on the border. Anything over 10 is too much in my opinion.
@The Swaty Glove, keywords in meta data have a very small effect on your SEO, as Google places almost no value on those fields (due to historic abuse from webmasters).
Akismet is a must, JetPack I don’t use.
If you need keyword tagging then yes use All in One, as it still the best plugin for that purpose.
@Young, if this was an isolated incident don’t worry about it. If it happens constantly, though, then yeah disabling those plugins might help.
Hey Daniell, I just wanna ask that using a lot of plugins makes WP blog slower?, and How many plugins do you use to your blog?
Thanks for the article. What about plugins like Akismet and JetPack? LinkWithin?
What are your feelings on “minifying” your code? I’ve seen that suggestion a few times lately. Regarding the AllInOne SEO plugin, my main concern is to place keywords in the metadata, not so much the title, which is keyword-optimized anyway. What would you recommend when keyword-tagging individual blog posts is crucial?
My blog was down once or twice every day these days, so I wonder to know if it can avoid this by replacing the All In One SEO Pack & the YARPP with the plugins mentioned in this post.
That last one wp-optimize can do the best work because it cleans dataabase. Loved these tips.
I am strictly following this rule of no plugins unless necessary.
For custom title, I am using a custom field e.g. title. Then in header file, I check for that and if exist then I display it in the html title and continue to use post title in the post.
Daniel, that is useful information. I am currently having some minor loading issues. I want to avoid major loading issues. I will try the W3TC and see how that works. Thanks!
Thanks a lot for this useful information as I have used All in one SEO pack and its work for me always.
Anyway thanks again.
Never thought about YARPP being an issue in loading speed. Interesting thought, though, I’ll have to check into that.
Never thought about YARPP being an issue in loading speed. Interesting thought, though, I’ll have to check into that.
well, I am using cache plugin and surely, it has helped me a lot in curbing my blog load speed. Thanks for the share
Nice post! I was just thinking about this topic. I’d love to see something similar on mobile optimization
@Giannis, I don’t think so, as both are very similar, so you SEO factors won’t change much, if at all.
I really like your suggesion of eliminating the SEO plugins altogether and inserting the code you’ve provided. Thanks for the tip!
We can recommend the cache plugin and the changes for the title tag. The all in one seo pack is also great but sometimes (depends on your hoster) takes more resources.
Do you thing our serps will be affected if we move to Greg’s High Performance SEO from All-in-one?
On one of my sites before it got suspended by my host because it used to many resources on their cpu (or so they claimed) and ever since that happened I could have sworn they limited my account. Needless to say I changed host and now my new one is much better… but I did clean up my plugins just to be sure
Daniel, great work with this post. Your posts are very useful for those new bloggers out there. Keep up the good work.