Everyone who’s worked with WordPress falls in love with this free, open source blogging / content management system. The engineers who created WordPress gave it the ability to be skinned with themes and you can now find a million themes for your blog. Or with a little effort you can write your own theme as I did for http://www.robmiracle.com. But the engineers gave us something more: Plugins.
Plugins are ways to add additional functionality to your website using WordPress. Like themes it seems like there are a million plugins available. As with any community contributed add on: themes, plugins etc., some are better than others. Some are rock stars and some are lemons. For plugins, WordPress maintains an “app store” for the lack of a better term, where you can find and download (and starting with 2.7 of WordPress install automatically).
Adding a plugin is so easy:
- Login to your admin interface
- Click on Plugins in the left hand menu
- Click on Add New
- Enter what you are interested in finding in the Search field
- Browse the results. The 5 star rating system is pretty good!
- Click on the plugin you are interested in
- Click on Install
- Click on Activate
- Make any preference changes, most likely under Settings
And just like that, you have added features to your blog. The process is so easy you may find yourself adding and adding plugins because there is so much good stuff out there.
Use the 5 star rating to help determine the lemons from the rock stars!
Do you want random quotes in your sidebar? You can have them. Do you want to have quote marks turned into fancy quote marks without you doing any work? You can have that too. Fancy animated tag cloud? Easy forms? Show your latest tweets? Its all there for you.
But there’s a price to pay
Plugins are crack. You get addicted to them and before you know it you’ve sold your blog soul to the plugin devil.
Plugins kill your page load time
There are multiple studies on how people view web sites. But basically for every 10 seconds it takes your page to load, you loose 20% of your audience. Some studies say you have 7 seconds to get a readers attention and try to hold it. 5-10 seconds doesn’t sound like a long time, but its an eternity when someone is waiting to hear your message.
On both this blog and my photo portfolio site, I had installed a plugin recently called wp-Typography. It converted boring quotes to fancy quotes, figured out the right size dashs, managed wrapping text, hypenation and so on. It had a fairly high rating, 5 stars no less.
The plugin works by wrapping your page in some code and then it filters the text based on rules that you setup.
I recently switched hosting providers and I started seeing some long page load times in the 10-15 second range. A couple of viewers complained about the load time as well. I started to try and track down the problem and I opened a trouble ticket with the hosting company. Naturally I blamed them, they were “new” in the system.
So it was either an Apache (the web server) issue or a database issue (MySQL) since WordPress uses the database quite heavily. My tests showed that even a non-Wordpress page that accessed the same database was very fast, so I ruled out both Apache and MySQL as the cause.
What was left? WordPress. A friend suggested that it may be a recently installed plugin causing the issues. I took a few moments and went through all of the plugins that I really didn’t have to have, deactivating them, reloading the page measuring the time. wp-Typography was the first one I turned off. The 10+ second load on the index.php file dropped to 4 seconds.
I clearly need to find a way to only have plugins load on certain pages. For instance, I use the highly recommended “Contact 7” for my contact form. It only needs to load on the contact page. There should be no DB queries or any CSS or JS injection on pages I’m not using it on, but with the WordPress architecture its a problem and there are no good solutions at the moment.
The moral of the story: Install only the plugins you need. Make sure you have caching on.