First off, if you’re following this series as a non-WordPress developer, you might skip out on this particular entry, as it’s very WordPress-oriented. Might I suggest finding something else on the blog?
Most WordPress sites reach their full potential using a variety of plugins for additional functionality. From Advanced Custom Fields to Gravity Forms to Yoast SEO to MonsterInsights, there are tons of ways to extend your WordPress site. Many of these plugins exist because of fabulous developers making their work available for other folks. WordPress prides itself on being easy to contribute to, both to core and in the form of plugins.
The merits of this whole system notwithstanding, it introduces some dangers to your WordPress site. The plugin repository is full of plugins that aren’t particularly well developed. Some are even abandoned, but remain in the directory to prevent breaking any old websites using them. Ultimately, you’re running code from a developer you don’t know.
How Plugins Create Slow WordPress Websites
How Can You Ensure Your Plugins Aren’t Slowing Down Your Website?
Glad you asked! The following is paraphrased from the Sterner Stuff “WordPress for Small Business Owners” course. It covers step-by-step instructions for cleaning up the plugins on your WordPress website. Prefer to take the entire free course? Sign up today!
Before You Begin
If you have a dedicated developer on your website that manages these kinds of things and you talk to on occasion, don’t touch plugins! I block my clients from even seeing them. We install plugins for a variety of reasons, some of which may be unclear to you. Furthermore, we (should be) well aware of the risks of outdated plugins and should be proactively monitoring those that we install.
If you choose to take the following steps in spite of that warning, please don’t blame me when your develop yells at you!
Finally, if you are paying a developer on a regular basis but want to proceed with today’s lesson because you don’t feel confident they are aware of the intricacies of plugin support, you should probably find a different developer. Your website is an integral part of your business, and you should have full trust in the person running it.
With those warnings out of the way, let’s get cracking.
Step 0: Take a Backup
If you don’t have a backup solution configured, you should reconsider taking the entire “WordPress for Small Business Owners” course.
Step 1: Delete Inactive Plugins
Inactive plugins only provide an opportunity for a vulnerability to exist. Delete them now.
Step 2: Look for Overlapping Plugins
A lot of people accidentally install several plugins that do the same thing. Furthermore, they’re often only using one of them without really knowing which one. If you see some plugins installed on your site that look like they could be doing this, deactivate one. Then review your website, looking specifically for things you could guess that plugin is in charge of. Plugin for a media player? Look for places you would have video or music. Social sharing plugin? Check anywhere you’d expect to see a Facebook button.
If things look good, you can probably delete the plugin. If not, reactivate that plugin and do the same with the other.
Step 3: Look for Abandoned Plugins
Sometimes a developer has a great idea for a plugin. They release version 1, maybe version 2, but then they go silent. This can happen for a number of reasons. The developer no longer needs the plugin, so stops development. WordPress core might have added that functionality. Or maybe a competitor came along with a better plugin, and folks just use that one now. It could even be as simple as disinterest in responding to scores of entitled support requests (sidebar: You should be polite when requesting plugin support).
WordPress recognizes that this is a bit of an issue, so they take a few precautions. When adding plugins from your WordPress dashboard, abandoned plugins are heavily deprioritized in search results. Similarly, they put a handy warning at the top of the plugin details page at https://wordpress.org/plugins:
Sorry to throw you under the bus there, Toby.
So let’s start checking the plugins you have installed for these abandoned plugins. One by one, go ahead and click “View Details”.
The modal that pops up won’t actually show the warning we’re looking for. It might say “This plugin hasn’t been tested with your version of WordPress”, but that can often be safely ignored. You will, however, see the last updated date. If that’s over two years ago, this is a problem plugin. You can also click to visit the WordPress.org Plugin Page, where you’ll see the warning from above for old plugins. Go ahead and start a list of all these plugins, if you have any.
Step 4: Check Reviews
Did you find that a lot of your plugins are still maintained? Bully!
But we’re not out of the woods. Just because a plugin is updated doesn’t mean it’s any good! Time to poll the community.
For the plugins that haven’t made your naughty list, go ahead and click through to their details like in the picture above. From this page, you should see a section for ratings. Time to start clicking through some of these. Here are some things to keep in mind:
- 1 star reviews tend to be off-the-cuff, poorly researched, and often don’t say a whole lot about the plugin. Spend time with the 2s and 3s.
- Look for complaints about performance and reliability, not about missing functionality. That only affects you if you need the missing functionality.
- Plugin authors have every opportunity to respond to ratings, so look into that.
- Very few ratings, in addition to very few downloads, might be a sign that there’s a better way to do what you’re doing, or a better plugin with more traffic out there. It could also just be obscure functionality, so consider your use case as well!
Spend as much or as little time here as you like, and if something sticks out as questionable, add it to your list.
I’ll be honest: I spend very little time looking at plugin ratings. As a digital consultant, I know lots of developers, and tend to trust their opinions over those of the community. However, for you, this is going to be a better resource than none.
Step 5: The Great Purge
Just in case, I’ll say it again. If you have a developer you regularly work with on your website, do not proceed with this step! At most, send them the list we’ve created and express your concerns. They should respond to you promptly.
For the rest of you, take your list of questionable plugins and start doing some research into alternatives. It isn’t always fun or easy, but it does keep your site secure and performant. Look for plugins that have been updated recently with lots of downloads and positive reviews. Ultimately, this is going to come down to using your best judgement.
Only do one plugin at a time. Then carefully evaluate your website to see where things might have broken, if at all.
Before activating a new plugin and deactivating an old one, it might be a good time to take another one of those nifty backups! Most plugins don’t catastrophically break a site, and a plugin can almost always be reactivated to pick up where you left off if need be.
And that’s it! Bask in the security.
Some plugins get their functionality from widgets or shortcodes or other elements that you ultimately get to decide where to use. A replacement plugin is almost guaranteed not to use the exact same shortcode format, or register a widget with the same ID. You’ll want to review your posts and widgets for places where you need to reconfigure your new plugin. This can be particularly time-consuming for shortcodes, as they could be in any of your posts or pages, and there isn’t a great way to look for them en masse.
If you’ve got a problem plugin, but are worried your content is littered with shortcodes it provides, consult a developer.
Ready for more?
The next post in the “Fix My Slow Website!” series will focus on caching and CDNs. The focus will be on solutions for non-developers, and will also pull heavily from the “WordPress for Small Business Owners” course. Want to know as soon as it goes live? Sign up for the Sterner Stuff newsletter below!