The latest WordPress release, WordPress 6.5, introduced a significant change in the plugin activation process by implementing AJAX requests. This departure from the traditional method of triggering a page refresh during activation sparked discussions in the community, particularly concerning its impact on non-developer users of WordPress.
Activation Process Before and After WordPress 6.5
Previously, activating a plugin would often trigger a page refresh, leading to a seamless transition between activation and configuration. Many plugins require configuration steps before being effectively utilized, often employing onboarding wizards to guide users through setup.
WordPress handled it mostly via three methods – redirecting to the Settings page after activation, displaying a “Settings” link next to the activated plugin in the Plugins list table, and guiding users to the new menu item related to the activated plugin in the WordPress navigation menu. This step-by-step approach helped guide users through the setup process.
However, starting with WordPress 6.5, this will no longer be the case. When a plugin is activated, the page no longer refreshes. Instead, the activation process occurs via an AJAX request, meaning the user remains on the same page without any guidance on what to do next.
Most developers prefer the AJAX request process, as it eliminates the redirection issue during bulk activation. A ticket was opened seven years ago proposing creating a new hook redirect_to_after_activation
exclusively dedicated to handling redirection during individual plugin activation.
Community Response and Recommendations
Automattic-sponsored Jeremy Herve opened a ticket in Trac, and Andrew Palmer (co-founder of Bertha.ai) took to X to bring it to the community’s attention. “Users are now confused as to what to do after installing a plugin,” said Andrew. He suggested reverting the feature. Freemius founder Vova Feldman also called to reverting it.
“Expecting the user to refresh the page first seems like a regression in UX.” said Louis Wolmarans, a developer. Alan Fuller (Fullworks Digital Limited) drew attention to the fact that this may result in users leaving one-star reviews. Alex Panagis (Founder of ScaleMath) tweeted “There’s no way the majority of users would know what to do after watching the active button just “grey” itself out.”
Drew Jaynes’s idea is to “ change the “Activate” button for plugins that register an activation redirect to something like “Start Set Up” or similar that gives an AYS warning when it tries to leave the page.”
Kevin W. Hoffman of WPEngine suggested a “Configure” button for plugins that need to be configured. It can either be a standard link in the Add Plugins search results or the Plugins list table or defined in the plugin header. But the link “should always point to the page where the plugin can be configured, not just for first-time onboarding. If the plugin wants to include logic on that page that detects whether a first-time wizard UX is needed, that’s up to the plugin to decide.” he elaborated.
Ben Keith of 10up proposed another solution – an Admin Notice nag which only goes away once the plugin is configured or deactivated. David Levine of rtCamp also supports this method.
Though on sabbatical, Matt Mullenweg chimed in X “One possible solution: If you click activate on something with un-installed requirements, the following page is just a WP one saying you have to activate this other thing first. So it’s always a single-plugin flow. Likewise as a next step we could show sub-plugins that are now possible to activate when the required parent is activated.”
WooCommerce developer Adrian Duffell shared the effect of this change on WooCommerce “Since the 6.5 release, we are seeing 20% less usage of the setup flows now that it fails to trigger. This is concerning to us because it means a large amount of users never truly start their journey with our plugin despite their intention to do so by activating it.”
As per WordPress Core Committer Aaron Jorbin, this issue is being targeted for 6.5.3 scheduled for 7 May. He recommended providing a framework that is more advanced than the existing register_activation_hook
.