I am a premium plugin developer for about two years and only had the thought of protecting my code for a glance of a second for two reasons.
First, as a freelance developer and client of other premium products, I was and am always suspicious about encrypted parts in the code and rather remove such a plugin and ask for a refund if possible.
Second, as stated by Samuel Elh, I too believe in support and updates to give value to customers.
Depending on the platform, they probably have tutorials on how to handle license keys. I am using Easy Digital Downloads’ Software Licensing and they provided this info and sample codes.
It can always happen that someone copies/steals or optimizes your code, but copying an image and additional value (like helpful support) is rather hard.
You should also be aware that making your product depend on a call to an external database adds the question of performance to the table. Anything “calling home” is a huge risk on both ends.
Related Posts:
- REST-API: extend media-endpoint
- Create or Update thousands of woocommerce products via PHP
- Best way to hook a custom url?
- How can I add an options page for my class based plugin?
- Sending WP posts to external API
- How to modify WCMP Rest API response?
- wp_remote_get() returns 403 while file_get_contents() does not
- Great blogs site resources/tutorial for WordPress Developers? [closed]
- Integrating boxtal PHP library into a custom WordPress Plugin
- is it possible to fetch data from a remote api while admin is writing a new post?
- One time call to external API in widget
- wp_remote_post To external API multiple values with the same key
- How to use information from the database in the front-end?
- create web service for android app using wordpress website
- API Functions to Register and Show WordPress List Tables
- How can I send api calls from my plugin?
- Is it possible to create post in wordpress using postman?
- move setting data from wordpress api to codestar freamwork
- Error 400 Invalid “products[1].productId” Kinguin [closed]
- Prevent duplicate records in plugin table
- Send Custom welcome email to specific user group
- woocommerce payment gateway callback not firing [closed]
- Fetch Children of Grouped Products Inside WooCommerce Product Loop
- White page by using filter template_include
- How to fetch products with the price in a page on woocommerce using a form or live search with php
- Making a Template for a CPT created by a plugin
- Woocommerce dependent plugin
- WordPress.org Plugin Directory doesn’t recognise screenshots [closed]
- External CSS in WordPress Plugin [closed]
- How to use JSON data from URL into table on my wordpress website
- How to check current user before all actions and filters?
- Owl Carousel2 image not displaying full width when using Stretch row and content, Stretch row and content(no padding) in wordpress
- User Session and Stored Cookies not get removed
- New databes tables with – WooCommerce – for developers [closed]
- How can I prevent my plugin go development trunk [closed]
- Plugin-generated pages use Not Found or Pages Archive templates?
- How can I make 2 plugins that include different versions of a framework to both use the latest version?
- creating html reusable blocks via shortcodes
- Add Plugin options as subpage to Theme options page
- Is there any kind of theme on WordPress to sell my own movies?
- Image upload and download from front-end
- Create a navbar filter that filters by a custom field
- Change commission_status paid when withdraw_status vendor is completed
- Passing an array from shortcode-function to filter-function
- custom payment gateway in woocommerce failed to connect to remote api server
- Single API call exposed via shortcode with params
- Plugin options page with live preview?
- Using SVN to upload plugin created with gutenberg blocks
- Force quit running background job
- Modifying Author Link to add Author Meta in URL
- How to output CMB2 select options from repeated groups select elements?
- Creating a Callback URL for WordPress Woocommerce to update Order Status
- Get Time Taken By Each Action Hook in WordPress
- How to export post 2 posts WordPress plugin data [closed]
- 306 MB of wp_options occupied by WordPress SEO Plugin, is that normal? [closed]
- WordPress plugin creation how to execute .sql in order to insert multiple rows at activation of plugin
- Best way to maintain and update 3rd-party WP plugin when developer is unresponsive?
- get 404 when accessing wp-admin/plugin-install.php
- What can be reason for no plugin-strings available under stable section on translate.wordpress.org?
- Plugin: register_deactivation_hook works perfectly well, while register_activation_hook suddenly stopped working
- Are functions in main plugin file called before function bound to register_activation_hook runs?
- Limit post creation by role
- I want to auto populate data in three fields if one drop down is selected
- Best place for if/else piece of code related to custom plugin?
- How do you assign a UUID to posts/products/comments/reviews?
- Best way to initiate a class in a WP plugin?
- correct way to include a library(and its dependent libraries) in wordpress development
- How does task scheduler plugin implements cron that is not dependent on page load request? [closed]
- Issue Tracker from pre exsisting table [closed]
- How to make a implement queue for scheduling tasks in WordPress?
- Session destroyed on page redirect
- WordPress Plugin [closed]
- wp.media javascript issue with on select
- Is there a way to test that readme looks in other language before submitting translation?
- What are the specifics of WordPress development I need to know? [closed]
- Insert data from .sql file in wordpress plugin
- WP_Async_Task doesn’t appear to be running asynchronously
- jQuery for custom plugin not working with Divi theme
- How can I make my metabox appear?
- Ajax call returning 0
- How can i get the post’s full html source by its ID?
- How to set add question capability for author role in wp pro quiz plugin
- Consolidate plugin functionality into a theme
- What would I need to write into a custom plugin in order to add a switch for a custom string of CSS to the edit page?
- Force file download on plugin activation
- How to inform the user that the save was not successful?
- php page not found for plugin options menu
- qTranslate remove default directory from link
- How to update post’s content on post publish?
- Homemade plugin while using Themify Ultra
- How to deal with WordPress and Pocket API to automate content curation on my hosted wordpress blog? [closed]
- How to disable search as you type plugin suggestions?
- Custom plugin init action causing general slowness
- Set plugin-values when creating post via REST-API
- WP All Import – Execute Imports
- WordPress Backend HA (Automatic failover)
- Checkbox conflict in my custom plugin admin page
- How to replace WordPress Media Upload Window with user’s device window?
- Conditional attributes and logic per product category
- Buidling a translate plugin for wordpress