On My Own

A Personal Journal
by Davood Denavi

What Developers Could Streamline With Pro Plugins

I have always wondered why some developers of premium themes and plugins require a secondary plugin, which is typically free, to add premium functionality to their product using a license key. Perhaps you have too.

I’ve been developing websites for close to two decades. In that time I’ve used many self-hosted platforms including but not limited to WordPress, Joomla, and Drupal. This paradigm – of making the user download a whole second plugin – makes no logical sense to me. I will explain why using three examples of plugins: Elementor Pro, WP Mail SMTP, and Gravity Forms.

Let’s start by looking at Elementor Pro. The team over at Elementor requires website owners to keep the free version installed and activated when adding the Pro add on. I understand that the original idea behind having a pro version of their plugin was to add designs. However, they have since become the king, so to speak, of page builder plugins for WordPress. As a result of this status, they have also added functionality to their Pro add-on that requires a license.

I spent some time comparing a few of the files in their Pro add-on to files with the same name in the free version. It turns out they were exactly the same. If I were overseeing the development of the pro version of their product, I would have a license key that is the default when the plugin is installed from the WordPress.org Plugin Library. This default license key would offer only the free features; then, when a website owner pays for the pro version, they would just enter in a product key that would give them the functionality they have paid for on top of the free version, not as a whole second copy of the plugin.

Now let’s look at how WP Mail SMTP handles the free versus pro licensing. They use a paradigm closer to how I would handle it, but still add extra steps that are unnecessary. Once you buy the pro version of their plugin, you have to remove the free version from your site. The problem I have with this paradigm is that many website owners who are working with a developer who is inexperienced – or not working with a developer at all – might not uninstall the free version of the plugin instead leaving it installed and disabled. This is a security risk on many levels because even though the free version is disabled the code is being duplicated.

Last, I’d like to discuss how Gravity Forms has done things since they started in 2008. They are essentially the king of the forms plugins space for WordPress. They are a plugin that comes as a Pro plugin; there is no free version in the WordPress.org library.

So you may be wondering why I would include Gravity Forms in this discussion, since they don’t even have a free and pro version. Simple: They have a number of add-ons for things such as connecting your forms to PayPal or Stripe that they include with a license. I understand that not every website will use all these add-ons, but if they do, it raises an issue.

Specifically, their paradigm of requiring website owners or their developers to log in on GravityForms.com to download an add-on then go back and install the plugin in WordPress is not the best. Those hoops to install an add-on for something such as setting up a form to accept payments are unnecessary. Instead, they should be making the functionality available based on the license that has been paid for, using toggles to enable or disable the functionality on a form-by-form basis.

To sum up, oftentimes developers of pro versions make you download and install the free version, then download and install the pro right alongside it. This is a needless runaround that makes more work for everybody, and just adds to the volume of code weighing down your website.Β