WordPress plugins do not have to be bloated resource hogs

The blog was getting timeouts when I posted or scheduled an article. After much gnashing of teeth, I discovered the culprit was an incredibly ill-mannered WordPress plugin called Blackbird Pie. This seemingly innocuous plugin displays a tweet in a post, but does so by insane amounts of database queries.

From the WordPress forums

It turns out this plugin is returning all registered users on the site, looping through them and retrieving the meta data for each using a separate query for each and storing this on every page load, simply to check and see if there’s a stored twitter handle available for the post author of the current post in the loop.

It’s really kind of appalling that a plugin can be that sloppily written with no apparent concern for overhead and processing time.

2 Comments

  1. If the scripts would load asynchronously then there wouldn’t be a problem with most of the scripts (aka plug-ins, widets, etc.). So like in your issue with Blackbird Pie, it wouldn’t bog down the rest of the page and yes you would have to wait until the script loaded to see the content that the script loaded, but the rest of the page would be there for you to see while it’s waiting on the script to display the twitter stuff. Very sloppy programming indeed. I won’t even go into the w3c validation errors that wordpress is notorious for. But if you want to pull out more hair, try checking your pages at http://validator.w3.org

  2. Polizeros only had a few errors on the validator. I try to run clean code with as few plugins as possible. My major plugins are W3 Total Cache, WordPress SEO, Backup Buddy, Disqus, and WP Touch Pro (mobile site.)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.