Making good plugin choices

About a dozen colorful wires on a large switchboard with dials and switches

I’ve often said that a WooCommerce site built with more than 25 plugins was built wrong. That’s somewhat of a shock tactic in getting folks to take responsibility for their plugin decisions. It’s also quite true, though perhaps not with such an explicit number given that plugins vary in size and impact.

Each plugin consumes resources and slows down a site, particularly on weaker hosting. Plugins can also clog-up the database by caching a bunch of data or storing oversized settings inside the wp_options table, even if the plugin is later removed. I’ve seen plugins leave whole custom DB tables behind. Worst are the autoload=yes settings that chew up RAM with every page request.

It’s very important to test plugins first on a clone (dev, staging) environment and never on production.

Plugin decisions tell me a lot about how the site was put together.

When I see very standard framework-type plugins being used I feel better about the quality of the site’s structure. To use a construction analogy — the bones are good. For example, WooCommerce, Advanced Custom Fields, Gravity Forms, Elementor, Gutenberg, Contact Form 7, JetPack, and of course the official WooCommerce extensions.

When I see outdated community plugins or more especially third party Pro plugins that try to do a bunch of nonstandard stuff I know the quality is dubious. That’s when I hear about plugin updates severely breaking the site in the past, those twice-shy trepidations from those having been once-bitten (if not more).

Worse yet, plugins that bundle their own licensing models. I’m talking about you WP Bakery, Advanced Custom Fields Pro, Elementor Pro, Divi, Slider Revolution, and so many more. If you see a folder inside of a plugin called Freemius then run! In these cases you’re activating functionality for the plugin to update itself based on a license you have, and it won’t even function on a clone environment where you need to be doing your development and testing. Plus this is an indication the plugin is not GPL compliant or compatible with WordPress licensing.

I’ve got some more interesting research data for you! I counted the WordPress and WooCommerce hooks (actions and filters) utilized by popular plugins. The average is 195 each. That means that with each and every plugin you have there’s 195 overrides that YOU – the webmaster – are responsible for understanding and maintaining.

Try running 50 plugins and being responsible for 50 websites. That’s nearly half a million customizations minus the overlap of plugins used between those sites. Interested in plugin reduction yet?

Plugin NameActionsFiltersTotal
ACF Pro193140333
AMP177138315
Akismet341448
Beaver Builder220124344
Caldera Forms138100238
Classic Editor131225
Code Snippets261036
Cookie Law Info27633
Contact Form 76856124
Custom Fonts161127
CPT UI402262
Divi Builder387299686
Elementor19184275
Elementor Pro195105300
Envato Market381957
FacetWP404181
Flexible Shipping12248170
Google Analytics Dash431154
Gravity Forms15296248
Gutenberg v7552075
JetPack12266351861
MailChimp for Woo10830138
MailChimp for WP10034134
Nav Menu Roles9918
Optin Monster701888
Post Duplicator10313
Redirection221941
Redux Framework8218100
Responsive Menu13114
SendGrid251944
Simple Social Icons628
Slider Revolution512273
Social Pug9067157
Sucuri Scanner51152
UpDraft Plus10356159
User Switching14721
Virtual Composer195210405
Widget Visibility639
Woo Admin9459153
Woo Amazon Pay561773
Woo Authorize.Net12643169
Woo Braintree11754171
Woo Cost of Goods Sold8043123
Woo Dynamic Pricing393372
Woo Facebook57562
Woo Memberships338225563
Woo Mix and Match8486170
Woo Order Export13821
Woo PayPal Checkout501161
Woo Points/Rewards7727104
Woo Print Invoices…533083
Woo Product Bundles139192331
Woo Product Vendors13792229
Woo Services583088
Woo Shortcodes543387
Woo Smart Coupons219139358
Woo Smart Coupons219139358
Woo Stripe8540125
Woo Subscriptions503304807
Woo Variation Swatches23730
WooCommerce623264887
WordFence13145176
WP Crontrol639
WP Forms Lite19867265
WP Optimize64771
Yoast SEO279111390
AVERAGES12570195
Numbers of WordPress hooks (actions and filters) found in popular plugins / extensions