How to Speed Up Your WordPress Blog by Having Less Plugins
March 3rd, 2010 by
Many articles that present methods to make WordPress load faster, recommend efficient solutions like having css and javascript files minified and merged, using CSS sprites and caching.
By following those tips, you can make your blog load twice as fast (and even faster), and score better in yslow performance tests.
There is however, one more thing you may do to improve your blog’s performance, and that is reducing the number of plugins that are loaded into memory for each post and page in your blog.
I love WordPress plugins as much as the next WordPress enthusiast, but when it comes to user experience, I prefer sacrificing the comfort of setting parameters in the WordPress dashboard inteface, than having a sluggish blog that scares visitors away.

Why having too many plugins will slow down your blog?
The main reason is that not all plugin developers configure their plugins to be loaded only when the plugin is actually needed.
WordPress goes over the plugins very early in the loading process, and unless there are conditions in the plugin code, telling WordPress not to continue loading the plugin for that particular page/post, WordPress will continue to process the plugin, calling database queries to retrieve parameters you have set in the dashboard, retrieving additional PHP files and loading js and css files when they are not needed at all.
The entire process can even take 2-3 seconds, depending on how many plugins are loaded.
If you add these seconds to the time it takes to load images in your post, the google analytics js file, the comment-reply js file that WordPress loads for threaded comments…well, I think you get the picture.
So what can you do?
Uninstall plugins that load in your blog’s front-end (as opposed to plugins that are meant to customize WordPress Dashboard only) unless you really need them.
When I say plugins you really need, I mean plugins that their benefit to your blog is worth their weight, and what they do is relatively complex or tedious to be accomplished without a plugin.
Arguably, the following plugins are must haves:
- Akismet
- A good database backup generator like WP-DB-Backup or others.
- A good XML sitemaps genrator like Google XML Sitemaps or others.
- A versatile SEO plugin like All in One SEO, Headspace or others.
- A versatile caching plugin like WP-Super Cache, W3 Total Cache or others.
Note that number 2 and 3 are plugins that automatically perform crucial routine actions, that may otherwise be done manually by the blogger in 2 minutes.
However, they are great time savers for the long run and by using them you minimize the risk of forgetting to do those routine tasks yourself.
Unlike most WordPress plugins, there are still some great plugins that are designed to be loaded only when needed. The excellent Contact Form 7 for example, offers this simple tweaking so you can feel safe to to keep the plugin installed without worrying about performance implications.
Which plugins can be replaced with simple functions and tweaks?
You can add a lot of functionality to your blog by doing a little bit of one time tweaking.
Here are some examples:
- Displaying recent posts, popular posts, random posts, top commentators, authors list, tag cloud/list, posts by category or by tag.
All of these can be displayed in your sidebar without installing a single widget or plugin (e.g. take a look here). - Gravatars and threaded comments have recently become built-in features of WordPress. You can set them in WordPress dashboard instead of intalling plugins. If you want to change the way gravatars or threaded comments are displayed – that’s exactly what filters and actions are for (to change the default Gravatar image for example, you use a simple filter like explained here).
- Post count, comment numbers – no need to install plugins for those either (e.g. check this out).
- Image Gallery Effects – there are plenty of very nice jQuery plugins for image galleries, slideshows and lightboxes on which WordPress plugins are based.
Instead of installing WP plugins, you can download the jQuery plugins and install them manually according to the instructions in the plugin sites.
Check out my next post to see an example of how it should be done. - 301 redirects can be easily configured without installing a plugin. I do recommend however, to install a good plugin for this once you pass the 50 posts point, because you might forget to add those lines to the .htaccess file after updating post permalinks.
To sum it up, you really don’t need to be a PHP developer to add custom functionality to your blog.
There are plenty of blogs that discuss WordPress customizations and provide hacks and functions for copy and paste.
So the next time you want to add a feature to your blog like adding related posts with thumbnails, just type wordpress “related posts with * without a plugin” in Google search (with the quotation marks and the asterisk) instead of a installing new plugin. The first result leads to an easy to do solution.
By the way, the tooltip for the word “hacks” is not a WordPress plugin either, so it loads for the relevant posts only and keeps my blog fast and clean.
Agree with me here? Disagree? Share those thoughts!
Respond Here
40 responses
Trackbacks and Pingacks
- How to Speed Up Your WordPress Blog by Having Less Plugins … : How Do You Do That? : Your Online How To Source « How Do You Do That?
- How to Add jQuery Effects to Your WordPress Blog Without Installing Plugins | WebTechWise
- How to Find and Remove Broken Links in Your Website
- URL Redirection in WordPress – the Problem Solution Approach | WebTechWise
- Sélection de fonctionnalités WordPress sans plugins | Blog de Johan BLEUZEN
- Organize Your WordPress Side Bar Smartly | WebTechWise
- Using Akismet? Check Your Spam Box for Legitimate Comments | WebTechWise
- WordPress Speed and Optimization Guide | The Social Media Guide




Nice tipps. I think I have to check this blog more often
Thanks Michael. You are welcome here at anytime
Hi Omer,
Can you tell me a little about social media plugins like Sexy bookmarks or AddtoAny? I notice that you don’t have anything like that here. What’s the deal in terms of load time?
Thanks for the info and the links.
@Ileane
Sexy Bookmarks plugin looks very good, but unfortunately it loads javascript and css files by default in pages that don’t even use them (like your home page for example, where in many cases, social buttons that enable post sharing are not displayed at all).
AddtoAny, however, loads a single javascript file only in pages where it’s used. So it seems to be the better when thinking of blog loading time.
Thanks for sharing, Ileane
I want o add up one more important plugin which is feedburner plugin. A must plugin should had by bloggers
@Fazreen – Do you refer to the FD Feedburner Plugin?
Does this plugin let you customize the way feeds look like or only direct all feeds to feedburner?
Hi Omer,
In found your site as I was doing some research on plugins. I have 22 plugins running and noticed that whenever I try to install another one the dashboard seems to disappear. Sometimes entirely. When I uninstall a plugin the dashboard comes back. Is there a limit to the amount of plugins you can run? I would love to know what would be the bare minimum plugins I should be using with the thesis theme. What do you use? Thanks.
@David – there is no maximum number of plugins that can be installed in WordPress, however, 22 plugins is quite a lot (even though I came across blogs with more plugins than that).
You need to check whether all your plugins are necessary or maybe some of them can be replaced with user functions.
I recommend downloading yslow add-on for firebug and go into components tab. In this tab you can see which js and css files are loaded for different pages in your blog.
When I checked your site using yslow, I saw that you use sexybookmarks, wordtwit, fixed social buttons and pagenavi.
Regarding sexybookmarks, check out my comment to Ileane. WordTwit provides a feature that can already be achieved with Feedburner socialize feature (which means that if you have a feedburner account, you can automatically publish posts as tweets without a plugin).
Fixed social buttons plugins – you can replace it to manual buttons without plugins (see here http://blog.themeforest.net/wordpress/add-social-bookmarks-to-your-wordpress-theme/ ) and make it fixed with some css work.
I don’t know Thesis theme that well to give advice about it.
The plugins I use are – Akismet, All in One SEO Pack, Comment Notifier, Contact Form 7, Google XML Sitemaps, WordPress Database Backup, WP Minify, WP Super Cache. I I also use TweetMeme Retweet Button plugin that can definitely be replaced with short manual code, but I didn’t have the time to look into it.
Please tell me if I can help in anything else, good luck.
Thanks! The manual buttons without plugins link page is now 404′d but just getting rid of wordtwit and fixed social buttons speeded things up tremendously. I’ll be back for more tips.
Usually when you are installing something new and you get a white screen, it is either a php issue with that plugin or you exhausted the memory that can be used by your site. php_value memory_limit
thanks for sharing this Melanie
Thanks for the tips, maybe I will gradually remove some plugin to replace with functions.
@Tek3D – it’s never to late to uninstall redundant plugins and replace them with functions.
@David – that is great. By the way, the link should work now.
Great post.I have all the 5 important plugins as stated by you activated and some other plugins are just installed.I activate them when I actually need them
@Salman – that is effective as well, however, for front end image effect plugins for example, you need a plugin to load only in relevant posts, and for that, it needs to be always activated. thanks for sharing
Man! This is such a useful post. I’ve bookmarked it for now. Will be back to follow the instruction to remove unnecessary plugins another time. Thanks.
thanks Selurus
Hi Omer, I have 22 plugin on my wordpress site but I really haven’t noticed any slow load times. I’m all about speeding things up a bit. I have wp-cache but went and looked at others, one called: quick cache (wp super cache alternative) says it is very fast and a “must have” if I downloaded it would I get rid of my wp super cache and use the quick cache instead, or use them both together? would this be worth trying? thanks Dave
Hi Dave, I wouldn’t install 2 caching plugins unless they really do different things. It’s possible to you have 22 plugins and still running a fast website. Tha is, if most of those plugins are for the back end (admin panels).
thank you very much for the great tips.
You’re welcome, thanks for the link.
Omer, this is great. I went and checked out that top commentator custom code. Can you tell us how to make it so that the top commentator code ignores our own comments? There’s a way to exclude certain commenters (like ourselves) but I don’t know how to do that.
Any help is appreciated. Thanks!
Hey Tia,
I used the code from the following post http://bit.ly/77fVau . It will ignore author comments
AWESOME!! Thank you so much.
Whoops; I just realized that that is the code I had used. I think the issue might be that my first few replies were using a different author email, so that’s why I was showing up. Oy! Will take the time to sort that out later. lol
You’re welcome Tia. If you used a different author, then indeed that must be the reason. Another option you have is to exclude all administrator users from the list. To detect if the user has admin privileges, take a look at the code line here http://bit.ly/lqn0Z .
Just about to Tweet this post as your “hack” resources for NOT using plugins is gold!
Thanks
Glad you like it, Lou. thanks for the tweet
Great article, thank you very much!
Really useful post some of the implemented couple of tips & difference was seen immediately
Thanks Nikunj.
This is a great article and reminder that not every feature in WordPress, much less any other CMS, requires a plugin. I’ve also taken the time to investigate a few ways to optimize WordPress’ header.php file in order to improve loading times and performance. Check it out here, if you like: http://www.brettwidmann.com/2010/01/optimizing-your-wordpress-site-pt-2/
Thank you again for the insightful post.
Brett, you present some important methods for blog performance in your post, thanks for the input!
Hi. I have a question.
Every time i publish a post on my website, which then automatically gets shared on Facebook and Twitter thanks to a plugin (Network Publisher), i get 500 Internal Server Error. I get 20+ users online at that time. What could be the cause?
Before also everything was like this, but i never used to get this 500 error. I’m getting this since last one month. So why now all of a sudden? What has changed?
I have 50 plugins installed of which 32 are active.
wp-useronline/wp-useronline.php
add-to-any/add-to-any.php
afterread/afterRead.php
akismet/akismet.php
all-in-one-seo-pack/all_in_one_seo_pack.php
author-info-widget/wp-plugin-widget-author-info.php
contact-form-7/wp-contact-form-7.php
digg-digg/digg-digg.php
disqus-comment-system/disqus.php
feedburner-plugin/fdfeedburner.php
gd-press-tools/gd-press-tools.php
google-sitemap-generator/sitemap.php
hello.php
keyword-statistics/keyword-statistics.php
landing-sites/landingsites.php
like-button-plugin-for-wordpress/gb_fb-like-button.php
mobilepress/mobilepress.php
my-page-order/mypageorder.php
network-publisher/networkpub.php
related-posts-thumbnails/related-posts-thumbnails.php
sexybookmarks/sexy-bookmarks.php
si-captcha-for-wordpress/si-captcha.php
simple-tags/simple-tags.php
tagmeta/tagmeta.php
thank-me-later/thankmelater.php
visitor-maps/visitor-maps.php
wibiya_for_wordpress.zip/wibiya.php
wp-greet-box/wp-greet-box.php
wp-ispeech/wp-ispeech.php
wp-pagenavi/wp-pagenavi.php
wp-super-cache/wp-cache.php
yet-another-related-posts-plugin/yarpp.php
Any sort of help will be appreciated. Thanks a ton.
Firstain, 500 Internal Server Error is often caused by a mistake in your htaccess file (which is manipulated by wp-super cache plugin you use).
For sure, some of the plugins you use can definitely be replaced with some manual code (like digg and feedburner), and other plugins can be customized to load only when necessary (like pagenavi and wp-contact).
how?
Fistain, to disable scripts and styles from being loaded when not used, you can read this post. To add social media buttons to your blog without plugins, read this one.
Great article, poor title. Less plugins, ouch! It should read: fewer plugins.
Dave, thanks for the remark. As I am not a native English speaker, you can expect a few mistakes. However, I don’t think it’s that critical as long as people find this article in SEs and understand the title.