{"id":3666,"date":"2020-01-28T17:22:51","date_gmt":"2020-01-29T01:22:51","guid":{"rendered":"https:\/\/codedcommerce.com\/?p=3666"},"modified":"2024-04-10T11:58:55","modified_gmt":"2024-04-10T18:58:55","slug":"making-good-plugin-choices","status":"publish","type":"post","link":"https:\/\/codedcommerce.com\/making-good-plugin-choices\/","title":{"rendered":"Making good plugin choices"},"content":{"rendered":"\n<p class=\"has-drop-cap wp-block-paragraph\">I&#8217;ve often said that a WooCommerce site built with more than 25 plugins was built wrong. That&#8217;s somewhat of a shock tactic in getting folks to take responsibility for their plugin decisions. It&#8217;s also quite true, though perhaps not with such an explicit number given that plugins vary in size and impact.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 <em>wp_options<\/em> table, even if the plugin is later removed. I&#8217;ve seen plugins leave whole custom DB tables behind. Worst are the <em>autoload=yes<\/em> settings that chew up RAM with every page request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s very important to test plugins first on a clone (dev, staging) environment and never on production.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Plugin decisions tell me a lot about how the site was put together.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When I see very standard framework-type plugins being used I feel better about the quality of the site&#8217;s structure. To use a construction analogy &#8212; the bones are good. For example, WooCommerce, Advanced Custom Fields, Gravity Forms, Elementor, Gutenberg, Contact Form 7, JetPack, and of course the <a href=\"https:\/\/automattic.pxf.io\/c\/4304928\/1946431\/22744\" data-type=\"link\" data-id=\"https:\/\/automattic.pxf.io\/c\/4304928\/1946431\/22744\" target=\"_blank\" rel=\"noreferrer noopener\">official WooCommerce extensions<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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&#8217;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).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Worse yet, plugins that bundle their own licensing models. I&#8217;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&#8217;re activating functionality for the plugin to update itself based on a license you have, and it won&#8217;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 <a href=\"https:\/\/wordpress.org\/about\/license\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"WordPress licensing (opens in a new tab)\">WordPress licensing<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;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 <strong>195 each<\/strong>. That means that with each and every plugin you have there&#8217;s 195 overrides that YOU \u2013 the webmaster \u2013 are responsible for understanding and maintaining.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Try running 50 plugins and being responsible for 50 websites. That&#8217;s nearly <strong>half a million customizations<\/strong> minus the overlap of plugins used between those sites. Interested in plugin reduction yet?<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Plugin Name<\/strong><\/th><th><strong>Actions<\/strong><\/th><th><strong>Filters<\/strong><\/th><th><strong>Total<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>ACF Pro<\/strong><\/td><td>193<\/td><td>140<\/td><td>333<\/td><\/tr><tr><td><strong>AMP<\/strong><\/td><td>177<\/td><td>138<\/td><td>315<\/td><\/tr><tr><td><strong>Akismet<\/strong><\/td><td>34<\/td><td>14<\/td><td>48<\/td><\/tr><tr><td><strong>Beaver Builder<\/strong><\/td><td>220<\/td><td>124<\/td><td>344<\/td><\/tr><tr><td><strong>Caldera Forms<\/strong><\/td><td>138<\/td><td>100<\/td><td>238<\/td><\/tr><tr><td><strong>Classic Editor<\/strong><\/td><td>13<\/td><td>12<\/td><td>25<\/td><\/tr><tr><td><strong>Code Snippets<\/strong><\/td><td>26<\/td><td>10<\/td><td>36<\/td><\/tr><tr><td><strong>Cookie Law Info<\/strong><\/td><td>27<\/td><td>6<\/td><td>33<\/td><\/tr><tr><td><strong>Contact Form 7<\/strong><\/td><td>68<\/td><td>56<\/td><td>124<\/td><\/tr><tr><td><strong>Custom Fonts<\/strong><\/td><td>16<\/td><td>11<\/td><td>27<\/td><\/tr><tr><td><strong>CPT UI<\/strong><\/td><td>40<\/td><td>22<\/td><td>62<\/td><\/tr><tr><td><strong>Divi Builder<\/strong><\/td><td>387<\/td><td>299<\/td><td>686<\/td><\/tr><tr><td><strong>Elementor<\/strong><\/td><td>191<\/td><td>84<\/td><td>275<\/td><\/tr><tr><td><strong>Elementor Pro<\/strong><\/td><td>195<\/td><td>105<\/td><td>300<\/td><\/tr><tr><td><strong>Envato Market<\/strong><\/td><td>38<\/td><td>19<\/td><td>57<\/td><\/tr><tr><td><strong>FacetWP<\/strong><\/td><td>40<\/td><td>41<\/td><td>81<\/td><\/tr><tr><td><strong>Flexible Shipping<\/strong><\/td><td>122<\/td><td>48<\/td><td>170<\/td><\/tr><tr><td><strong>Google Analytics Dash<\/strong><\/td><td>43<\/td><td>11<\/td><td>54<\/td><\/tr><tr><td><strong>Gravity Forms<\/strong><\/td><td>152<\/td><td>96<\/td><td>248<\/td><\/tr><tr><td><strong>Gutenberg v7<\/strong><\/td><td>55<\/td><td>20<\/td><td>75<\/td><\/tr><tr><td><strong>JetPack<\/strong><\/td><td>1226<\/td><td>635<\/td><td>1861<\/td><\/tr><tr><td><strong>MailChimp for Woo<\/strong><\/td><td>108<\/td><td>30<\/td><td>138<\/td><\/tr><tr><td><strong>MailChimp for WP<\/strong><\/td><td>100<\/td><td>34<\/td><td>134<\/td><\/tr><tr><td><strong>Nav Menu Roles<\/strong><\/td><td>9<\/td><td>9<\/td><td>18<\/td><\/tr><tr><td><strong>Optin Monster<\/strong><\/td><td>70<\/td><td>18<\/td><td>88<\/td><\/tr><tr><td><strong>Post Duplicator<\/strong><\/td><td>10<\/td><td>3<\/td><td>13<\/td><\/tr><tr><td><strong>Redirection<\/strong><\/td><td>22<\/td><td>19<\/td><td>41<\/td><\/tr><tr><td><strong>Redux Framework<\/strong><\/td><td>82<\/td><td>18<\/td><td>100<\/td><\/tr><tr><td><strong>Responsive Menu<\/strong><\/td><td>13<\/td><td>1<\/td><td>14<\/td><\/tr><tr><td><strong>SendGrid<\/strong><\/td><td>25<\/td><td>19<\/td><td>44<\/td><\/tr><tr><td><strong>Simple Social Icons<\/strong><\/td><td>6<\/td><td>2<\/td><td>8<\/td><\/tr><tr><td><strong>Slider Revolution<\/strong><\/td><td>51<\/td><td>22<\/td><td>73<\/td><\/tr><tr><td><strong>Social Pug<\/strong><\/td><td>90<\/td><td>67<\/td><td>157<\/td><\/tr><tr><td><strong>Sucuri Scanner<\/strong><\/td><td>51<\/td><td>1<\/td><td>52<\/td><\/tr><tr><td><strong>UpDraft Plus<\/strong><\/td><td>103<\/td><td>56<\/td><td>159<\/td><\/tr><tr><td><strong>User Switching<\/strong><\/td><td>14<\/td><td>7<\/td><td>21<\/td><\/tr><tr><td><strong>Virtual Composer<\/strong><\/td><td>195<\/td><td>210<\/td><td>405<\/td><\/tr><tr><td><strong>Widget Visibility<\/strong><\/td><td>6<\/td><td>3<\/td><td>9<\/td><\/tr><tr><td><strong>Woo Admin<\/strong><\/td><td>94<\/td><td>59<\/td><td>153<\/td><\/tr><tr><td><strong>Woo Amazon Pay<\/strong><\/td><td>56<\/td><td>17<\/td><td>73<\/td><\/tr><tr><td><strong>Woo Authorize.Net<\/strong><\/td><td>126<\/td><td>43<\/td><td>169<\/td><\/tr><tr><td><strong>Woo Braintree<\/strong><\/td><td>117<\/td><td>54<\/td><td>171<\/td><\/tr><tr><td><strong>Woo Cost of Goods Sold<\/strong><\/td><td>80<\/td><td>43<\/td><td>123<\/td><\/tr><tr><td><strong>Woo Dynamic Pricing<\/strong><\/td><td>39<\/td><td>33<\/td><td>72<\/td><\/tr><tr><td><strong>Woo Facebook<\/strong><\/td><td>57<\/td><td>5<\/td><td>62<\/td><\/tr><tr><td><strong>Woo Memberships<\/strong><\/td><td>338<\/td><td>225<\/td><td>563<\/td><\/tr><tr><td><strong>Woo Mix and Match<\/strong><\/td><td>84<\/td><td>86<\/td><td>170<\/td><\/tr><tr><td><strong>Woo Order Export<\/strong><\/td><td>13<\/td><td>8<\/td><td>21<\/td><\/tr><tr><td><strong>Woo PayPal Checkout<\/strong><\/td><td>50<\/td><td>11<\/td><td>61<\/td><\/tr><tr><td><strong>Woo Points\/Rewards<\/strong><\/td><td>77<\/td><td>27<\/td><td>104<\/td><\/tr><tr><td><strong>Woo Print Invoices\u2026<\/strong><\/td><td>53<\/td><td>30<\/td><td>83<\/td><\/tr><tr><td><strong>Woo Product Bundles<\/strong><\/td><td>139<\/td><td>192<\/td><td>331<\/td><\/tr><tr><td><strong>Woo Product Vendors<\/strong><\/td><td>137<\/td><td>92<\/td><td>229<\/td><\/tr><tr><td><strong>Woo Services<\/strong><\/td><td>58<\/td><td>30<\/td><td>88<\/td><\/tr><tr><td><strong>Woo Shortcodes<\/strong><\/td><td>54<\/td><td>33<\/td><td>87<\/td><\/tr><tr><td><strong>Woo Smart Coupons<\/strong><\/td><td>219<\/td><td>139<\/td><td>358<\/td><\/tr><tr><td><strong>Woo Smart Coupons<\/strong><\/td><td>219<\/td><td>139<\/td><td>358<\/td><\/tr><tr><td><strong>Woo Stripe<\/strong><\/td><td>85<\/td><td>40<\/td><td>125<\/td><\/tr><tr><td><strong>Woo Subscriptions<\/strong><\/td><td>503<\/td><td>304<\/td><td>807<\/td><\/tr><tr><td><strong>Woo Variation Swatches<\/strong><\/td><td>23<\/td><td>7<\/td><td>30<\/td><\/tr><tr><td><strong>WooCommerce<\/strong><\/td><td>623<\/td><td>264<\/td><td>887<\/td><\/tr><tr><td><strong>WordFence<\/strong><\/td><td>131<\/td><td>45<\/td><td>176<\/td><\/tr><tr><td><strong>WP Crontrol<\/strong><\/td><td>6<\/td><td>3<\/td><td>9<\/td><\/tr><tr><td><strong>WP Forms Lite<\/strong><\/td><td>198<\/td><td>67<\/td><td>265<\/td><\/tr><tr><td><strong>WP Optimize<\/strong><\/td><td>64<\/td><td>7<\/td><td>71<\/td><\/tr><tr><td><strong>Yoast SEO<\/strong><\/td><td>279<\/td><td>111<\/td><td>390<\/td><\/tr><\/tbody><tfoot><tr><td><strong>AVERAGES<\/strong><\/td><td><strong>125<\/strong><\/td><td><strong>70<\/strong><\/td><td><strong>195<\/strong><\/td><\/tr><\/tfoot><\/table><figcaption class=\"wp-element-caption\">Numbers of WordPress hooks (actions and filters) found in popular plugins \/ extensions<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Plugin decisions tell me a lot about how the site was put together. 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&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2071,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[52047,635718626],"tags":[],"class_list":["post-3666","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-wordpress-guides"],"jetpack_featured_media_url":"https:\/\/codedcommerce.com\/wp-content\/uploads\/2019\/04\/john-barkiple-539580-unsplash-scaled.jpg","_links":{"self":[{"href":"https:\/\/codedcommerce.com\/wp-json\/wp\/v2\/posts\/3666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codedcommerce.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codedcommerce.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codedcommerce.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codedcommerce.com\/wp-json\/wp\/v2\/comments?post=3666"}],"version-history":[{"count":0,"href":"https:\/\/codedcommerce.com\/wp-json\/wp\/v2\/posts\/3666\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codedcommerce.com\/wp-json\/wp\/v2\/media\/2071"}],"wp:attachment":[{"href":"https:\/\/codedcommerce.com\/wp-json\/wp\/v2\/media?parent=3666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codedcommerce.com\/wp-json\/wp\/v2\/categories?post=3666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codedcommerce.com\/wp-json\/wp\/v2\/tags?post=3666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}