The psychology of WordPress upgrades & plugins

WordCamp Portland was last month. Although WordPress 2.8 has made upgrad­ing one-click easy, there was a lot of shared sen­ti­ment about upgrades and plu­g­ins. These beliefs boil down into two groups and are sum­ma­rized with the fol­low­ing state­ments:

  • I don’t run WordPress with any plu­g­ins what­so­ever because an upgrade to the core of WordPress could break a plu­gin and mess up my site.”
  • I don’t upgrade WordPress because I am not sure which plu­g­ins will break.” This includes the unspo­ken corol­lary that the site is left vul­ner­a­ble to attack if any given upgrade is security-related.

I do not know what other folks are using plu­g­ins for, but on my site, they are grouped into “must-haves” and “fluff.” If any of the must-have plu­g­ins break, the upgrade is a deal-breaker. I won’t do it. If any of the fluff breaks, I could prob­a­bly deal with it. I would not be happy, and would anx­iously be await­ing an upgrade to the bro­ken plu­gin (or research­ing alter­na­tives that do work), but the site would not be down. The trick is to run very few must-have plu­g­ins and make sure they are from reli­able sources that seem to have enough devel­op­ment resources to test against betas and upgrades. That last bit is a tough call for a new­bie — how do you gauge a source’s reli­a­bil­ity? — but it becomes eas­ier with time and expe­ri­ence.

To demon­strate this, let me share with you my must-haves as well as the col­lec­tion of every­thing else. You will see that there are really only two plu­g­ins that, if bro­ken, would badly mess up my site. Those plu­g­ins come from, what seems like to me, trust­wor­thy, reli­able, hard-working sources — sources that would not be a let-down dur­ing big upgrades.

My Must-Haves

These are the must-have plu­g­ins I am run­ning on my site. Your list may vary.

  • Akismet — This is the canon­i­cal spam blocker.
  • OpenID — This allows me to log into other sites using my Netninja login.

Basically, my site (and my access to other sites) would not be func­tion­ing opti­mally with­out either of these two plu­g­ins. I am not wor­ried about Akismet break­ing in an upgrade because the pub­lisher is WordPress. I am also not wor­ried about the OpenID plu­gin break­ing dur­ing an upgrade because it seems to have an active devel­oper com­mu­nity behind it. There are fre­quent bug­fixes and fea­ture enhance­ments, such that I feel they are keep­ing on top of the WordPress 2.9 beta test­ing.

My Must-Haves With Workarounds

These would have gone in the must-have group, but they auto­mate tasks that I am con­fi­dent enough in my skills to man­u­ally per­form, if needed. Of course, I would pre­fer the auto­mated way.

  • Bad Behavior — Another spam blocker. This one is less WordPress-specific and is just a WordPress-plugin-wrapper around a more generic spam-bot catcher. If I had to, I could just fall back to using only Akismet.
  • Maintenance Mode — This plu­gin shows a nice lit­tle mes­sage stat­ing that the site is down for main­te­nance. Previous to this, I would man­u­ally tweak the .htac­cess file to enable HTTP-auth pass­word secu­rity, with the mes­sage “down for main­te­nance,” but this plu­gin is more clean.
  • Twitter Tools — New posts get tweeted. I could always do this man­u­ally or not at all.
  • WP Super Cache — I do not expect to get Slashdotted or Dugg-effected any time soon, but if I did, I can always fall back to the good ol’ .htac­cess redi­rect to a sta­tic file rou­tine. A bit of a pain, yes, but do-able. If you run a higher-traffic site than I, you would prob­a­bly want this in the above sec­tion.


Everything in this sec­tion is icing on the cake. It is UI fluff that makes me happy, but does not func­tion­ally effect the site.

  • After The Deadline — This plu­gin checks spelling and gram­mar. Firefox itself has an inte­grated spellchecker, and I often find my gram­mar is okay.
  • Breadcrumb — This pro­vides a nav­i­ga­tional set of bread­crumbs across the top of “pages” (as opposed to “posts”), show­ing the cat­e­gory hier­ar­chy back to the top.
  • Clean Archives Reloaded — This is a fancy way to get to the archives, but I find peo­ple typ­i­cally arrive at archived pages via search.
  • Extra Sentence Space — I am often anal about print, includ­ing text pub­lished on the inter­net. Something that has always bugged me about HTML is that mul­ti­ple spaces get coa­lesced into a sin­gle space. A sen­tence ends in two spaces! Period! Space-space! This plu­gin pre­vents that double-space-coalescing, tak­ing the two spaces I type into the WordPress edi­tor and mak­ing them two spaces when you read the post.
  • FeedBurner FeedSmith — This plu­gin pro­vides sta­tis­tics for the RSS feed. It’s nerdy and nice to have. I should prob­a­bly review the stats more than I do.
  • Get Comments Count — This plu­gin dis­plays a dynamic image con­tain­ing text like “3 com­ments” in the RSS feed. The RSS con­tent itself stays the same, but the linked image updates to dis­play the num­ber of com­ments. This is mainly a nicety for when the feed gets syn­di­cated to LiveJournal.
  • Google Analytics for WordPress — This inte­grates the blog to my Google Analytics account. That’s another thing I should prob­a­bly be check­ing more often.
  • Google XML Sitemaps — This pro­vides Google with a nice lit­tle con­cise descrip­tion of the web­site, so it does not have to crawl the entire site as often.
  • RSS Footer — To dis­suade con­tent from being stolen by spam­mers and posted on a fake linkblog, this plu­gin pro­vides attri­bu­tion and a link back at the end of each RSS arti­cle.
  • StatPress Reloaded — You would think I had enough stats already. This is a sta­tis­tics plu­gin I actu­ally (some­times) use, pro­vid­ing inte­grated stats and real­time view­ing of traf­fic. It is not as com­pre­hen­sive as Google or Feedburner, but this one I actu­ally remem­ber to check occa­sion­ally.
  • Subscribe To Comments — This allows com­menters to receive email fol­lowups.
  • Wordbook — Most of my LiveJournal and MySpace friends have moved on to Facebook. This updates Facebook with a lit­tle blurb each time I post some­thing new. I may actu­ally drop this soon. At one point in the past Wordbook would include an excerpt and thumb­nail (if your post con­tained a pic­ture), but it is strictly the post’s title now. Twitter-Tools informs Twitter using just the title and a link to the blog post, and my Twitter posts get pushed to Facebook, so Wordbook in its cur­rent form pro­vides very lit­tle any­more.
  • WPtouch iPhone Theme — This is a dynamic theme for the iPhone. If some­one con­nects with their iPhone, this theme auto­mat­i­cally kicks in and makes the user expe­ri­ence opti­mized for that screen and input method.
  • Yet Another Related Posts Plugin — Do you see those “related by key­word” links below? This plu­gin auto­mat­i­cally gen­er­ates those.


I really have very lit­tle expe­ri­ence with themes and upgrad­ing. I started with WordPress 2.6 or 2.7 and a slight cus­tomiza­tion to a free­bie theme. When WordPress added threaded com­ments, they were not prop­erly reflected in my theme, so I just took the basic crappy theme (you know: black text on a white back­ground with that rounded blue rec­tan­gu­lar header at the top, that screams “I did not spend any time cus­tomiz­ing WordPress”) and played around with the CSS file until I got some­thing resem­bling what you see now. Presumably, when WordPress 2.9 arrives, if there are any UI changes, I would have to do the same, which is going to suck.

I would imag­ine if you shelled out money for a pre­mium theme like Thesis, then you should expect a level of qual­ity and ser­vice such that upgrades will “just work.” But again, I have lit­tle expe­ri­ence in this realm and will have to yield to oth­ers’ opin­ions.


To reit­er­ate what I said above, make a list of your plu­g­ins. Cross out any­thing that is not a must-have. You are then left with a list of “if this breaks I’m screwed” plu­g­ins. Is there any­thing on that list that WordPress could not do before, but now includes as inte­grated func­tion­al­ity? Do those plu­g­ins come from reli­able sources or can you not tell? Perhaps stop by Beer & Blog and ask. (Ironically, I’m pimp­ing Beer & Blog here, but have never been there myself due to my Friday sched­ule.) If they do come from less reli­able sources, are there alter­na­tives with sim­i­lar fea­tures but do come from reli­able sources?

Posted in: Code

Published by

Brian Enigma

Brian Enigma is a Portlander, manipulator of atoms & bits, minor-league blogger, and all-around great guy. He typically writes about the interesting “maker” projects he's working on, but sometimes veers off into puzzles, software, games, local news, and current events.

Leave a Reply

Your email address will not be published. Required fields are marked *