5

I have two similar plugins that I am merging into one new plugin, in order to make the plugin more efficeient, and to reduce development time when new features are added. The plugins have similar purposes. Both use shortcodes to display content (media or posts) on a page. The plugins are especially useful on a multisite, as they gather content from some or all of the sub-sites.

The new plugin will combine the existing plugins features and options, making the new one more efficient. Partly by only requiring one plugin instead of two, and to have a common set of plugin options.

There will be no updates of the old plugins; all new features will be in the new plugin.

So I want to notify old plugin users that the new plugin is available (and improved). I am thinking that I could change the description of the old plugin so that a notification of the new plugin is shown on the Plugins screen. And add a link in the old plugin description to the new plugin information.

In addition, if the new plugin is installed, there should be a notice to disable/remove the old ones. So the old plugins need to see if the new one is installed, and if so, display a notice on the Plugins screen.

What would be an approach to do this? I can easily change the description of the plugins to include info/links to the new one, so that info will be seen on the Plugin repository page, as well as the Admin, Plugins page. Is there some guidance on how to 'retire' an old plugin that has been replaced by the new/different plugin?

3

A very helpful question, I think. There are two plugins, for the discussions let's say:

  1. ToBeDeprecated Plugin, and
  2. ToBeUplifted Plugin

There could be many ways, but these are the points that come to my mind first:

Before the Upgrade

Seemless Migration

In the code of the ToBeUplifted plugin, you should ensure a seamless migration process from the ToBeDeprecated plugin to the ToBeUplifted one. Any upgrade script would be fine if there are any breaking changes between the two. If it can't be done automatically, better prepare a field guide, and inform the users way ahead.

Notify Users

Stay ahead, and notify your users that, a major change is imminent. To do so, you can avail all the possible channels you have:

Website

If you have a website for the plugin or plugins, use that to notify your user base about the imminent changes and what might get affected, and how the users can resolve the issue. You can either use a site-wide notice and/or notice on a particular plugin page. You can use the site's News & Notice feature to announce the notice to the end users boldly and officially.

Emails

If you have the list of emails of your userbase, then send an email to them notifying the fact.

Plugin Channels

To avail the plugin channels you would need to provide an update to the ToBeDeprecated plugin with notice(s) to notify the users.

Dashboard

In the ToBeDeprecated Plugin, add a Dashboard Notice or Widget saying your imminent major change.

Admin Notice

In the ToBeDeprecated Plugin, add an Admin Notice saying about your imminent major change. And please don't spam admin notice, let the user close the notice with proper acknowledgment, and don't bother them showing the same notice again and again. But you can add non-dismissable notices in your plugin pages only to make the notice prominent. Plugin MultilingualPress added sitewide admin notice (dismissable) notifying that, from the next major version the plugin will become Premium.

Areas in Plugin page(s)

If your ToBeDeprecated plugin has any idle area, you can utilize that space and can notify the user with a bold notice. You can add the deprecation/migration notice to the useful portion of the plugin too. MultilingualPress added notices to the translation meta box that, the plugin meta box is incompatible with block editor.

Admin bar

In your ToBeDeprecated Plugin, you can use the Admin Bar to display a notifying icon and can redirect the user to your notice page, or you can directly display the notice there. For example, Yoast has a notification menu on the admin bar; with a click, they take users to the plugin's dashboard to notify the user.

in_plugin_update_message-{$file} Hook

Since WordPress 2.8.0 this particular hook is a very important one to notify your users. WooCommerce uses this hook in good ways: WooCommerce Plugin Notice

In your ToBeDeprecated plugin, use the hook, and display a rich notice so that the users of the ToBeDeprecated plugin can be notified and can take action if necessary. You can see WooCommerce's code on how they implemented the notices they are showing. (WordPress Documentation)

After the Upgrade

The ToBeUplifted plugin should auto deactivate the ToBeDeprecated plugin upon activation - as you are also considering. On deactivation, notify the user that, you deactivated the ToBeDeprecated plugin to ensure a better experience with a single plugin from now on.

Notify users

For the first 1 or 2 versions of the ToBeUplifted plugin, you can display a notice about how your single plugin can provide all the features of the ToBeDeprecated plugin - it will build trust in the user-relationship.

Archive ToBeDeprecated Plugin

If you are using the WordPress plugin repository, notify the plugin team to archive/delete your ToBeDeprecated plugin. For Github, Gitlab, etc. you can archive the ToBeDeprecated plugin to notify that, the plugin is discontinued.

Redirect Contents

In your own contents, for example, the website content, issue 301 redirect to all the content regarding the ToBeDeprecated plugin to the contents regarding the ToBeUplifted plugin. Additionally, you can pass URL parameter to display a notice to the user that the ToBeDeprecated plugin is made deprecated in favor of the ToBeUplifted one.

That's all that I can think of for now. Let others say their opinion too.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.