GPL prohibits restricting the code in any way. You can restrict the support or non GPL parts of the plugin (images/css) to a single domain but you can’t restrict the GPL code to a single domain.
MATT MULLENWEG’s response to the same question:

Related Posts:
- Open Source plugin and requires licence
- GPL and plugins
- Create plugin with 3rd party MIT license code
- Does releasing a plugin under the AGPL force people to open source their whole WordPress installation?
- Licensing: Can I include SWFs without source in a plugin released on wordpress.org?
- Licensing of freemium plugin
- Is license need for free wordpress plugin
- Best way to maintain and update 3rd-party WP plugin when developer is unresponsive?
- Can I put in Github the code of a abandoned plugin I want to fork?
- Can I use Symfony components in a plugin that I want to submit to the WordPress plugin repository?
- Custom license for WordPress plugin
- Is it fair to use MIT licensed code in WordPress plugins? [closed]
- Can i legally remove a credit from a free plugin on wordpress.org? [closed]
- Licensing options for WordPress Plugins
- Licensing a Plugin [closed]
- How come W3TC is allowed to host premium code in the WordPress repo?
- best way to handle subscriptions with a licence?
- Modify plugin and submit to directory
- From a legal perspective, is it okay to customize a plugin’s code?
- Make a plugin work on specified domain only
- How to Replicate Elementor Licensing Model
- Need a WordPress license manager plugin
- Add menu page issues (permissions & position)
- How to put Word documents online so they can be downloaded, printed and read via a web page? [closed]
- What is the best way for showing a grid of customer logos?
- How can I show a different theme for admin users? WP 3.8+
- Is there any way to make myself an admin?
- Plugin Theme CSS [closed]
- General questions re: WordPress and WP plugins [closed]
- populating a form field with output from a custom plugin function
- Using ‘mysqli_connect’ ‘crashes’ WordPress client-side
- Short messages widget [closed]
- Yoast Force Rewrite Crashed Site [closed]
- Fetch Data from other website in wordpress (screen scraping)
- Is there a way to add custom endpoint to specific page only
- IF condition based on wp_remote_get output
- shortcode not return any thing in Gutnburg
- Change in one place the data about the company, which are placed on several pages
- How do I add a plugin dependency to my customized theme?
- How WordPress core manage the plugin installation
- Flickering sidebar when scrolling page [closed]
- wp_trash_post hook – problem with page updating if using wp_die
- Storing The Data Collected by Ninja Forms into Another (custom) Database [closed]
- Add action to custom Function
- “Allowed memory size” problem [closed]
- count the number of views of a post excluding own views
- rewrite file to wordpress
- WordPress Url setting
- When Installing a Plugin Where do I Move Template Files to?
- What would make the plugin update process to complete but don’t report as such?
- AZindex related help needed
- WordPress slider that allows image, headline, text, and button?
- Favorite recent post widget
- Woo-commerce Update price as a Bulk from My offline software export
- co-authors plugin – inline listing
- require_once not working in plugin wordpress
- Quiz with complex output/result
- Using Class loader in WordPress boilerplate
- Identify User Language, Redirect to the corresponding page and Save the chosen language as Cookie
- Warning: call_user_func_array() problem can anyone help with it?
- Display value of the GET parameter in a new URL page
- How do I use a plugin’s shortcode attribute value in another function?
- Change the address of the music player if not available
- Hello everyone! Is there a function to call the wordpress loader?
- $wpdb->insert not working inside save_post tag
- How to check for already existing plugin versions on activation? and prevent errors
- update_post_meta is not working for me when I use e.preventDefault for update button
- Securing langugae folder
- Use modulo condition in ACF repeater Field
- jQuery works instead of $
- How to get data from a private API and add it to wordpress pages
- Why is my Footnotes plugin is not working?
- Debug in WP backend
- Geotargeting plugins never work
- Plugin management with my custom plugin
- How to allow editors to only edit certain categories?
- Woocommerce categories displayed on every category and shopping page
- How to pass value from WordPress to Javascript
- How to get custom or filtered endpoints in WordPress API?
- add_external_rule – rules deleted when visiting permalinks page
- Change pages based on city
- WordPress 4.1 plugin only save 1 field to database
- How to run my plugin only when the whole page is sent?
- WordPress custom posttype meta values doesnot save
- Why tinyMCE.editors doesnt work on tinyMCE
- Ajax Not Working If The Handler is Located Outside Plugin Submenu Page Function
- get_var result empty for query of custom table in plugin admin
- WordPress include scripts and style in plugin page
- get_option include in my adsense
- woocommerce product categories in menu [closed]
- Book plugin to record books read and write my own reviews [closed]
- On the same site, how do I send data from a plugin file to a theme file?
- additional fields based on the quantity of products selected
- Conflicting plugins break site
- Implementing onSplit/onMerge in dynamic Gutenberg Custom Blocks
- Get list of outdated plugins in the rest api?
- How do I know if an archive correspond to a custom post type taxonomy?
- How to change the version of block.js and plugin to the same of Package.json?
- Warning “Attempt to read property ‘feeds’ on null” using post update function
- How to Remove Default Category Metabox in Custom Post Types