Yes, even though our plugins are tested, they can still crash. This is a shame and we are happy to fix these problems! This specific error means that the plugin can't communicate with the public AJAX endpoint of WordPress, or that there are javascript errors in the page that prevent the plugin from launching properly.
First: Update + Clear Cache
Before we look at possible causes and solution, first update the plugin the latest version and clear the cache on your site if you are using any Caching plugins or CDN systems. Perhaps the issue is caused by a bug in the plugin which is already solved, and clearing the cache will make sure that no old files are loaded by your site.
Causes and Solutions
-
Cause: Caching or CDN Aggressively Caching JavaScript Files
If you're using caching or CDN systems/plugins that aggressively cache JavaScript files, outdated versions may be loaded.
Solution: Purge the cache to ensure the latest JavaScript files from the plugin are used. -
Cause: ReCaptcha Integration Conflicts
The ReCaptcha feature in the plugin might be causing the issue in cases when invalid keys are used.
Solution: Disable the ReCaptcha integration temporarily to see if it resolves the problem. If it does, you may need to adjust the settings. -
Cause: JavaScript Errors in the Browser
Sometimes, JavaScript errors on the page can prevent the plugin to initiate properly.
Solution: Open the browser’s developer console, reload the page, and check for any JavaScript errors in the log. -
Cause: GZIP Compression Enabled in Plugin
Enabling GZIP compression in the plugin can cause encoding issues on some servers preventing the browser to understand the data it receives.
Solution: Disable the 'Enable GZIP Compression' setting in the 'Advanced' tab of the plugin's options page.
-
Cause: Security/Firewall Plugin Blocking AJAX Requests
Some security or firewall plugins may block access to WordPress’s public AJAX endpoint.
Solution: Temporarily disable the security or firewall plugin. If the issue is resolved, adjust the plugin settings to allow access to the AJAX endpoint. -
Cause: Custom Code in functions.php Redirecting Users
Custom code using e.g. theadmin_init
hook for non-admin roles can interfere with public AJAX calls. For example, some custom code is added to block subscriber roles from anything related to admin functionality and inadvertently blocks the public endpoint of/wp-admin/admin-ajax.php
as well.
Solution: Check yourfunctions.php
file for any code that redirects users based on theadmin_init
hook. Ensure it also checks forwp_doing_ajax()
and allows public requests if necessary.
If this all doesn't help, please enable the WP_DEBUG setting in the wp-config.php file of your WordPress installation with the following settings:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', false);
define( 'WP_DEBUG_LOG', true );
(make sure that WP_DEBUG is only listed once in the file!)
After this, please trigger the same issue again and take a look at the wp-content/debug.log file. Are there any errors logged caused by the plugin?
If the error messages don't help you to solve the problem, or if you don't see any error messages at all, feel free to submit a support ticket and attach the debug.log file.