October 10, 2022 by zeth

Plugin Inflation and Technical Debt

Anyone who has touched a WordPress website knows it needs to be updated. Often.

The core WordPress code itself needs to be updated, any themes or plugins installed need to be updated, and sometimes even one of the core underlying technologies of WordPress – the software language PHP – needs updating. And as Michelle covered in her post about hacking, many of us have had the experience of clicking WordPress’s “Update All” button, shouting “YOLO!” and then crossing our fingers while sweating out a page refresh to see if anything broke with the updates. 

 

The daily update process and verification that we provide with our hosting has taken most of the fear out of that process on our end. We know if the updates break anything the site will put a pin in them and stick with the older version. Still, in order to stay secure, we need to keep things up-to-date, so we like to avoid updates causing havoc on the sites we work with. And currently, we’re working with our clients to update everyone to the new version of PHP 8. The old version, PHP 7.4, will stop being supported in late November (fortunately, our server host WPEngine has vowed to maintain it for the sites on their platform longer than that to give folks a chance to get everything updated).

As we’ve worked through this PHP upgrade, we’re noticing that we’re running into problems updating in the same sites that get tripped up with more run-of-the-mill WordPress updates. Related, these are the same sites that we see running into performance issues simply because there’s too much going on (more plugins = more code = more stuff for your web browser to deal with). What do these sites tend to have in common? I’ll explain that in two phrases: 

Plugin Inflation and Technical Debtwordpress hosting plugins crash help

I’ll be honest – I just made up the phrase “Plugin Inflation” (note: I’m not an economist and can’t speak intelligibly about real inflation, but I’m also not above using a currently popular topic for clickbait). I think of Plugin Inflation as the process of repeatedly throwing plugins on a WordPress site to add bits of functionality. Before you know it, what started as a lean, quick site has inflated into more of a behemoth, with dozens of plugins piled on top of each other.

“Technical Debt” is a real phrase, with a Wikipedia article and everything. They define it as “the implied cost of additional rework caused by choosing an easy (limited) solution now instead of using a better approach that would take longer,” and it’s the natural outcome of Plugin Inflation.

The sites that have problems with updates are usually the ones that are more complicated, which means they typically have more plugins installed. I’m pretty sure right about now you’re saying, “but I don’t want a boring site,” or “I need that functionality,” and I hear you. We don’t want to build boring, useless websites any more than you want one! But there are steps that we can take to make for a more sustainable website when we’re thinking about adding or implementing new functionality.

Before installing the plugin, ask yourself if you really need the functionality you’re adding to your website

I get it – adding functionality to your website is usually fun! But it’s important to ask yourself if it’s bringing value that’s worth the technical debt you’re adding. It might be cool to add a zoomy interactive map of your locations, but if it slows down the site and breaks whenever things get updated, it’s probably not worth it (especially if your users aren’t actually interacting with it).

Don’t get me wrong – sometimes you absolutely do need the functionality. Running an ecommerce site that needs to ship overseas? You’re going to need a plugin (or probably multiple) for that. When that’s the case (and sometimes when the functionality is mostly for fun), it’s time to move to the next step:

Evaluating pluginswordpress hosting and plugin support small business nonprofit

It’s not really possible to completely know which plugins are going to cause issues down the road, but there are a few heuristics that can help:

  • Is it recently updated?
  • Does it have a lot of users?
  • Does it do only (or mostly) the thing I want it to do?

For free plugins from the WordPress repository, the first two are easy to discern. If a plugin has only 10 active installations and hasn’t been updated in 2 years, it’s basically the equivalent of gas station sushi. Maybe it’ll be great, but more likely, you’re going to regret it later. We try to stick with plugins with installations in the thousands (or even millions) that have been updated within the last month or so.

The last bullet might be harder to figure out, but it’s still important. It’s a common scenario to need a plugin for a specific thing (say, adding a map highlighting the 5 states you work in) and then add a plugin that does that plus many other things you won’t use (like comes with 200 other maps, zoom effects, tooltips, country flags, etc.). This might be fine and work out in the end, but if you’re only using 10% of the plugin functionality, your website is still carrying the other 90% around with it, likely making it slower and definitely making it more fragile.   

So if you’ve decided the functionality is needed, the ideal situation is to find a plugin that does only what you’re looking for, does it well, has a large user base (suggesting it works), and is current. Sometimes that’s not available, which brings us to the last option: 

Add Functionality Without a Plugin

This one requires diving in and adding some custom code, which most people hate to do, but I lurve (if it’s not obvious by the time you got here, I’m a big geek). Many times, especially with simpler functionality, the best option is for us to build it ourselves. It’s more work up front, but comes with advantages:

  • It’s slim. We can build it to do the bare minimum of what’s needed, making it less likely to cause site slowdowns or conflicts with other plugins and functionality on the site
  • It’s customized. It does exactly what you need it to do.
  • We understand it. If updating another plugin does happen to conflict with the new functionality, it becomes a lot easier to troubleshoot down the line;

Summing up: Keep it Simple (if you can)

To reiterate, our first question when considering new functionality is always going to be: is it necessary? If something is not going to advance the goals of the site, it’s rarely worth adding the complexity. When it is needed (or sometimes just wanted), we’ll work with our clients to be thoughtful about how it’s implemented, working to keep the site as lean as possible. In a world of escalating (plugin) inflation, nobody wants (technical) debt.

Have something to say?

Leave a Reply

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

Explore More

“Help! My Website’s Been Hacked!” Or, A Case For Great WordPress Hosting & Managed Updates

September 30, 2022 by Michelle

“Help! My website’s been hacked!” I used to get an email with that subject line or something […]

Read Previous

Is It Worth It for Your Business or Nonprofit to Be on Facebook?

October 27, 2022 by Natalie

Since I started doing digital marketing in late 2009, business owners, marketers, and anyone whose job is […]

Read Next